news 2026/1/27 8:25:11

883-LangChain框架Use-Cases - 向远程图服务器发送请求案例分析报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
883-LangChain框架Use-Cases - 向远程图服务器发送请求案例分析报告

向远程图服务器发送请求 - 使用RemoteGraph与LangGraph交互

1. 案例目标

  • 介绍LangGraph的基本概念和与LangServe的区别
  • 演示如何使用RemoteGraph连接到远程LangGraph服务器
  • 展示如何通过RemoteGraph进行同步和异步调用
  • 实现流式输出功能,实时获取远程图执行结果
  • 演示线程级持久性(Thread-level persistence)的使用方法
  • 展示如何将RemoteGraph作为子图集成到父图中

2. 技术栈与核心依赖

LangGraphLangChainLangSmithOpenAIPython

  • LangGraph:用于构建有状态、多参与者应用程序的库,支持循环和协作
  • LangChain:用于构建AI应用的核心框架
  • LangSmith:用于追踪、监控和评估LangChain应用的工具
  • OpenAI:提供GPT模型用于自然语言处理
  • Python:编程语言基础,支持异步编程特性

3. 环境配置

  • 安装必要的Python包:langsmith, langchain, langchain_core等
  • 配置OpenAI API密钥和LangChain追踪设置
  • 安装LangGraph CLI工具:pip install langgraph-cli[inmem]
  • 启动LangGraph开发服务器:langgraph dev

pip install langsmith langchain langchain_core langchain-anthropic langchain_community langchain_text_splitters langchain_openai langgraph

# 设置环境变量
set_env({
"OPENAI_API_KEY": "",
"LANGCHAIN_API_KEY": "",
"LANGCHAIN_TRACING_V2": "true",
"LANGCHAIN_ENDPOINT": "https://api.smith.langchain.com",
"LANGCHAIN_PROJECT": "RemoteGraph",
})

4. 案例实现

  • LangGraph与LangServe的区别:
    • LangGraph现在被推荐作为LangChain应用的服务化方案
    • LangGraph支持流式输出、双文本处理、突发处理等高级功能
    • LangGraph具有检查点功能和人在回路支持
  • RemoteGraph基础使用:
    • 创建RemoteGraph实例连接到远程服务器
    • 使用invoke和ainvoke方法进行同步和异步调用
    • 配置embedding_model、query_model等参数
  • 流式输出实现:
    • 使用astream方法获取远程图执行的实时结果
    • 通过subgraphs=True参数获取子图的执行状态
  • 线程级持久性:
    • 创建同步客户端和线程
    • 配置线程参数(config_thread)
    • 验证对话历史的持久化效果
  • 子图集成:
    • 使用StateGraph创建父图
    • 添加RemoteGraph作为子节点
    • 连接START节点到子图

主要代码实现:

# 创建RemoteGraph实例
remote_graph = RemoteGraph(
"chat", # 图名称
url="http://localhost:2024", # 服务器URL
)

# 同步调用
result = remote_graph.invoke(
{"messages": [{"role": "user", "content": "hi!"}]},
config
)

# 异步流式调用
async for chunk in remote_graph.astream(
{"messages": [{"role": "user", "content": "what's the weather in sf"}]},
config,
subgraphs=True
):
print(chunk)

# 创建父图并添加RemoteGraph作为子图
from langgraph.graph import StateGraph, MessagesState, START

builder = StateGraph(MessagesState)
builder.add_node("child", remote_graph)
builder.add_edge(START, "child")
graph = builder.compile()

5. 案例效果

  • 成功连接到远程LangGraph服务器并执行图操作
  • 实现了同步和异步调用方式,满足不同场景需求
  • 通过流式输出功能,实时获取远程图执行过程和结果
  • 验证了线程级持久性功能,能够保持对话上下文
  • 成功将RemoteGraph作为子图集成到父图中,实现复杂图结构
  • 展示了LangGraph相对于LangServe的优势和特性

6. 案例实现思路

  • 客户端-服务器架构:RemoteGraph作为客户端连接到远程LangGraph服务器
  • 统一接口设计:RemoteGraph提供与本地Graph相同的API接口,透明处理远程调用
  • 异步通信模型:支持同步和异步调用,适应不同应用场景
  • 流式数据处理:通过生成器模式实现实时数据传输
  • 状态持久化:通过线程ID实现对话上下文的持久化存储
  • 图组合模式:支持将远程图作为子图集成到更大的图结构中

7. 扩展建议

  • 添加认证和授权机制,增强远程图访问的安全性
  • 实现负载均衡和故障转移,提高系统可用性
  • 添加缓存机制,减少重复请求的网络开销
  • 实现更复杂的子图组合模式,支持多级嵌套
  • 添加性能监控和指标收集,便于系统优化
  • 实现批量操作接口,提高处理效率
  • 添加更多配置选项,如超时设置、重试策略等
  • 支持更多通信协议,如WebSocket、gRPC等

8. 总结

该案例展示了如何使用RemoteGraph与远程LangGraph服务器进行交互,从基础连接到高级功能如流式输出和线程级持久性。案例详细介绍了LangGraph相对于LangServe的优势,并通过实际代码演示了RemoteGraph的各种用法。通过线程级持久性,系统能够保持对话上下文,提供更连贯的用户体验。此外,案例还展示了如何将RemoteGraph作为子图集成到更大的图结构中,实现复杂的应用逻辑。这个案例为构建分布式AI应用提供了完整的参考实现,展示了现代图计算框架与远程服务结合的最佳实践。

技术要点总结

向远程图服务器发送请求案例展示了分布式AI应用架构的强大能力。通过RemoteGraph,开发者可以透明地访问远程LangGraph服务,无需关心底层通信细节。该案例的关键技术点包括异步通信、流式处理、状态持久化和图组合等,这些技术点为构建大规模分布式AI系统奠定了基础。此外,该案例还展示了如何将复杂的AI逻辑分布在不同的服务中,实现更好的系统解耦和可扩展性。LangGraph作为LangChain生态的新成员,为AI应用的服务化部署提供了更强大、更灵活的解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/24 19:48:22

聚焦AI!亚马逊云科技re:Invent 2025中国行!

2025年12月1—5日,亚马逊云科技re:Invent 2025在拉斯维加斯呈现了Agentic AI重塑云计算的关键进展,Agentic AI不再只是概念,而是正在驱动企业应用、开发流程与业务模式的深刻变化。为了帮助中国开发者、架构师、技术团队更系统地理解这场技术…

作者头像 李华
网站建设 2026/1/23 23:01:24

哪个国家赢得了最多的世界杯 ?

赢得世界杯次数最多的国家是 巴西,他们共 5次 夺得冠军,是国际足联世界杯历史上最成功的球队。为了让你更清晰地了解,以下是巴西队的夺冠详情和足球世界的整体格局:🏆 巴西的辉煌历史 (5次夺冠)巴西队是唯一一支参加了…

作者头像 李华
网站建设 2026/1/15 18:03:20

Java毕设项目:基于springboo甘肃“印象”网站,甘肃文化宣传平台(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/1/20 17:08:37

Screenbox多媒体播放器:新手入门终极指南

Screenbox多媒体播放器:新手入门终极指南 【免费下载链接】Screenbox LibVLC-based media player for the Universal Windows Platform 项目地址: https://gitcode.com/gh_mirrors/sc/Screenbox 想要在Windows系统上享受专业级的影音播放体验吗?S…

作者头像 李华