Skip to content

Latest commit

 

History

History
322 lines (238 loc) · 34.5 KB

File metadata and controls

322 lines (238 loc) · 34.5 KB

Aviso: este arquivo foi traduzido automaticamente usando IA. Contribuições para melhorar a tradução são bem-vindas!

Comet Opik logo
Opik

Plataforma de observabilidade, avaliação e otimização de IA de código aberto

O Opik ajuda você a construir, testar e otimizar aplicações de IA generativa que funcionam melhor, do protótipo à produção. De chatbots RAG a assistentes de código e pipelines agentes complexos, o Opik fornece rastreamento abrangente, avaliação e otimização automática de prompts e ferramentas para eliminar as suposições no desenvolvimento de IA.

Python SDK License Build

WebsiteComunidade SlackTwitterChangelogDocumentação


Opik platform screenshot (thumbnail)

🚀 O que é o Opik?

Opik (desenvolvido pela Comet) é uma plataforma open-source projetada para simplificar todo o ciclo de vida de aplicações LLM. Ela capacita desenvolvedores a avaliar, testar, monitorar e otimizar seus modelos e sistemas agentes. As principais ofertas incluem:

  • Observabilidade abrangente: rastreamento detalhado de chamadas LLM, registro de conversas e atividade de agentes.
  • Avaliação avançada: avaliação robusta de prompts, LLM-como-juiz e gerenciamento de experimentos.
  • Pronto para produção: painéis de monitoramento escaláveis e regras de avaliação online para produção.
  • Opik Agent Optimizer: SDK dedicado e conjunto de otimizadores para melhorar prompts e agentes.
  • Opik Guardrails: recursos para ajudar a implementar práticas de IA seguras e responsáveis.

Principais capacidades incluem:

  • Desenvolvimento & Rastreamento:

    • Rastreie todas as chamadas LLM e traces com contexto detalhado durante o desenvolvimento e em produção (Quickstart).
    • Integrações extensas de terceiros para observabilidade: integre facilmente com uma lista crescente de frameworks, suportando muitos dos maiores e mais populares nativamente (incluindo adições recentes como Google ADK, Autogen e Flowise AI). (Integrations)
    • Anote traces e spans com pontuações de feedback via o Python SDK ou a UI.
    • Experimente prompts e modelos no Prompt Playground.
  • Avaliação & Testes:

  • Monitoramento de Produção & Otimização:

    • Faça log de grandes volumes de traces de produção: o Opik é projetado para escala (40M+ traces/dia).
    • Monitore pontuações de feedback, contagem de traces e uso de tokens ao longo do tempo no Painel Opik.
    • Utilize Regras de Avaliação Online com métricas de LLM-como-juiz para identificar problemas em produção.
    • Utilize o Opik Agent Optimizer e o Opik Guardrails para melhorar continuamente e proteger suas aplicações LLM em produção.

Tip

Se você está procurando recursos que o Opik ainda não oferece, por favor abra uma nova solicitação de recurso 🚀


🛠️ Instalação do Servidor Opik

Coloque seu servidor Opik em funcionamento em minutos. Escolha a opção que melhor atende às suas necessidades:

Opção 1: Comet.com Cloud (Mais fácil e recomendado)

Acesse o Opik instantaneamente sem qualquer configuração. Ideal para começar rápido e sem manutenção.

👉 Crie sua conta gratuita na Comet

Opção 2: Hospede o Opik para ter Controle Total

Implemente o Opik em seu próprio ambiente. Escolha entre Docker para setups locais ou Kubernetes para escalabilidade.

Self-Hosting com Docker Compose (para Desenvolvimento Local e Testes)

Esta é a forma mais simples de obter uma instância local do Opik em execução. Observe o novo script de instalação ./opik.sh:

No ambiente Linux ou Mac:

# Clone o repositório Opik
git clone https://github.com/comet-ml/opik.git

# Navegue até o repositório
cd opik

# Inicie a plataforma Opik
./opik.sh

No ambiente Windows:

# Clone o repositório Opik
git clone https://github.com/comet-ml/opik.git

# Navegue até o repositório
cd opik

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

Perfis de serviço para desenvolvimento

O script de instalação do Opik agora suporta perfis de serviço para diferentes cenários de desenvolvimento:

# Iniciar suíte completa do Opik (comportamento padrão)
./opik.sh

# Iniciar apenas serviços de infraestrutura (bancos de dados, caches etc.)
./opik.sh --infra

# Iniciar infraestrutura + serviços backend
./opik.sh --backend

