OpenLIT é uma ferramenta open-source que simplifica o monitoramento de desempenho de agentes de IA, LLMs, VectorDBs e GPUs com apenas uma linha de código.
Ela oferece rastreamento e métricas nativos do OpenTelemetry para acompanhar parâmetros importantes como custo, latência, interações e sequências de tarefas.
Essa configuração permite acompanhar hiperparâmetros e monitorar problemas de desempenho, ajudando a encontrar formas de aprimorar e refinar seus agentes com o tempo.
Painel Analítico: Monitore a saúde e desempenho dos seus Agentes com dashboards detalhados que acompanham métricas, custos e interações dos usuários.
SDK de Observabilidade Nativo OpenTelemetry: SDKs neutros de fornecedor para enviar rastreamentos e métricas para suas ferramentas de observabilidade existentes como Grafana, DataDog e outros.
Rastreamento de Custos para Modelos Customizados e Ajustados: Adapte estimativas de custo para modelos específicos usando arquivos de precificação customizados para orçamentos precisos.
Painel de Monitoramento de Exceções: Identifique e solucione rapidamente problemas ao rastrear exceções comuns e erros por meio de um painel de monitoramento.
Conformidade e Segurança: Detecte ameaças potenciais como profanidade e vazamento de dados sensíveis (PII).
Detecção de Prompt Injection: Identifique possíveis injeções de código e vazamentos de segredos.
Gerenciamento de Chaves de API e Segredos: Gerencie suas chaves de API e segredos do LLM de forma centralizada e segura, evitando práticas inseguras.
Gerenciamento de Prompt: Gerencie e versiona prompts de Agente usando o PromptHub para acesso consistente e fácil entre os agentes.
Model Playground Teste e compare diferentes modelos para seus agentes CrewAI antes da implantação.
Exemplo de uso para monitoramento de um Agente CrewAI:
Copy
Ask AI
from crewai import Agent, Task, Crew, Processimport openlitopenlit.init(disable_metrics=True)# Definir seus agentesresearcher = Agent( role="Researcher", goal="Conduct thorough research and analysis on AI and AI agents", backstory="You're an expert researcher, specialized in technology, software engineering, AI, and startups. You work as a freelancer and are currently researching for a new client.", allow_delegation=False, llm='command-r')# Definir sua tasktask = Task( description="Generate a list of 5 interesting ideas for an article, then write one captivating paragraph for each idea that showcases the potential of a full article on this topic. Return the list of ideas with their paragraphs and your notes.", expected_output="5 bullet points, each with a paragraph and accompanying notes.",)# Definir o agente gerentemanager = Agent( role="Project Manager", goal="Efficiently manage the crew and ensure high-quality task completion", backstory="You're an experienced project manager, skilled in overseeing complex projects and guiding teams to success. Your role is to coordinate the efforts of the crew members, ensuring that each task is completed on time and to the highest standard.", allow_delegation=True, llm='command-r')# Instanciar sua crew com um manager personalizadocrew = Crew( agents=[researcher], tasks=[task], manager_agent=manager, process=Process.hierarchical,)# Iniciar o trabalho da crewresult = crew.kickoff()print(result)
Exemplo de uso para monitoramento de um Agente CrewAI:
Copy
Ask AI
from crewai import Agent, Task, Crew, Processimport openlitopenlit.init(disable_metrics=True)# Definir seus agentesresearcher = Agent( role="Researcher", goal="Conduct thorough research and analysis on AI and AI agents", backstory="You're an expert researcher, specialized in technology, software engineering, AI, and startups. You work as a freelancer and are currently researching for a new client.", allow_delegation=False, llm='command-r')# Definir sua tasktask = Task( description="Generate a list of 5 interesting ideas for an article, then write one captivating paragraph for each idea that showcases the potential of a full article on this topic. Return the list of ideas with their paragraphs and your notes.", expected_output="5 bullet points, each with a paragraph and accompanying notes.",)# Definir o agente gerentemanager = Agent( role="Project Manager", goal="Efficiently manage the crew and ensure high-quality task completion", backstory="You're an experienced project manager, skilled in overseeing complex projects and guiding teams to success. Your role is to coordinate the efforts of the crew members, ensuring that each task is completed on time and to the highest standard.", allow_delegation=True, llm='command-r')# Instanciar sua crew com um manager personalizadocrew = Crew( agents=[researcher], tasks=[task], manager_agent=manager, process=Process.hierarchical,)# Iniciar o trabalho da crewresult = crew.kickoff()print(result)
Adicione as duas linhas abaixo ao seu código de aplicação:
Copy
Ask AI
import openlitopenlit.init()
Execute o seguinte comando para configurar o endpoint de exportação OTEL:
Exemplo de uso para monitoramento de um Agente CrewAI Async:
Copy
Ask AI
import asynciofrom crewai import Crew, Agent, Taskimport openlitopenlit.init(otlp_endpoint="http://127.0.0.1:4318")# Criar um agente com execução de código habilitadacoding_agent = Agent( role="Python Data Analyst", goal="Analyze data and provide insights using Python", backstory="You are an experienced data analyst with strong Python skills.", allow_code_execution=True, llm="command-r")# Criar uma task que exige execução de códigodata_analysis_task = Task( description="Analyze the given dataset and calculate the average age of participants. Ages: {ages}", agent=coding_agent, expected_output="5 bullet points, each with a paragraph and accompanying notes.",)# Criar uma crew e adicionar a taskanalysis_crew = Crew( agents=[coding_agent], tasks=[data_analysis_task])# Função async para iniciar a crew de forma assíncronaasync def async_crew_execution(): result = await analysis_crew.kickoff_async(inputs={"ages": [25, 30, 35, 40, 45]}) print("Crew Result:", result)# Executar a função asyncasyncio.run(async_crew_execution())
Com os dados de Observabilidade dos Agentes agora sendo coletados e enviados ao OpenLIT, o próximo passo é visualizar e analisar esses dados para obter insights sobre o desempenho, comportamento e identificar oportunidades de melhoria dos seus Agentes.
Basta acessar o OpenLIT em 127.0.0.1:3000 no seu navegador para começar a explorar. Você pode fazer login usando as credenciais padrão