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.

Dashboard do Agente Opik

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.

1

Instale os pacotes necessários

pip install crewai crewai-tools opik --upgrade
2

Configure o Opik

import opik
opik.configure(use_local=False)
3

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: ")
4

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 YourCrewName:
    def agent_one(self) -> Agent:
        return Agent(
            role="Data Analyst",
            goal="Analyze data trends in the market",
            backstory="An experienced data analyst with a background in economics",
            verbose=True,
        )

    def agent_two(self) -> Agent:
        return Agent(
            role="Market Researcher",
            goal="Gather information on market dynamics",
            backstory="A diligent researcher with a keen eye for detail",
            verbose=True,
        )

    def task_one(self) -> Task:
        return Task(
            name="Collect Data Task",
            description="Collect recent market data and identify trends.",
            expected_output="A report summarizing key trends in the market.",
            agent=self.agent_one(),
        )

    def task_two(self) -> Task:
        return Task(
            name="Market Research Task",
            description="Research factors affecting market dynamics.",
            expected_output="An analysis of factors influencing the market.",
            agent=self.agent_two(),
        )

    def crew(self) -> Crew:
        return Crew(
            agents=[self.agent_one(), self.agent_two()],
            tasks=[self.task_one(), self.task_two()],
            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 = YourCrewName().crew()
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