# Habilitar guardrails com qualquer perfil
./opik.sh --guardrails # Guardrails com a suíte completa do Opik
./opik.sh --backend --guardrails # Guardrails com infraestrutura + backend

Use as opções --help ou --info para solucionar problemas. Os Dockerfiles agora garantem que os containers sejam executados como usuários não-root para maior segurança. Quando tudo estiver em execução, acesse localhost:5173 no seu navegador! Para instruções detalhadas, veja o Guia de Implantação Local.

Self-Hosting com Kubernetes & Helm (para Implantações Escaláveis)

Para implantações de produção ou em maior escala, o Opik pode ser instalado em um cluster Kubernetes usando nosso chart Helm. Clique no badge para o Guia de Instalação Kubernetes via Helm.

Kubernetes

Important

Versão 1.7.0 — Alterações: Verifique o changelog para atualizações importantes e mudanças que quebram compatibilidade.

💻 SDK Cliente Opik

O Opik fornece um conjunto de bibliotecas cliente e uma API REST para interagir com o servidor Opik. Isso inclui SDKs para Python, TypeScript e Ruby (via OpenTelemetry), permitindo integração fluida em seus fluxos de trabalho. Para referências de API e SDK, consulte a Documentação de Referência do Cliente Opik.

Início Rápido com o SDK Python

Para começar com o SDK Python:

Instale o pacote:

# instalar usando pip
pip install opik

# ou instalar com uv
uv pip install opik

Configure o SDK Python executando o comando opik configure, que solicitará o endereço do servidor Opik (para instâncias self-hosted) ou sua chave de API e workspace (para Comet.com):

opik configure

Tip

Você também pode chamar opik.configure(use_local=True) do seu código Python para configurar o SDK para execução local self-hosted, ou fornecer a chave de API e workspace diretamente para Comet.com. Consulte a documentação do SDK Python para mais opções de configuração.

Agora você está pronto para começar a registrar traces usando o SDK Python.

📝 Registro de Traces com Integrações

A maneira mais fácil de registrar traces é usar uma de nossas integrações diretas. O Opik suporta uma ampla gama de frameworks, incluindo adições recentes como Google ADK, Autogen, AG2 e Flowise AI:

