Skip to content

Latest commit

 

History

History
321 lines (237 loc) · 32.2 KB

File metadata and controls

321 lines (237 loc) · 32.2 KB

Nota: Este archivo fue traducido automáticamente. ¡Las mejoras de traducción son bienvenidas!

Comet Opik logo
Opik

Observabilidad, evaluación y optimización de la IA de código abierto

Opik le ayuda a crear, probar y optimizar aplicaciones de IA generativa que funcionen mejor, desde el prototipo hasta la producción. Desde chatbots RAG hasta asistentes de código y sistemas de agentes complejos, Opik proporciona seguimiento, evaluación y optimización automática de indicaciones y herramientas integrales para eliminar las conjeturas en el desarrollo de la IA.

SDK de Python Licencia Construcción

Sitio webComunidad SlackTwitterRegistro de cambiosDocumentación


Captura de pantalla de la plataforma Opik (miniatura)

🚀 ¿Qué es Opik?

Opik (creado por Comet) es una plataforma de código abierto diseñada para optimizar todo el ciclo de vida de las aplicaciones LLM. Permite a los desarrolladores evaluar, probar, monitorear y optimizar sus modelos y sistemas agentes. Las ofertas clave incluyen:

  • Observabilidad integral: seguimiento profundo de las llamadas de LLM, registro de conversaciones y actividad de los agentes.
  • Evaluación avanzada: evaluación rápida y sólida, LLM como juez y gestión de experimentos.
  • Listo para producción: paneles de control escalables y reglas de evaluación en línea para producción.
  • Opik Agent Optimizer: SDK dedicado y conjunto de optimizadores para mejorar las indicaciones y los agentes.
  • Opik Guardrails: funciones que le ayudarán a implementar prácticas de IA seguras y responsables.

Las capacidades clave incluyen:

  • Desarrollo y seguimiento:

    • Realice un seguimiento de todas las llamadas y seguimientos de LLM con un contexto detallado durante el desarrollo y la producción (Quickstart).
    • Amplias integraciones con terceros para una fácil observabilidad: integre perfectamente con una lista cada vez mayor de marcos, admitiendo muchos de los más grandes y populares de forma nativa (incluidas incorporaciones recientes como Google ADK, Autogen y Flowise AI). (Integraciones)
    • Anote trazas y tramos con puntuaciones de retroalimentación a través del Python SDK o el UI.
    • Experimente con indicaciones y modelos en Prompt Playground.
  • Evaluación y pruebas:

  • Monitoreo y optimización de la producción:

    • Registrar grandes volúmenes de trazas de producción: Opik está diseñado para escalar (más de 40 millones de trazas/día).
    • Supervise las puntuaciones de los comentarios, los recuentos de seguimiento y el uso de tokens a lo largo del tiempo en el Panel de Opik.
  • Utilice Reglas de evaluación en línea con métricas de LLM-as-a-Judge para identificar problemas de producción.

    • Aproveche Opik Agent Optimizer y Opik Guardrails para mejorar y proteger continuamente sus aplicaciones LLM en producción.

[!CONSEJO] Si está buscando funciones que Opik no tiene hoy, presente una nueva solicitud de función 🚀


🛠️ Instalación del servidor Opik

Haga funcionar su servidor Opik en minutos. Elige la opción que mejor se adapta a tus necesidades:

Opción 1: Comet.com Cloud (más fácil y recomendada)

Acceda a Opik al instante sin ninguna configuración. Ideal para inicios rápidos y mantenimiento sin complicaciones.

👉 Cree su cuenta Comet gratuita

Opción 2: Opik autohospedado para control total

Implemente Opik en su propio entorno. Elija entre Docker para configuraciones locales o Kubernetes para escalabilidad.

Autohospedaje con Docker Compose (para pruebas y desarrollo local)

Esta es la forma más sencilla de ejecutar una instancia local de Opik. Tenga en cuenta el nuevo script de instalación ./opik.sh:

En entorno Linux o Mac:

# Clonar el repositorio de Opik
git clone https://github.com/comet-ml/opik.git

# Navegar al repositorio
cd opik

# Inicie la plataforma Opik
./opik.sh

En el entorno Windows:

# Clonar el repositorio de Opik
git clone https://github.com/comet-ml/opik.git

# Navegar al repositorio
cd opik

# Inicie la plataforma Opik
powershell -ExecutionPolicy ByPass -c ".\\opik.ps1"

Perfiles de servicio para desarrollo

Los scripts de instalación de Opik ahora admiten perfiles de servicio para diferentes escenarios de desarrollo:

# Iniciar la suite Opik completa (comportamiento predeterminado)
./opik.sh

# Iniciar solo servicios de infraestructura (bases de datos, cachés, etc.)
./opik.sh --infra

# Iniciar infraestructura + servicios backend
./opik.sh --backend

# Habilitar barandillas con cualquier perfil
./opik.sh --guardrails # Guardrails con la suite Opik completa
./opik.sh --backend --guardrails # Guardrails con infraestructura + backend

