发布时间:2026-01-27 23:16:54编辑:123阅读(9)
Langchain-1.0版本核心新特性
1. 全新 Agent API:create_agent
引入了更简单、高度抽象的智能体(Agent)创建方式。通过 create_agent() 一行代码,就可以构建具备工具调用、循环控制等能力的智能代理。
2. Middleware 中间件系统
允许开发者在 Agent 执行流程中定义多个可插拔钩子(hooks),对行为进行监控、修改或扩展。大大提升了控制力和可定制性。
3. 改进的结构化输出支持
在 Agent 主循环内原生支持结构化输出(Structured Output),减少额外的 LLM 调用,降低延迟和成本,更便于解析模型返回的信息。
4. 标准化内容块(Content Blocks)
提供跨提供商的一致消息/内容规范,可支持推理结果、引用、服务器端工具调用等格式,大幅提升组件间兼容性。
新版LangChain vs LangGraph:职责分工与对比
| 维度 | Langchain 1.0 | LangGraph |
| 定位 | 统一抽象+快速搭建:模型,消息,工具,链路,标准输出 | 底层运行时:图式编排,状态管理,检查点,并发,可中断/恢复 |
| Agent入口 | create_agent(开箱即用) | Graph API(自定义节点/边/条件) |
| 可靠性 | 借助中间件与Graph Runtime获得 | 由Graph的Pregel风格执行/检查点提供 |
| 治理能力 | 中间件(HITL,汇总,修剪,预算控制) | 中断,持久化,分支/循环,显示状态机 |
| 适用人群 | 产品/业务工程师,快速Poc到MVP | 平台/基础设施工程师,需要精确控制的团队 |
官方也强调快速起步用LangChain,复杂控制用LangGraph,二者并行协同。
模型接入LangChain流程
环境说明:LangChain>=1.0.0, Python>=3.11,版本过低使用pip install -upgrade <包名称>进行升级
pip install langchain
创建一个demo.py文件,运行可查看langchain版本
import langchain
print(langchain.__version__)
通过api_key的方式接入模型
在当前目录创建一个.env的文件,写入api_key,需到对应的模型官网开通

Qwen_API_KEY=sk-a53ee2xxxxxxxxxxxxxxxxxxxxxxxxxxxca3e
代码如下:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv(override=True)
Qwen_API_KEY = os.getenv("Qwen_API_KEY")
client = OpenAI(api_key=Qwen_API_KEY,base_url='https://dashscope.aliyuncs.com/compatible-mode/v1')
response = client.chat.completions.create(
model="qwen3-max",
messages=[
{"role":"system", "content":"你是乐于助人的助手,请根据用户的问题给出回答"},
{"role":"user","content":"你好,介绍一下自己"},
]
)
print(response.choices[0].message.content)运行结果:
你好!我是你的AI助手,很高兴认识你!😊
我是一个乐于助人、知识丰富、耐心细致的虚拟伙伴,可以帮你解答各种问题、提供信息、协助写作、进行逻辑推理、编程,或者只是陪你聊聊日常。无论你是需要学习帮助、工作建议,还是想了解某个知识点,我都会尽力用清晰、准确又友好的方式为你服务。
虽然我不是真人,但我始终以真诚和热情对待每一次对话。有什么我可以帮你的吗?
通义千问接入LangChain流程
import os
from dotenv import load_dotenv
from langchain_community.chat_models.tongyi import ChatTongyi
load_dotenv(override=True)
Qwen_API_KEY = os.getenv("Qwen_API_KEY")
llm = ChatTongyi(model="qwen3-max", api_key=Qwen_API_KEY)
messages = [("system", "你是乐于助人的助手,请根据用户的问题给出回答"),("human", "你好,介绍一下自己"),]
msg = llm.invoke(messages)
print(msg.content)运行结果
你好!我是你的AI助手,很高兴认识你!😊
我是一个乐于助人、知识丰富、随时待命的虚拟伙伴。我可以帮你解答各种问题,比如:
- 解释科学、历史、文化等领域的知识
- 帮你写作文、润色文字或创作故事
- 辅导学习,包括数学、语文、英语等科目
- 提供建议,比如生活小技巧、时间管理方法
- 陪你聊天、讨论想法,或者只是轻松地闲聊
我不会评判你,也不会不耐烦——无论问题简单还是复杂,我都会认真对待。有什么我可以帮你的吗?🌟
模型私有化部署的核心意义
1 数据安全与合规(最常见、最硬的理由)- 数据不出内网是私有化部署的第一性价值。
2 成本可控(尤其是高频 / 大规模调用)- 当调用量上来后,私有部署会比 API 便宜很多
3 可控性与可定制能力 - 私有部署 = 你对模型拥有“工程主权”
4 稳定性与 SLA(不被别人影响)- 可在内网环境 毫秒级响应,可为关键业务提供明确 SLA
5 能力融合:模型 ≠ 聊天,而是“系统组件” - 私有化部署后,模型可以像一个服务组件一样深度嵌入系统
本地私有化部署模型接入LangChain流程
环境说明:使用ollama本地部署Qwen3-4B模型
ollama安装可查看菜鸟教程:https://www.runoob.com/ollama/ollama-install.html
安装成功后,浏览器访问:http://localhost:11434/
显示:Ollama is running 则表示安装成功
下载模型:
ollama run hopephoto/Qwen3-4B-Instruct-2507_q8:latest
查看ollama下载的模型
ollama list
NAME ID SIZE MODIFIED
hopephoto/Qwen3-4B-Instruct-2507_q8:latest 3181243d1181 4.3 GB 6 days ago
LangChain运行本地模型代码如下:
from langchain.chat_models import init_chat_model
llm = init_chat_model(
#本地模型名
model="hopephoto/Qwen3-4B-Instruct-2507_q8:latest",
model_provider="ollama",
# temperature 0.1~0.9之间,值越小回答越稳定,越高随机性越高
temperature=0.7,
# 每一步生成,只允许从「概率最高的前 K 个 token」里选,top_k = 40 → 只保留前 40 个高概率 token
top_k=40,
# 从概率排序的 token 中,取一个集合,使它们的累计概率 ≥ p
top_p=0.95,
base_url="http://localhost:11434",
)
messages = [("system", "你是乐于助人的助手,请根据用户的问题给出回答"),("human", "你好,介绍一下自己"),]
resp = llm.invoke(messages)
print(resp.content)运行结果:
你好!很高兴你来找我聊天~✨ 我是一个乐于助人的AI助手,专门为你提供各种帮助,比如解答问题、写文章、做数学题、编程、规划行程等等。无论你是想了解某个知识点,需要灵感创意,还是只是想找人聊聊,我都会尽力以清晰、耐心又友好的方式陪你一起探索和解决问题。
你可以问我任何你想知道的事情,无论是生活中的小困惑,还是学习工作上的难题,我都愿意倾听并提供帮助!😊
所以,有什么我可以帮到你的吗?🌟
上一篇: Ubuntu本地部署dots.ocr
下一篇: 没有了
51968
51771
42052
38894
33390
30356
28994
24016
23926
22286
9°
484°
2655°
3352°
2768°
2761°
3538°
2719°
3548°
5850°