Integração Descrição Documentação
ADK Registra traces para Google Agent Development Kit (ADK) Documentação
AG2 Registra traces para chamadas LLM do AG2 Documentação
Agent Spec Registra traces para chamadas do Agent Spec Documentação
AIsuite Registra traces para chamadas LLM do AIsuite Documentação
Agno Registra traces para chamadas do framework de orquestração Agno Documentação
Anthropic Registra traces para chamadas LLM da Anthropic Documentação
Autogen Registra traces para fluxos de trabalho agentic do Autogen Documentação
Bedrock Registra traces para chamadas LLM do Amazon Bedrock Documentação
BeeAI (Python) Registra traces para chamadas do framework de agentes BeeAI (Python) Documentação
BeeAI (TypeScript) Registra traces para chamadas do framework de agentes BeeAI (TS) Documentação
BytePlus Registra traces para chamadas LLM do BytePlus Documentação
Cloudflare Workers AI Registra traces para chamadas do Cloudflare Workers AI Documentação
Cohere Registra traces para chamadas LLM da Cohere Documentação
CrewAI Registra traces para chamadas do CrewAI Documentação
Cursor Registra traces para conversas do Cursor Documentação
DeepSeek Registra traces para chamadas LLM do DeepSeek Documentação
Dify Registra traces para execuções de agentes do Dify Documentação
DSPY Registra traces para execuções do DSPy Documentação
Fireworks AI Registra traces para chamadas LLM do Fireworks AI Documentação
Flowise AI Registra traces para o construtor visual Flowise AI Documentação
Gemini (Python) Registra traces para chamadas LLM do Google Gemini Documentação
Gemini (TypeScript) Registra traces para chamadas do SDK TypeScript do Google Gemini Documentação
Groq Registra traces para chamadas LLM do Groq Documentação
Guardrails Registra traces para validações do Guardrails AI Documentação
Haystack Registra traces para chamadas do Haystack Documentação
Harbor Registra traces para avaliações de benchmark do Harbor Documentação
Instructor Registra traces para chamadas LLM feitas com Instructor Documentação
LangChain (Python) Registra traces para chamadas LLM do LangChain Documentação
LangChain (JS/TS) Registra traces para chamadas do LangChain em JavaScript/TypeScript Documentação
LangGraph Registra traces para execuções do LangGraph Documentação
Langflow Registra traces para o construtor visual Langflow Documentação
LiteLLM Registra traces para chamadas de modelos via LiteLLM Documentação
LiveKit Agents Registra traces para chamadas do framework de agentes LiveKit Documentação
LlamaIndex Registra traces para chamadas LLM do LlamaIndex Documentação
Mastra Registra traces para chamadas do framework de workflows Mastra Documentação
Microsoft Agent Framework (Python) Registra traces para chamadas do Microsoft Agent Framework Documentação
Microsoft Agent Framework (.NET) Registra traces para chamadas .NET do Microsoft Agent Framework Documentação
Mistral AI Registra traces para chamadas LLM do Mistral AI Documentação
n8n Registra traces para execuções de workflows n8n Documentação
Novita AI Registra traces para chamadas LLM do Novita AI Documentação
Ollama Registra traces para chamadas LLM do Ollama Documentação
OpenAI (Python) Registra traces para chamadas LLM da OpenAI Documentação
OpenAI (JS/TS) Registra traces para chamadas da OpenAI em JavaScript/TypeScript Documentação
OpenAI Agents Registra traces para chamadas do SDK OpenAI Agents Documentação
OpenClaw Registra traces para execuções de agentes OpenClaw Documentação
OpenRouter Registra traces para chamadas LLM do OpenRouter Documentação
OpenTelemetry Registra traces para chamadas compatíveis com OpenTelemetry Documentação
OpenWebUI Registra traces para conversas no OpenWebUI Documentação
Pipecat Registra traces para chamadas de agentes de voz em tempo real do Pipecat Documentação
Predibase Registra traces para chamadas LLM do Predibase Documentação
Pydantic AI Registra traces para chamadas de agentes PydanticAI Documentação
Ragas Registra traces para avaliações Ragas Documentação
Semantic Kernel Registra traces para chamadas do Microsoft Semantic Kernel Documentação
Smolagents Registra traces para agentes Smolagents Documentação
Spring AI Registra traces para chamadas do framework Spring AI Documentação
Strands Agents Registra traces para chamadas de agentes Strands Documentação
Together AI Registra traces para chamadas LLM do Together AI Documentação
Vercel AI SDK Registra traces para chamadas via Vercel AI SDK Documentação
VoltAgent Registra traces para chamadas do framework de agentes VoltAgent Documentação
WatsonX Registra traces para chamadas LLM do IBM watsonx Documentação
xAI Grok Registra traces para chamadas LLM do xAI Grok Documentação

Tip

Se o framework que você está usando não estiver na lista, sinta-se à vontade para abrir uma issue ou enviar um PR com a integração.

Se você não estiver usando nenhum dos frameworks acima, também pode usar o decorador track para registrar traces:

import opik

opik.configure(use_local=True) # Executar localmente

@opik.track
def my_llm_function(user_question: str) -> str:
    # Seu código LLM aqui

    return "Hello"

Tip

O decorador track pode ser usado em conjunto com qualquer uma de nossas integrações e também pode ser usado para rastrear chamadas de função aninhadas.

🧑‍⚖️ Métricas LLM como Juiz

O SDK Python do Opik inclui diversas métricas LLM-como-juiz para ajudá-lo a avaliar sua aplicação LLM. Saiba mais na documentação de métricas.

Para usá-las, importe a métrica relevante e use a função score:

from opik.evaluation.metrics import Hallucination

metric = Hallucination()
score = metric.score(
    input="Qual é a capital da França?",
    output="Paris",
    context=["A França é um país na Europa."]
)
print(score)

O Opik também inclui diversas métricas heurísticas pré-construídas, além da possibilidade de criar suas próprias. Saiba mais na documentação de métricas.

🔍 Avaliando sua Aplicação LLM

O Opik permite avaliar sua aplicação LLM durante o desenvolvimento por meio de Datasets e Experimentos. O Painel Opik oferece gráficos aprimorados para experimentos e melhor manuseio de traces grandes. Você também pode executar avaliações como parte do seu pipeline CI/CD usando nossa integração PyTest.

⭐ Dê-nos uma estrela no GitHub

Se você achar o Opik útil, considere nos dar uma estrela! Seu apoio nos ajuda a crescer nossa comunidade e continuar melhorando o produto.

Star History Chart

🤝 Contribuir

Há muitas maneiras de contribuir com o Opik:

Para saber mais sobre como contribuir com o Opik, veja nossas diretrizes de contribuição.