Utilice las opciones --help o --info para solucionar problemas. Dockerfiles ahora garantiza que los contenedores se ejecuten como usuarios no root para mejorar la seguridad. Una vez que todo esté en funcionamiento, podrá visitar localhost:5173 en su navegador. Para obtener instrucciones detalladas, consulte la Guía de implementación local.

Autohospedaje con Kubernetes y Helm (para implementaciones escalables)

Para implementaciones autohospedadas de producción o de mayor escala, Opik se puede instalar en un clúster de Kubernetes utilizando nuestro diagrama Helm. Haga clic en la insignia para obtener la Guía de instalación de Kubernetes usando Helm.

Kubernetes

[!IMPORTANTE] Cambios de la versión 1.7.0: consulte el registro de cambios para obtener actualizaciones importantes y cambios importantes.

💻 SDK del cliente Opik

Opik proporciona un conjunto de bibliotecas cliente y una API REST para interactuar con el servidor Opik. Esto incluye SDK para Python, TypeScript y Ruby (a través de OpenTelemetry), lo que permite una integración perfecta en sus flujos de trabajo. Para obtener referencias detalladas de API y SDK, consulte la Documentación de referencia del cliente de Opik.

Inicio rápido del SDK de Python

Para comenzar con el SDK de Python:

Instale el paquete:

# instalar usando pip
pip install opik

# o instalar con uv
uv pip install opik

Configure el SDK de Python ejecutando el comando opik configure, que le solicitará la dirección de su servidor Opik (para instancias autohospedadas) o su clave API y espacio de trabajo (para Comet.com):

opik configure

[!CONSEJO] También puede llamar a opik.configure(use_local=True) desde su código Python para configurar el SDK para que se ejecute en una instalación local autohospedada, o proporcionar la clave API y los detalles del espacio de trabajo directamente para Comet.com. Consulte la documentación del SDK de Python para obtener más opciones de configuración.

Ahora está listo para comenzar a registrar seguimientos utilizando el SDK de Python.

📝 Registro de seguimientos con integraciones

La forma más sencilla de registrar seguimientos es utilizar una de nuestras integraciones directas. Opik admite una amplia gama de marcos, incluidas incorporaciones recientes como Google ADK, Autogen, AG2 y Flowise AI:

