跳转到主要内容

文档索引

获取完整文档索引: https://docs.crewai.com.cn/llms.txt

在深入了解之前,请使用此文件来浏览所有可用页面。

简介

LangDB AI 网关提供兼容 OpenAI 的 API,用于连接多种大语言模型,并作为可观测性平台,让您可以轻松地端到端追踪 CrewAI 工作流,同时接入 350 多种语言模型。通过一个 init() 调用,即可捕获所有智能体交互、任务执行和 LLM 调用,为您的应用程序提供全面的可观测性和生产就绪的 AI 基础设施。
LangDB CrewAI trace example
查看: 查看实时追踪示例

功能

AI 网关功能

  • 访问 350+ 种 LLM:通过单一集成即可连接所有主流语言模型
  • 虚拟模型:创建具有特定参数和路由规则的自定义模型配置
  • 虚拟 MCP:启用与 MCP(模型上下文协议)系统的兼容性和集成,以增强智能体通信
  • 护栏 (Guardrails):为智能体行为实施安全措施和合规性控制

可观测性与追踪

  • 自动追踪:通过一次 init() 调用即可捕获所有 CrewAI 交互
  • 端到端可见性:从头到尾监控智能体工作流
  • 工具使用追踪:跟踪智能体使用的工具及其结果
  • 模型调用监控:深入了解 LLM 交互详情
  • 性能分析:监控延迟、Token 使用量和成本
  • 调试支持:提供分步执行以辅助排查故障
  • 实时监控:实时追踪与指标仪表盘

设置说明

1

安装 LangDB

安装带有 CrewAI 功能标志的 LangDB 客户端
pip install 'pylangdb[crewai]'
2

设置环境变量

配置您的 LangDB 凭据
export LANGDB_API_KEY="<your_langdb_api_key>"
export LANGDB_PROJECT_ID="<your_langdb_project_id>"
export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai'
3

初始化追踪

在配置 CrewAI 代码之前导入并初始化 LangDB
from pylangdb.crewai import init
# Initialize LangDB
init()
4

配置带有 LangDB 的 CrewAI

使用 LangDB 请求头设置您的 LLM
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")}
)

快速入门示例

以下是一个简单的示例,帮助您开始使用 LangDB 和 CrewAI
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)

完整示例:研究与规划智能体

此综合示例展示了具有研究和规划能力的多智能体工作流。

先决条件

pip install crewai 'pylangdb[crewai]' crewai_tools setuptools python-dotenv

环境设置

# LangDB credentials
export LANGDB_API_KEY="<your_langdb_api_key>"
export LANGDB_PROJECT_ID="<your_langdb_project_id>"
export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai'

# Additional API keys (optional)
export SERPER_API_KEY="<your_serper_api_key>"  # For web search capabilities

完整实现

#!/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()

运行示例

python main.py "Sustainable Energy Solutions"

在 LangDB 中查看追踪

运行 CrewAI 应用程序后,您可以在 LangDB 仪表盘中查看详细的追踪记录
LangDB trace dashboard showing CrewAI workflow

您将看到的内容

  • 智能体交互:智能体对话和任务移交的完整流程
  • 工具使用:调用了哪些工具,以及它们的输入和输出
  • 模型调用:包含提示词和响应的详细 LLM 交互记录
  • 性能指标:延迟、Token 使用量和成本追踪
  • 执行时间轴:整个工作流的逐步视图

故障排除

常见问题

  • 未出现追踪记录:请确保在任何 CrewAI 导入之前已调用 init()
  • 认证错误:请验证您的 LangDB API 密钥和项目 ID

资源

LangDB 文档

官方 LangDB 文档和指南

LangDB 指南

构建 AI 智能体的分步教程

GitHub 示例

完整的 CrewAI 集成示例

LangDB 仪表盘

访问您的追踪和分析数据

模型目录

浏览 350 多种可用语言模型

企业版功能

自托管选项及企业级功能

后续步骤

本指南介绍了将 LangDB AI 网关与 CrewAI 集成的基础知识。若要进一步增强您的 AI 工作流,请探索
  • 虚拟模型:创建具有路由策略的自定义模型配置
  • 护栏与安全:实施内容过滤和合规控制
  • 生产部署:配置回退、重试和负载均衡
如需了解更多高级功能和用例,请访问 LangDB 文档,或探索 模型目录以发现所有可用模型。