diff --git a/docs/docs.json b/docs/docs.json index b6cded1a0..0a6d80329 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -218,6 +218,7 @@ "en/observability/overview", "en/observability/agentops", "en/observability/arize-phoenix", + "en/observability/langdb", "en/observability/langfuse", "en/observability/langtrace", "en/observability/maxim", @@ -555,6 +556,7 @@ "pt-BR/observability/overview", "pt-BR/observability/agentops", "pt-BR/observability/arize-phoenix", + "pt-BR/observability/langdb", "pt-BR/observability/langfuse", "pt-BR/observability/langtrace", "pt-BR/observability/maxim", diff --git a/docs/en/observability/langdb.mdx b/docs/en/observability/langdb.mdx new file mode 100644 index 000000000..33b351daa --- /dev/null +++ b/docs/en/observability/langdb.mdx @@ -0,0 +1,286 @@ +--- +title: LangDB Integration +description: Govern, secure, and optimize your CrewAI workflows with LangDB AI Gateway—access 350+ models, automatic routing, cost optimization, and full observability. +icon: database +--- + +# Introduction + +[LangDB AI Gateway](https://langdb.ai) provides OpenAI-compatible APIs to connect with multiple Large Language Models and serves as an observability platform that makes it effortless to trace CrewAI workflows end-to-end while providing access to 350+ language models. With a single `init()` call, all agent interactions, task executions, and LLM calls are captured, providing comprehensive observability and production-ready AI infrastructure for your applications. + + + LangDB CrewAI trace example + + +**Checkout:** [View the live trace example](https://app.langdb.ai/sharing/threads/3becbfed-a1be-ae84-ea3c-4942867a3e22) + +## Features + +### AI Gateway Capabilities +- **Access to 350+ LLMs**: Connect to all major language models through a single integration +- **Virtual Models**: Create custom model configurations with specific parameters and routing rules +- **Virtual MCP**: Enable compatibility and integration with MCP (Model Context Protocol) systems for enhanced agent communication +- **Guardrails**: Implement safety measures and compliance controls for agent behavior + +### Observability & Tracing +- **Automatic Tracing**: Single `init()` call captures all CrewAI interactions +- **End-to-End Visibility**: Monitor agent workflows from start to finish +- **Tool Usage Tracking**: Track which tools agents use and their outcomes +- **Model Call Monitoring**: Detailed insights into LLM interactions +- **Performance Analytics**: Monitor latency, token usage, and costs +- **Debugging Support**: Step-through execution for troubleshooting +- **Real-time Monitoring**: Live traces and metrics dashboard + +## Setup Instructions + + + + Install the LangDB client with CrewAI feature flag: + ```bash + pip install 'pylangdb[crewai]' + ``` + + + Configure your LangDB credentials: + ```bash + export LANGDB_API_KEY="" + export LANGDB_PROJECT_ID="" + export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai' + ``` + + + Import and initialize LangDB before configuring your CrewAI code: + ```python + from pylangdb.crewai import init + # Initialize LangDB + init() + ``` + + + Set up your LLM with LangDB headers: + ```python + from crewai import Agent, Task, Crew, LLM + import os + + # Configure LLM with LangDB headers + llm = LLM( + model="openai/gpt-4o", # Replace with the model you want to use + api_key=os.getenv("LANGDB_API_KEY"), + base_url=os.getenv("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.getenv("LANGDB_PROJECT_ID")} + ) + ``` + + + +## Quick Start Example + +Here's a simple example to get you started with LangDB and CrewAI: + +```python +import os +from pylangdb.crewai import init +from crewai import Agent, Task, Crew, LLM + +# Initialize LangDB before any CrewAI imports +init() + +def create_llm(model): + return LLM( + model=model, + api_key=os.environ.get("LANGDB_API_KEY"), + base_url=os.environ.get("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")} + ) + +# Define your agent +researcher = Agent( + role="Research Specialist", + goal="Research topics thoroughly", + backstory="Expert researcher with skills in finding information", + llm=create_llm("openai/gpt-4o"), # Replace with the model you want to use + verbose=True +) + +# Create a task +task = Task( + description="Research the given topic and provide a comprehensive summary", + agent=researcher, + expected_output="Detailed research summary with key findings" +) + +# Create and run the crew +crew = Crew(agents=[researcher], tasks=[task]) +result = crew.kickoff() +print(result) +``` + +## Complete Example: Research and Planning Agent + +This comprehensive example demonstrates a multi-agent workflow with research and planning capabilities. + +### Prerequisites + +```bash +pip install crewai 'pylangdb[crewai]' crewai_tools setuptools python-dotenv +``` + +### Environment Setup + +```bash +# LangDB credentials +export LANGDB_API_KEY="" +export LANGDB_PROJECT_ID="" +export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai' + +# Additional API keys (optional) +export SERPER_API_KEY="" # For web search capabilities +``` + +### Complete Implementation + +```python +#!/usr/bin/env python3 + +import os +import sys +from pylangdb.crewai import init +init() # Initialize LangDB before any CrewAI imports +from dotenv import load_dotenv +from crewai import Agent, Task, Crew, Process, LLM +from crewai_tools import SerperDevTool + +load_dotenv() + +def create_llm(model): + return LLM( + model=model, + api_key=os.environ.get("LANGDB_API_KEY"), + base_url=os.environ.get("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")} + ) + +class ResearchPlanningCrew: + def researcher(self) -> Agent: + return Agent( + role="Research Specialist", + goal="Research topics thoroughly and compile comprehensive information", + backstory="Expert researcher with skills in finding and analyzing information from various sources", + tools=[SerperDevTool()], + llm=create_llm("openai/gpt-4o"), + verbose=True + ) + + def planner(self) -> Agent: + return Agent( + role="Strategic Planner", + goal="Create actionable plans based on research findings", + backstory="Strategic planner who breaks down complex challenges into executable plans", + reasoning=True, + max_reasoning_attempts=3, + llm=create_llm("openai/anthropic/claude-3.7-sonnet"), + verbose=True + ) + + def research_task(self) -> Task: + return Task( + description="Research the topic thoroughly and compile comprehensive information", + agent=self.researcher(), + expected_output="Comprehensive research report with key findings and insights" + ) + + def planning_task(self) -> Task: + return Task( + description="Create a strategic plan based on the research findings", + agent=self.planner(), + expected_output="Strategic execution plan with phases, goals, and actionable steps", + context=[self.research_task()] + ) + + def crew(self) -> Crew: + return Crew( + agents=[self.researcher(), self.planner()], + tasks=[self.research_task(), self.planning_task()], + verbose=True, + process=Process.sequential + ) + +def main(): + topic = sys.argv[1] if len(sys.argv) > 1 else "Artificial Intelligence in Healthcare" + + crew_instance = ResearchPlanningCrew() + + # Update task descriptions with the specific topic + crew_instance.research_task().description = f"Research {topic} thoroughly and compile comprehensive information" + crew_instance.planning_task().description = f"Create a strategic plan for {topic} based on the research findings" + + result = crew_instance.crew().kickoff() + print(result) + +if __name__ == "__main__": + main() +``` + +### Running the Example + +```bash +python main.py "Sustainable Energy Solutions" +``` + +## Viewing Traces in LangDB + +After running your CrewAI application, you can view detailed traces in the LangDB dashboard: + + + LangDB trace dashboard showing CrewAI workflow + + +### What You'll See + +- **Agent Interactions**: Complete flow of agent conversations and task handoffs +- **Tool Usage**: Which tools were called, their inputs, and outputs +- **Model Calls**: Detailed LLM interactions with prompts image.pngand responses +- **Performance Metrics**: Latency, token usage, and cost tracking +- **Execution Timeline**: Step-by-step view of the entire workflow + + +## Troubleshooting + +### Common Issues + +- **No traces appearing**: Ensure `init()` is called before any CrewAI imports +- **Authentication errors**: Verify your LangDB API key and project ID + + +## Resources + + + + Official LangDB documentation and guides + + + Step-by-step tutorials for building AI agents + + + Complete CrewAI integration examples + + + Access your traces and analytics + + + Browse 350+ available language models + + + Self-hosted options and enterprise capabilities + + + +## Next Steps + +This guide covered the basics of integrating LangDB AI Gateway with CrewAI. To further enhance your AI workflows, explore: + +- **Virtual Models**: Create custom model configurations with routing strategies +- **Guardrails & Safety**: Implement content filtering and compliance controls +- **Production Deployment**: Configure fallbacks, retries, and load balancing + +For more advanced features and use cases, visit the [LangDB Documentation](https://docs.langdb.ai) or explore the [Model Catalog](https://app.langdb.ai/models) to discover all available models. diff --git a/docs/en/observability/overview.mdx b/docs/en/observability/overview.mdx index 47ee356d4..af8454d97 100644 --- a/docs/en/observability/overview.mdx +++ b/docs/en/observability/overview.mdx @@ -25,6 +25,10 @@ Observability is crucial for understanding how your CrewAI agents perform, ident Session replays, metrics, and monitoring for agent development and production. + + End-to-end tracing for CrewAI workflows with automatic agent interaction capture. + + OpenTelemetry-native monitoring with cost tracking and performance analytics. diff --git a/docs/images/langdb-1.png b/docs/images/langdb-1.png new file mode 100644 index 000000000..a497a6509 Binary files /dev/null and b/docs/images/langdb-1.png differ diff --git a/docs/images/langdb-2.png b/docs/images/langdb-2.png new file mode 100644 index 000000000..7c7e0b41a Binary files /dev/null and b/docs/images/langdb-2.png differ diff --git a/docs/pt-BR/observability/langdb.mdx b/docs/pt-BR/observability/langdb.mdx new file mode 100644 index 000000000..acb0f434d --- /dev/null +++ b/docs/pt-BR/observability/langdb.mdx @@ -0,0 +1,286 @@ +--- +title: Integração LangDB +description: Governe, proteja e otimize seus fluxos de trabalho CrewAI com LangDB AI Gateway—acesse mais de 350 modelos, roteamento automático, otimização de custos e observabilidade completa. +icon: database +--- + +# Introdução + +[LangDB AI Gateway](https://langdb.ai) fornece APIs compatíveis com OpenAI para conectar com múltiplos Modelos de Linguagem Grandes e serve como uma plataforma de observabilidade que torna effortless rastrear fluxos de trabalho CrewAI de ponta a ponta, proporcionando acesso a mais de 350 modelos de linguagem. Com uma única chamada `init()`, todas as interações de agentes, execuções de tarefas e chamadas LLM são capturadas, fornecendo observabilidade abrangente e infraestrutura de IA pronta para produção para suas aplicações. + + + Exemplo de rastreamento CrewAI LangDB + + +**Confira:** [Ver o exemplo de trace ao vivo](https://app.langdb.ai/sharing/threads/3becbfed-a1be-ae84-ea3c-4942867a3e22) + +## Recursos + +### Capacidades do AI Gateway +- **Acesso a mais de 350 LLMs**: Conecte-se a todos os principais modelos de linguagem através de uma única integração +- **Modelos Virtuais**: Crie configurações de modelo personalizadas com parâmetros específicos e regras de roteamento +- **MCP Virtual**: Habilite compatibilidade e integração com sistemas MCP (Model Context Protocol) para comunicação aprimorada de agentes +- **Guardrails**: Implemente medidas de segurança e controles de conformidade para comportamento de agentes + +### Observabilidade e Rastreamento +- **Rastreamento Automático**: Uma única chamada `init()` captura todas as interações CrewAI +- **Visibilidade Ponta a Ponta**: Monitore fluxos de trabalho de agentes do início ao fim +- **Rastreamento de Uso de Ferramentas**: Rastreie quais ferramentas os agentes usam e seus resultados +- **Monitoramento de Chamadas de Modelo**: Insights detalhados sobre interações LLM +- **Análise de Performance**: Monitore latência, uso de tokens e custos +- **Suporte a Depuração**: Execução passo a passo para solução de problemas +- **Monitoramento em Tempo Real**: Dashboard de traces e métricas ao vivo + +## Instruções de Configuração + + + + Instale o cliente LangDB com flag de recurso CrewAI: + ```bash + pip install 'pylangdb[crewai]' + ``` + + + Configure suas credenciais LangDB: + ```bash + export LANGDB_API_KEY="" + export LANGDB_PROJECT_ID="" + export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai' + ``` + + + Importe e inicialize LangDB antes de configurar seu código CrewAI: + ```python + from pylangdb.crewai import init + # Inicializar LangDB + init() + ``` + + + Configure seu LLM com cabeçalhos LangDB: + ```python + from crewai import Agent, Task, Crew, LLM + import os + + # Configurar LLM com cabeçalhos LangDB + llm = LLM( + model="openai/gpt-4o", # Substitua pelo modelo que você quer usar + api_key=os.getenv("LANGDB_API_KEY"), + base_url=os.getenv("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.getenv("LANGDB_PROJECT_ID")} + ) + ``` + + + +## Exemplo de Início Rápido + +Aqui está um exemplo simples para começar com LangDB e CrewAI: + +```python +import os +from pylangdb.crewai import init +from crewai import Agent, Task, Crew, LLM + +# Inicializar LangDB antes de qualquer importação CrewAI +init() + +def create_llm(model): + return LLM( + model=model, + api_key=os.environ.get("LANGDB_API_KEY"), + base_url=os.environ.get("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")} + ) + +# Defina seu agente +researcher = Agent( + role="Especialista em Pesquisa", + goal="Pesquisar tópicos minuciosamente", + backstory="Pesquisador especialista com habilidades em encontrar informações", + llm=create_llm("openai/gpt-4o"), # Substitua pelo modelo que você quer usar + verbose=True +) + +# Criar uma tarefa +task = Task( + description="Pesquise o tópico dado e forneça um resumo abrangente", + agent=researcher, + expected_output="Resumo de pesquisa detalhado com principais descobertas" +) + +# Criar e executar a equipe +crew = Crew(agents=[researcher], tasks=[task]) +result = crew.kickoff() +print(result) +``` + +## Exemplo Completo: Agente de Pesquisa e Planejamento + +Este exemplo abrangente demonstra um fluxo de trabalho multi-agente com capacidades de pesquisa e planejamento. + +### Pré-requisitos + +```bash +pip install crewai 'pylangdb[crewai]' crewai_tools setuptools python-dotenv +``` + +### Configuração do Ambiente + +```bash +# Credenciais LangDB +export LANGDB_API_KEY="" +export LANGDB_PROJECT_ID="" +export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai' + +# Chaves API adicionais (opcional) +export SERPER_API_KEY="" # Para capacidades de busca na web +``` + +### Implementação Completa + +```python +#!/usr/bin/env python3 + +import os +import sys +from pylangdb.crewai import init +init() # Inicializar LangDB antes de qualquer importação CrewAI +from dotenv import load_dotenv +from crewai import Agent, Task, Crew, Process, LLM +from crewai_tools import SerperDevTool + +load_dotenv() + +def create_llm(model): + return LLM( + model=model, + api_key=os.environ.get("LANGDB_API_KEY"), + base_url=os.environ.get("LANGDB_API_BASE_URL"), + extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")} + ) + +class ResearchPlanningCrew: + def researcher(self) -> Agent: + return Agent( + role="Especialista em Pesquisa", + goal="Pesquisar tópicos minuciosamente e compilar informações abrangentes", + backstory="Pesquisador especialista com habilidades em encontrar e analisar informações de várias fontes", + tools=[SerperDevTool()], + llm=create_llm("openai/gpt-4o"), + verbose=True + ) + + def planner(self) -> Agent: + return Agent( + role="Planejador Estratégico", + goal="Criar planos acionáveis baseados em descobertas de pesquisa", + backstory="Planejador estratégico que divide desafios complexos em planos executáveis", + reasoning=True, + max_reasoning_attempts=3, + llm=create_llm("openai/anthropic/claude-3.7-sonnet"), + verbose=True + ) + + def research_task(self) -> Task: + return Task( + description="Pesquise o tópico minuciosamente e compile informações abrangentes", + agent=self.researcher(), + expected_output="Relatório de pesquisa abrangente com principais descobertas e insights" + ) + + def planning_task(self) -> Task: + return Task( + description="Crie um plano estratégico baseado nas descobertas da pesquisa", + agent=self.planner(), + expected_output="Plano de execução estratégica com fases, objetivos e etapas acionáveis", + context=[self.research_task()] + ) + + def crew(self) -> Crew: + return Crew( + agents=[self.researcher(), self.planner()], + tasks=[self.research_task(), self.planning_task()], + verbose=True, + process=Process.sequential + ) + +def main(): + topic = sys.argv[1] if len(sys.argv) > 1 else "Inteligência Artificial na Saúde" + + crew_instance = ResearchPlanningCrew() + + # Atualizar descrições de tarefas com o tópico específico + crew_instance.research_task().description = f"Pesquise {topic} minuciosamente e compile informações abrangentes" + crew_instance.planning_task().description = f"Crie um plano estratégico para {topic} baseado nas descobertas da pesquisa" + + result = crew_instance.crew().kickoff() + print(result) + +if __name__ == "__main__": + main() +``` + +### Executando o Exemplo + +```bash +python main.py "Soluções de Energia Sustentável" +``` + +## Visualizando Traces no LangDB + +Após executar sua aplicação CrewAI, você pode visualizar traces detalhados no dashboard LangDB: + + + Dashboard de trace LangDB mostrando fluxo de trabalho CrewAI + + +### O Que Você Verá + +- **Interações de Agentes**: Fluxo completo de conversas de agentes e transferências de tarefas +- **Uso de Ferramentas**: Quais ferramentas foram chamadas, suas entradas e saídas +- **Chamadas de Modelo**: Interações LLM detalhadas com prompts e respostas +- **Métricas de Performance**: Rastreamento de latência, uso de tokens e custos +- **Linha do Tempo de Execução**: Visualização passo a passo de todo o fluxo de trabalho + + +## Solução de Problemas + +### Problemas Comuns + +- **Nenhum trace aparecendo**: Certifique-se de que `init()` seja chamado antes de qualquer importação CrewAI +- **Erros de autenticação**: Verifique sua chave API LangDB e ID do projeto + + +## Recursos + + + + Documentação oficial e guias LangDB + + + Tutoriais passo a passo para construir agentes de IA + + + Exemplos completos de integração CrewAI + + + Acesse seus traces e análises + + + Navegue por mais de 350 modelos de linguagem disponíveis + + + Opções auto-hospedadas e capacidades empresariais + + + +## Próximos Passos + +Este guia cobriu o básico da integração do LangDB AI Gateway com CrewAI. Para aprimorar ainda mais seus fluxos de trabalho de IA, explore: + +- **Modelos Virtuais**: Crie configurações de modelo personalizadas com estratégias de roteamento +- **Guardrails e Segurança**: Implemente filtragem de conteúdo e controles de conformidade +- **Implantação em Produção**: Configure fallbacks, tentativas e balanceamento de carga + +Para recursos mais avançados e casos de uso, visite a [Documentação LangDB](https://docs.langdb.ai) ou explore o [Catálogo de Modelos](https://app.langdb.ai/models) para descobrir todos os modelos disponíveis. \ No newline at end of file diff --git a/docs/pt-BR/observability/overview.mdx b/docs/pt-BR/observability/overview.mdx index 5014af031..357c0d709 100644 --- a/docs/pt-BR/observability/overview.mdx +++ b/docs/pt-BR/observability/overview.mdx @@ -25,6 +25,10 @@ A observabilidade é fundamental para entender como seus agentes CrewAI estão d Replays de sessões, métricas e monitoramento para desenvolvimento e produção de agentes. + + Rastreamento ponta a ponta para fluxos de trabalho CrewAI com captura automática de interações de agentes. + + Monitoramento nativo OpenTelemetry com rastreamento de custos e análises de desempenho.