Integración Descripción Documentación
ADK Seguimientos de registros para el kit de desarrollo de agentes de Google (ADK) Documentación
AG2 Seguimientos de registros para llamadas AG2 LLM Documentación
Suite de IA Seguimientos de registros para llamadas de aisuite LLM Documentación
Agno Seguimientos de registros para llamadas al marco de orquestación del agente Agno Documentación
Antrópico Seguimientos de registros para llamadas de Anthropic LLM Documentación
Autogen Seguimientos de registros para flujos de trabajo agentes de Autogen Documentación
lecho de roca Seguimientos de registros para llamadas de Amazon Bedrock LLM Documentación
AbejaAI (Python) Seguimientos de registros para llamadas al marco del agente BeeAI Python Documentación
AbejaAI (Mecanografiado) Seguimientos de registros para llamadas al marco del agente BeeAI TypeScript Documentación
BytePlus Seguimientos de registros para llamadas de BytePlus LLM Documentación
IA de los trabajadores de Cloudflare Seguimientos de registros para llamadas de IA de trabajadores de Cloudflare Documentación
Coherir Seguimientos de registros para llamadas de Cohere LLM Documentación
TripulaciónAI Registro de seguimientos para llamadas de CrewAI Documentación
Cursores Seguimientos de registros para conversaciones del cursor Documentación
Búsqueda profunda Seguimientos de registros para llamadas de DeepSeek LLM Documentación
Dificar Seguimientos de registros para ejecuciones del agente Dify Documentación
DSPY Seguimientos de registros para ejecuciones de DSPy Documentación
Fuegos artificiales AI Seguimientos de registros para llamadas LLM de Fireworks AI Documentación
Fluir IA Seguimientos de registros para el constructor visual LLM de Flowise AI Documentación
Géminis (Python) Registro de seguimientos para llamadas de Google Gemini LLM Documentación
Géminis (Mecanografiado) Seguimientos de registros para llamadas del SDK de TypeScript de Google Gemini Documentación
Groq Seguimientos de registros para llamadas de Groq LLM Documentación
Barandillas Seguimientos de registros para validaciones de Guardrails AI Documentación
Pajar Seguimientos de registros para llamadas de Haystack Documentación
Puerto Seguimientos de registros para las pruebas de evaluación comparativa del puerto Documentación
Instructor Seguimientos de registros para llamadas LLM realizadas con Instructor Documentación
LangChain (Python) Seguimientos de registros para llamadas de LangChain LLM Documentación
LangChain (JS/TS) Seguimientos de registros para llamadas LangChain JavaScript/TypeScript Documentación
LangGraph Seguimientos de registros para ejecuciones de LangGraph Documentación
flujo de lengua Seguimientos de registros para el constructor visual de IA de Langflow Documentación
LiteLLM Seguimientos de registros para llamadas al modelo LiteLLM Documentación
Agentes LiveKit Seguimientos de registros para llamadas al marco del agente LiveKit Agents AI Documentación
LlamaIndice Seguimientos de registros para llamadas de LlamaIndex LLM Documentación
Mastra Seguimientos de registros para llamadas al marco de trabajo de flujo de trabajo de Mastra AI Documentación
Marco del agente de Microsoft (Python) Seguimientos de registros para llamadas de Microsoft Agent Framework Documentación
Marco del agente de Microsoft (.NET) Seguimientos de registros para llamadas de Microsoft Agent Framework .NET Documentación
Mistral IA Seguimientos de registros para llamadas de Mistral AI LLM Documentación
n8n Seguimientos de registros para ejecuciones de flujos de trabajo n8n Documentación
Novita AI Seguimientos de registros para llamadas de Novita AI LLM Documentación
Ollamá Seguimientos de registros para llamadas de Ollama LLM Documentación
OpenAI (Python) Seguimientos de registros para llamadas de OpenAI LLM Documentación
OpenAI (JS/TS) Seguimientos de registros para llamadas OpenAI JavaScript/TypeScript Documentación
Agentes de OpenAI Seguimientos de registros para llamadas del SDK de agentes OpenAI Documentación
OpenClaw Seguimientos de registros para ejecuciones de agentes de OpenClaw Documentación
Enrutador abierto Seguimientos de registros para llamadas de OpenRouter LLM Documentación
OpenTelemetría Seguimientos de registros para llamadas admitidas por OpenTelemetry Documentación
Interfaz de usuario web abierta Seguimientos de registros para conversaciones OpenWebUI Documentación
Pipecat Registro de seguimientos para llamadas de agentes de voz en tiempo real de Pipecat Documentación
Predibase Seguimientos de registros para llamadas de Predibase LLM Documentación
IA pidántica Seguimientos de registros para llamadas de agentes de PydanticAI Documentación
Ragas Seguimientos de registros para evaluaciones de Ragas Documentación
Núcleo semántico Seguimientos de registros para llamadas al kernel semántico de Microsoft Documentación
Smolagentes Seguimientos de registros para agentes de Smolagents Documentación
IA de primavera Seguimientos de registros para llamadas al marco Spring AI Documentación
Agentes de hebras Registro de seguimiento de llamadas de agentes de Strands Documentación
Juntos IA Seguimientos de registros para llamadas de Together AI LLM Documentación
SDK de IA de Vercel Seguimientos de registros para llamadas de Vercel AI SDK Documentación
Agente Volt Seguimientos de registros para llamadas al marco del agente VoltAgent Documentación
WatsonX Seguimientos de registros para llamadas de IBM watsonx LLM Documentación
xAI Grok Seguimientos de registros para llamadas de xAI Grok LLM Documentación

[!CONSEJO] Si el marco que está utilizando no figura en la lista anterior, no dude en abrir un problema o enviar un PR con la integración.

Si no está utilizando ninguno de los marcos anteriores, también puede utilizar el decorador de la función track para registrar seguimientos:

import opik

opik.configure(use_local=True) # Ejecutar localmente

@opik.track
def my_llm_function(user_question: str) -> str:
    # Tu código LLM aquí

    devolver "Hola"

[!CONSEJO] El decorador de pistas se puede utilizar junto con cualquiera de nuestras integraciones y también se puede utilizar para realizar un seguimiento de llamadas a funciones anidadas.

🧑‍⚖️ Métricas de LLM como juez

El SDK de Python Opik incluye una serie de LLM como métricas de evaluación para ayudarle a evaluar su solicitud de LLM. Obtenga más información al respecto en la documentación de métricas.

Para usarlos, simplemente importe la métrica relevante y use la función score:

from opik.evaluation.metrics import Hallucination

metric = Hallucination()
score = metric.score(
    input="¿Cuál es la capital de Francia?",
    output="París",
    context=["Francia es un país de Europa."]
)
imprimir (partitura)

Opik también incluye una serie de métricas heurísticas prediseñadas, así como la capacidad de crear las suyas propias. Obtenga más información al respecto en la documentación de métricas.

🔍 Evaluación de sus solicitudes de LLM

Opik le permite evaluar su solicitud de LLM durante el desarrollo a través de Conjuntos de datos y Experimentos. El panel de Opik ofrece gráficos mejorados para experimentos y un mejor manejo de trazas grandes. También puede ejecutar evaluaciones como parte de su canal de CI/CD utilizando nuestra integración de PyTest.

⭐ Destacarnos en GitHub

Si encuentra útil Opik, ¡considere darnos una estrella! Su apoyo nos ayuda a hacer crecer nuestra comunidad y continuar mejorando el producto.

Gráfico del historial de estrellas

🤝 Contribuyendo

Hay muchas maneras de contribuir a Opik:

Para obtener más información sobre cómo contribuir a Opik, consulte nuestras directrices de contribución.