20分钟构建LangGraph多智能体系统:动态配置与RAG搜索实战

本文详细介绍了如何在20分钟内使用LangGraph构建多智能体系统,集成RAG搜索和LaunchDarkly动态配置。包含监督代理、安全代理和支持代理的完整架构,支持实时模型切换和工具调整,无需代码部署即可改变AI行为。

概述

使用LangGraph多智能体工作流、RAG搜索和LaunchDarkly AI配置,在20分钟内构建具有动态配置功能的多智能体系统。

您可能遇到过这种情况:AI聊天机器人在测试中表现良好,但在生产环境中GPT-4成本失控。您切换到Claude,但现在欧洲用户需要不同的隐私规则。每次更改都意味着另一次部署、更多测试,以及祈祷不会出现问题。

那些发布速度更快的团队?他们动态控制AI行为,而不是硬编码所有内容。

今日构建内容

在接下来的20分钟内,您将拥有一个LangGraph多智能体系统,包含:

  • 监督代理:协调专业代理之间的工作流
  • 安全代理:检测PII和敏感信息
  • 支持代理:使用您的业务文档回答问题
  • 动态控制:通过LaunchDarkly更改模型、工具和行为,无需代码更改

先决条件

您需要:

  • Python 3.9+ 和 uv 包管理器
  • LaunchDarkly 账户
  • OpenAI API 密钥
  • Anthropic API 密钥

步骤1:克隆和配置(2分钟)

1
2
3
4
5
6
7
8
9
# 获取代码
git clone https://github.com/launchdarkly-labs/devrel-agents-tutorial
cd devrel-agents-tutorial

# 安装依赖
uv sync

# 配置环境
cp .env.example .env

在LaunchDarkly中创建项目"multi-agent-chatbot",获取SDK密钥并配置.env文件。

步骤2:添加业务知识(2分钟)

1
2
3
4
5
6
# 选项A:使用示例
# 已包含:kb/SuttonBarto-IPRL-Book2ndEd.pdf

# 选项B:添加您的文档
rm kb/*.pdf
cp /path/to/your-docs/*.pdf kb/

适用文档类型:法律合同、医疗协议、SaaS文档、电子商务目录等。

步骤3:初始化知识库(2分钟)

1
2
# 创建向量嵌入用于语义搜索
uv run python initialize_embeddings.py --force

这使用OpenAI的文本嵌入模型和FAISS向量数据库构建RAG基础。

步骤4:定义工具(3分钟)

在LaunchDarkly中创建两个工具:

search_v2工具

  • 描述:使用向量嵌入进行语义搜索
  • Schema:包含查询字符串和返回结果数量

reranking工具

  • 描述:使用BM25算法按相关性重新排序结果
  • Schema:包含原始查询和要重新排序的结果数组

步骤5:在LaunchDarkly中创建AI代理(5分钟)

创建三个AI配置:

监督代理

  • 名称:supervisor-agent
  • 模型:Claude 3.7 Sonnet
  • 任务:分析用户输入是否包含PII,并推荐最优路由

安全代理

  • 名称:security-agent
  • 模型:Claude 3.7 Sonnet
  • 任务:检测和移除PII,提供详细的脱敏信息

支持代理

  • 名称:support-agent
  • 模型:Claude 3.7 Sonnet
  • 参数:{“max_tool_calls”:5}
  • 附加工具:reranking, search_v2
  • 任务:使用知识库搜索和研究论文回答问题

步骤6:启动系统(2分钟)

1
2
3
4
5
# 终端1:启动后端
uv run uvicorn api.main:app --reload --port 8000

# 终端2:启动UI
uv run streamlit run ui/chat_interface.py --server.port 8501

访问 http://localhost:8501

步骤7:测试多智能体系统(2分钟)

测试查询:

  • 基础知识测试:“什么是强化学习?”
  • PII检测测试:“我的邮箱是[email],我需要帮助。”

观察LangGraph的工作流程:监督代理首先路由到安全代理检测PII,然后将控制权传递给支持代理使用RAG系统进行文档搜索。

步骤8:尝试新功能

实时更改代理配置:

功能1:即时切换模型

  • 在support-agent配置中将模型从Claude改为GPT-4
  • 返回聊天界面测试相同问题

功能2:调整工具使用

  • 将max_tool_calls从5改为2
  • 测试复杂问题,观察代理如何选择性搜索

功能3:改变代理行为

  • 修改支持代理的任务说明,使其成为研究专家
  • 测试问题如"功能标志的最佳实践是什么?"

所有更改立即生效,无需部署、重启或停机。

理解您构建的系统

您的LangGraph多智能体系统包含:

  • LangGraph编排:监督代理使用LangGraph状态管理基于内容分析智能路由请求
  • 隐私保护:安全代理检测和脱敏PII
  • RAG知识系统:支持代理结合LangGraph工具链与RAG系统进行语义文档搜索和重新排序
  • 运行时控制:LaunchDarkly控制LangGraph行为和RAG参数,无需代码更改

下一步

在第二部分,我们将添加:

  • 基于地理位置的隐私规则
  • 外部数据的MCP工具
  • 业务层级配置
  • 成本优化策略

在第三部分,我们将运行A/B实验,用真实数据证明哪些配置效果最佳。

关键要点

  • 多智能体系统在每個代理有特定角色时效果最佳
  • 动态配置比硬编码更好地处理变化的需求
  • LaunchDarkly AI配置无需部署即可控制和更改AI行为
  • 从简单开始,随着了解有效方法增加复杂性
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计