新闻详情

新闻详情

首页 / 资讯中心 / 详情

Langchain实战2-入门和基础

发布时间:2026/9/28 4:33:08来源:尧图网络
Langchain实战2-入门和基础
本节完成 LangChain 1.0 的第一个可运行闭环安装依赖、配置密钥、初始化模型、发送消息、创建 Agent并分别体验同步、批量、异步和流式调用。1. 环境准备推荐在虚拟环境中安装 LangChain 1.xpython-mvenv .venvsource.venv/bin/activate pipinstall-Ulangchain langgraph langchain-openai确认版本importlangchainimportlanggraphprint(langchain.__version__)print(langgraph.__version__)如果使用 OpenAI 兼容模型服务还需要设置密钥和服务地址importos API_KEYos.getenv(OPENAI_API_KEY)BASE_URLos.getenv(OPENAI_BASE_URL)ifnotAPI_KEY:raiseRuntimeError(请先配置 OPENAI_API_KEY)2. 1.0 的统一模型入口fromlangchain.chat_modelsimportinit_chat_model modelinit_chat_model(Qwen/Qwen3-8B,model_provideropenai,base_urlBASE_URL,api_keyAPI_KEY,temperature0.2,max_tokens1024,)init_chat_model()的价值在于统一不同模型供应商的初始化方式。业务层继续调用invoke()、stream()或ainvoke()更换模型时通常只需要修改配置。3. 最简单的模型调用responsemodel.invoke(请用三句话介绍 LangChain 1.0)print(type(response))print(response.content)返回值通常是AIMessage文本位于response.content同时还可能包含response_metadata模型、结束原因、请求信息usage_metadata输入、输出及总 Token 数tool_calls模型请求调用的工具id本次消息标识。4. 使用消息对象fromlangchain_core.messagesimportSystemMessage,HumanMessage messages[SystemMessage(content你是一名耐心的 Python 教师。),HumanMessage(content请解释什么是装饰器。),]responsemodel.invoke(messages)print(response.content)消息对象比拼接字符串更可靠因为它明确区分角色并能容纳工具消息、多模态内容和元数据。5. 批量、异步与流式调用5.1 批量调用questions[什么是 RAG,什么是 Agent,什么是 LangGraph,]responsesmodel.batch(questions)foriteminresponses:print(item.content)batch()适合离线处理多个输入但仍应关注供应商的并发和限流规则。5.2 异步调用importasyncioasyncdefmain():responseawaitmodel.ainvoke(解释 LangChain 1.0)print(response.content)asyncio.run(main())Web 服务中应优先使用异步方法避免模型请求期间阻塞工作线程。5.3 流式调用forchunkinmodel.stream(写一段关于 Agent 的简短介绍):ifchunk.content:print(chunk.content,end,flushTrue)流式输出不会降低总生成时间但能显著改善用户看到首个 Token 的等待体验。6. 创建第一个 Agentfromlangchain.agentsimportcreate_agent agentcreate_agent(modelmodel,tools[],system_prompt你是一个严谨、简洁的中文助手。,)resultagent.invoke({messages:[{role:user,content:LangChain 和 LangGraph 是什么关系}]})print(result[messages][-1].content)Agent 的输入与输出都是状态字典。messages中不仅保存用户消息与模型回答后续还会保存工具请求和工具结果。7. 从 Chain 转向 Graph维度旧版常见写法1.0 推荐方式Agent 创建Agent Executor 多步组合create_agent()执行状态调用链内部维护显式 State扩展能力Callback、HookMiddleware复杂流程嵌套 ChainLangGraph调用入口多种.run()/.call()invoke()/stream()8. 常见问题8.1 401 或鉴权失败检查 API Key、Base URL 和模型供应商是否匹配不要在地址末尾重复拼接/v1。8.2 模型名不存在模型名由供应商决定。OpenAI 兼容协议并不意味着所有供应商都支持相同模型名。8.3 返回值不能直接打印模型返回的是消息对象应读取.contentAgent 返回状态字典应读取result[messages][-1].content。8.4 Notebook 中异步报错Notebook 已运行事件循环时可直接使用responseawaitmodel.ainvoke(你好)9. 本节小结最小闭环只有三步初始化模型 → 使用统一消息格式 → 通过模型或 Agent 执行。掌握这个闭环后工具、记忆、RAG 和 Middleware 都是在同一状态模型上继续扩展。视频BV1xwVr6FEh4P34时长 17:17。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

烽火HG680-KA免拆机刷机教程:ADB开启技巧与完整实操 2026/9/28 6:38:55

烽火HG680-KA免拆机刷机教程:ADB开启技巧与完整实操

很多玩机顶盒的朋友都遇到过这种情况:手里一台烽火HG680-KA,配置不算差,但系统被运营商锁得死死的,桌面乱、预装多、想装个第三方软件还被限制,实在忍无可忍。网上一搜HG680-KA刷机教程,十有八九都在讲拆机…

阅读更多 →
从内部工具到独立产品:兼容性、文档与发布流程的实战复盘 2026/9/28 6:38:54

从内部工具到独立产品:兼容性、文档与发布流程的实战复盘

我做了很多年内部工具,帮团队写过配置检查脚本、补过CI流程、做过发布前自动校验。这些事我太熟了,因为用户就坐在隔壁工位,哪里有问题喊一嗓子就解决。直到去年,我把其中一个用了两年多的内部工具正式整理成对外产品发布&#xf…

阅读更多 →
如何做关于橱柜网站怎么选 2026/9/28 6:38:48

如何做关于橱柜网站怎么选

橱柜网站性能优化实战:3个步骤搞定域名服务器 刚接了个做橱柜定制的网站单子,甲方老板盯着屏幕问:“为啥我的官网加载要5秒?”我一看后台,域名解析指向了国外服务器,SSL证书还是自签的,代码里塞满了未压缩的高清大图。这就是典型的…

阅读更多 →
Docker Compose + ElasticSearch + IK + BM25:从零搭建 AI Agent 混合检索底座 2026/9/28 6:38:41

Docker Compose + ElasticSearch + IK + BM25:从零搭建 AI Agent 混合检索底座

1. 从零搭建 AI Agent 的检索底座:为什么是 Docker Compose ElasticSearch IK BM25做 AI Agent 的人迟早会撞上一堵墙:模型本身很聪明,但它不知道你私有的那堆文档里写了什么。你给它接一个向量库吧,语义召回确实强&#xff0c…

阅读更多 →
基于LangChain4j与LangGraph4j的低代码智能体工作流平台架构设计与实践 2026/9/28 6:38:41

基于LangChain4j与LangGraph4j的低代码智能体工作流平台架构设计与实践

1. 为什么要在 LangChain4j 和 LangGraph4j 上搭一层低代码工作流第一次接触这个组合是在一个内部工具项目里,当时的需求很直接:业务侧想自己拖拽配置一个“合同初审”流程,技术侧又不想为每个新流程重写一遍 Java 代码。试过纯 LangChain4j …

阅读更多 →
交通标志识别毕业设计:PyTorch轻量CNN实战指南 2026/9/28 6:38:41

交通标志识别毕业设计:PyTorch轻量CNN实战指南

简介:这是一份面向计算机专业本科生的高分毕业设计级交通标志识别项目,基于Python与CNN深度学习网络实现端到端图像分类任务,适用于毕业设计、课程设计及期末大作业等实践场景。资源包共19个文件,包含4个核心Python脚本&#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