Pular para o conteúdo

Integração Langfuse

Este notebook demonstra como integrar o Langfuse ao CrewAI usando OpenTelemetry via o SDK OpenLit. Ao final deste notebook, você será capaz de rastrear suas aplicações CrewAI com o Langfuse para melhorar a observabilidade e a depuração.

O que é Langfuse? Langfuse é uma plataforma open-source de engenharia LLM. Ela fornece recursos de rastreamento e monitoramento para aplicações LLM, ajudando desenvolvedores a depurar, analisar e otimizar seus sistemas de IA. O Langfuse se integra com várias ferramentas e frameworks através de integrações nativas, OpenTelemetry e APIs/SDKs.

Vídeo de Visão Geral do Langfuse

Vamos passar por um exemplo simples usando CrewAI e integrando ao Langfuse via OpenTelemetry utilizando o OpenLit.

%pip install langfuse openlit crewai crewai_tools

Defina suas chaves de API do Langfuse e configure as opções de exportação do OpenTelemetry para enviar os traces ao Langfuse. Consulte a Documentação Langfuse OpenTelemetry para mais informações sobre o endpoint Langfuse OpenTelemetry /api/public/otel e autenticação.

import os
# Obtenha as chaves do seu projeto na página de configurações do projeto: https://cloud.langfuse.com
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-lf-..."
os.environ["LANGFUSE_SECRET_KEY"] = "sk-lf-..."
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com" # 🇪🇺 Região UE
# os.environ["LANGFUSE_HOST"] = "https://us.cloud.langfuse.com" # 🇺🇸 Região EUA
# Sua chave OpenAI
os.environ["OPENAI_API_KEY"] = "sk-proj-..."

Com as variáveis de ambiente configuradas, agora podemos inicializar o cliente Langfuse. A função get_client() inicializa o cliente Langfuse usando as credenciais fornecidas nas variáveis de ambiente.

from langfuse import get_client
langfuse = get_client()
# Verificar conexão
if langfuse.auth_check():
print("Cliente Langfuse autenticado e pronto!")
else:
print("Falha na autenticação. Verifique suas credenciais e host.")

Inicialize o SDK de instrumentação OpenTelemetry do OpenLit para começar a capturar traces do OpenTelemetry.

import openlit
openlit.init()

Vamos criar uma aplicação simples CrewAI onde múltiplos agentes colaboram para responder à pergunta de um usuário.

from crewai import Agent, Task, Crew
from crewai_tools import (
WebsiteSearchTool
)
web_rag_tool = WebsiteSearchTool()
escritor = Agent(
role="Escritor",
goal="Você torna a matemática envolvente e compreensível para crianças pequenas através de poesias",
backstory="Você é especialista em escrever haicais mas não sabe nada de matemática.",
tools=[web_rag_tool],
)
tarefa = Task(description=("O que é {multiplicação}?"),
expected_output=("Componha um haicai que inclua a resposta."),
agent=escritor)
equipe = Crew(
agents=[escritor],
tasks=[tarefa],
share_crew=False
)

Após rodar o agente, você pode visualizar os traces gerados pela sua aplicação CrewAI no Langfuse. Você verá etapas detalhadas das interações do LLM, o que pode ajudar na depuração e otimização do seu agente de IA.

Exemplo de trace CrewAI no Langfuse

Exemplo público de trace no Langfuse