Visão Geral do Opik
Com o Comet Opik, depure, avalie e monitore suas aplicações LLM, sistemas RAG e fluxos de trabalho agentic com rastreamento detalhado, avaliações automatizadas e dashboards prontos para produção.
O Opik oferece suporte abrangente para cada etapa do desenvolvimento da sua aplicação CrewAI:
- Registrar Traces e Spans: Acompanhe automaticamente chamadas LLM e lógica da aplicação para depurar e analisar sistemas em desenvolvimento e em produção. Anote manualmente ou programaticamente, visualize e compare respostas entre projetos.
- Avalie a Performance da sua Aplicação LLM: Avalie contra um conjunto de testes personalizado e execute métricas de avaliação nativas ou defina suas próprias métricas via SDK ou UI.
- Teste no Pipeline CI/CD: Estabeleça bases de performance confiáveis com os testes unitários LLM do Opik, baseados em PyTest. Execute avaliações online para monitoramento contínuo em produção.
- Monitore & Analise Dados de Produção: Entenda a performance dos seus modelos em dados inéditos em produção e gere conjuntos de dados para novas iterações de desenvolvimento.
Configuração
A Comet oferece uma versão hospedada da plataforma Opik, ou você pode rodar a plataforma localmente.
Para usar a versão hospedada, basta criar uma conta gratuita na Comet e obter sua chave de API.
Para rodar a plataforma Opik localmente, veja nosso guia de instalação para mais informações.
Neste guia, utilizaremos o exemplo de início rápido da CrewAI.
Instale os pacotes necessários
pip install crewai crewai-tools opik --upgrade
Configure o Opik
import opik
opik.configure(use_local=False)
Prepare o ambiente
Primeiro, configuramos nossas chaves de API do provedor LLM como variáveis de ambiente:
import os
import getpass
if "OPENAI_API_KEY" not in os.environ:
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OpenAI API key: ")
Usando a CrewAI
O primeiro passo é criar nosso projeto. Vamos utilizar um exemplo da documentação do CrewAI:
from crewai import Agent, Crew, Task, Process
class NomeDaEquipe:
def agente_um(self) -> Agent:
return Agent(
role="Analista de Dados",
goal="Analisar tendências de dados no mercado",
backstory="Analista de dados experiente com formação em economia",
verbose=True,
)
def agente_dois(self) -> Agent:
return Agent(
role="Pesquisador de Mercado",
goal="Coletar informações sobre a dinâmica do mercado",
backstory="Pesquisador dedicado com olhar atento para detalhes",
verbose=True,
)
def tarefa_um(self) -> Task:
return Task(
name="Tarefa de Coleta de Dados",
description="Coletar dados recentes do mercado e identificar tendências.",
expected_output="Um relatório resumindo as principais tendências do mercado.",
agent=self.agente_um(),
)
def tarefa_dois(self) -> Task:
return Task(
name="Tarefa de Pesquisa de Mercado",
description="Pesquisar fatores que afetam a dinâmica do mercado.",
expected_output="Uma análise dos fatores que influenciam o mercado.",
agent=self.agente_dois(),
)
def equipe(self) -> Crew:
return Crew(
agents=[self.agente_um(), self.agente_dois()],
tasks=[self.tarefa_um(), self.tarefa_dois()],
process=Process.sequential,
verbose=True,
)
Agora podemos importar o tracker do Opik e executar nossa crew:
from opik.integrations.crewai import track_crewai
track_crewai(project_name="crewai-integration-demo")
my_crew = NomeDaEquipe().equipe()
result = my_crew.kickoff()
print(result)
Após rodar sua aplicação CrewAI, acesse o app Opik para visualizar:
- Traces LLM, spans e seus metadados
- Interações dos agentes e fluxo de execução das tarefas
- Métricas de performance, como latência e uso de tokens
- Métricas de avaliação (nativas ou personalizadas)
Recursos
Responses are generated using AI and may contain mistakes.