Skip to content

jiadevr/LangChainAndLangGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LangChain & LangGraph

官方文档案例的本地化改造,使用OpenAIModelClass对接百炼平台/小米MiMo/Ollama实现。 解决文档中对于国内模型没有直接案例的问题,复现了LangChain官网的重点示例

模型

  • 语言模型需要支持工具调用,案例中LangChain部分主要使用qwen-plus,部分使用qwen_max。qwen-plus免费额度足以完成LangChain部分;
    • 小米MiMo在实名认证后提供了5元免费调用额度,调用一次约0.01元,数学运算理解能力强于qwen-plus,但在结构化输出中有问题,对属性名称要求强、输出Json疑似进入检查死循环
    • Ollama本地使用谷歌的Gemma4:e4bollama run gemma4:e4b,实测和qwen-flash在结构化输出方面各有胜负
  • Embedding模型使用qwen的text-embedding-v3
    • Ollama本地使用qwen3-embedding:8b

LangChain部分

按照官网文档顺序排序如下

  • helloworld.py - 简单的天气查询Agent,对应Quickstart
  • helloworld_multiquestion.py - 多轮对话的天气查询Agent,具有结构化输出Quickstart
  • dynamic_model.py - 动态模型切换功能,根据对话轮数选择不同模型Dynamic Model
  • dynamic_tools_runtime.py - 运行时动态添加工具Dynamic Tools
  • dynamic_tools_pre_reg.py - 预注册工具,根据角色过滤工具Dynamic Tools
  • dynamic_system_prompt.py - 基于用户角色动态调整系统提示Dynamic System Prompt
  • short_term_memory.py - 具有短期记忆管理的Agent系统Short-term memory
  • human_in_the_loop.py - 人在环(Human-in-the-Loop)Agent系统,使用函数模拟人审批human_in_the_loop
  • streaming_sub_agent.py - 具有流式输出Streaming
  • structed_output.py - 具有结构化输出能力Structured output# 26-4-3发现MiMO执行时代码问题,这部分会大量消耗token,原因未知,Qwen-plus、Flash模型正常运行
  • weather_mcp.py - 使用Model Context Protocol调用外部天气服务的Agent系统Model Context Protocol (MCP)
  • custom_workflow.py - 自定义工作流系统,用于处理RAG相关查询Multi-agent Custom workflow
  • agentic_RAG.py - Agent类型的RAG,让Agent查找LangGraph文档中的信息并回答问题Agentic RAG

About

LangChain和LangGraph官方文档案例使用国内API实现版本

Resources

License

Stars

Watchers

Forks

Contributors

Languages