首页/新闻资讯/正文详情

【LLM-Langchain】Langchain大语言模型开发框架

发布时间:2026/9/25 7:25:23 来源:云帆数科 栏目:资讯中心
【LLM-Langchain】Langchain大语言模型开发框架
Langchain 框架Langchain 文档Langchain是一个基于大语言模型的端到端应用程序开发框架旨在简化和加速利用大型语言模型LLM和对话模型构建应用程序的过程。这个框架提供了一套全面的工具、组件和接口使开发者能够更轻松地创建和管理复杂的语言模型应用。它不仅提供了丰富的大型语言模型工具还支持在开源模型的基础上快速增强模型的功能。通过LangChain开发人员可以更轻松地管理与语言模型的交互无缝地连接多个组件并集成额外的资源如API和数据库等以加强应用的能力和灵活性。LangChain的核心理念是将语言模型的能力与外部数据和计算资源结合起来以实现更强大的应用功能。一、核心组件1. Models 模型2. Messages 消息3. Tools工具4. Short-term mermory 短期记忆5. Streaming 流式6. Structured output 结构化输出二、环境搭建创建python虚拟环境启动python虚拟环境避免依赖于系统python冲突mkdirlangchain-projectcdlangchain-project python3-mvenv venv_langchain#激活sourcevenv_langchain/bin/activate deactivate#需要退出时 退出虚拟环境安装Langchain与常用依赖包直接安装pipinstalllangchain[all]-ihttps://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com# -i 指定镜像源快一些Pass : 对于比较大容易超时的包可以拎出来先安装pipinstallopenai使用requirements.txt# requirements.txt zstandard0.25.0 requests_toolbelt1.0.0 langchain0.1.0pipinstall-rrequirements.txt# 安装安装完成使用网上网上资源的import无法导出除langchain以外的模块最新版本子模块位置可能已经调整卸载langchain 1.2.2官方install参考pipinstall-Ulangchain# Requires Python 3.10# Installing the OpenAI integrationpipinstall-Ulangchain-openai# Installing the Anthropic integrationpipinstall-Ulangchain-anthropic主流集成包以langchain-openai为例三、聊天应用实例ChatOpenAI测试模型deepseek-chatfromlangchain_openaiimportChatOpenAIif__name____main__:llmChatOpenAI(modeldeepseek-chat,#gpt-5-nano,# stream_usageTrue,# temperatureNone,# max_tokensNone,# timeoutNone,# reasoning_effortlow,# max_retries2,api_keyos.environ.get(DEEPSEEK_API_KEY)base_urlhttps://api.deepseek.com,# organization...,# other params...)messages[(system,你是一个社会学与计算机领域的领导者,),(human,如何看待在当前行业形式下主动辞职待业的人),#human]ai_msgllm.invoke(messages)print(ai_msg,end\n)print(ai_msg.text)返回response_metadata{token_usage:{completion_tokens:855,prompt_tokens:22,total_tokens:877,completion_tokens_details:None,prompt_tokens_details:{audio_tokens:None,cached_tokens:0},prompt_cache_hit_tokens:0,prompt_cache_miss_tokens:22},model_provider:openai,model_name:deepseek-chat,system_fingerprint:fp_eaab8d114b_prod0820_fp8_kvcache,id:fd63b20e-77c1-462a-bf12-b0e29e3aeb93,finish_reason:stop,logprobs:None}idlc_run--019b3588-b49d-7363-b421-4597c143aedf-0usage_metadata{input_tokens:22,output_tokens:855,total_tokens:877,input_token_details:{cache_read:0},output_token_details:{}}与直接使用openai的对比【LLM-deepseek】Deepseek大语言模型 ubuntu环境搭建与API接口调用实例langchain_openai ChatOpenAIfromlangchain_openaiimportChatOpenAI# 接口调用res_messageChatOpenAI(model,base_url,api_key,...,frequency_penalty0.2).invoke(messages[(system,,),(human,),])# 打印问答回应字符串print(res_message.text)openai# Results in underlying API call of:importopenai# 接口调用res_messageopenai.OpenAI(base_url,api_key,...).chat.completions.create(model,messages[{role:system,content:},{role:user,content:}],temperature0~1.5,streamFalse,frequency_penalty0.2,...)# 问答字符串响应print(res_message.choices[0].message.content)四、实例初始化参数completion paramsclient params五、工具调用服务器内置响应API工具工具绑定.bind_toolslist(dict))fromlangchain_openaiimportChatOpenAI modelChatOpenAI(model...,output_versionresponses/v1)tool{type:web_search}model_with_toolsmodel.bind_tools([tool])responsemodel_with_tools.invoke(What was a positive news story from today?)print(response.content)管理对话状态OpenAl的响应API支持管理对话状态。传入之前消息的响应ID将延续对话线程。六、Agent创建实例天气查询单Agentimportosfromlangchain_openaiimportChatOpenAIfromlangchain.agentsimportcreate_agentfromlangchain.toolsimporttool llmChatOpenAI(modeldeepseek-ai/DeepSeek-v3.2,#tencent/Hunyuan-MT-7B,api_keyos.environ.get(SILICONFLOW_API_KEY),base_urlos.environ.get(SILICONFLOW_API_URL,https://api.siliconflow.cn/v1))tooldefsearch(query): 搜索信息 returnf结果{query}tooldefget_weather(location): 获取位置的天气信息 returnf结果{location}的天气晴朗12~20度agentcreate_agent(modelllm,tools[search,get_weather])resultagent.invoke({messages:[{role:user,content:成都今天天气如何}]})print(result)多tool自主选择 Agentfromlangchain.agentsimportcreate_agentfromlangchain_core.toolsimporttoolfromlangchain_community.chat_modelsimportChatTongyiimportos# 1. 初始化模型llmChatTongyi(modelqwen-plus,temperature0.7,dashscope_api_keyos.environ.get(QWEN_API_KEY))# 2. 定义工具tooldefget_weather(city:str)-str:获取城市天气信息weather_db{北京:晴天15-25度,上海:多云18-28度,深圳:小雨20-30度,}returnweather_db.get(city,f{city}的天气信息暂不可用)tooldefcalculator(expression:str)-str:执行数学计算try:resulteval(expression)returnf计算结果:{expression}{result}except:return计算错误tooldefsearch_knowledge(query:str)-str:搜索知识库 实际应用是从向量数据库中查询向量数据库- 向量化存储 - 向量化 - 分块 - 文档清洗 - 文档加载 knowledge{LangChain:LangChain是一个用于开发LLM应用的框架支持工具、代理、内存管理等功能。,机器学习:机器学习是AI的子集让系统能从数据中自动学习和改进。,}forkey,valueinknowledge.items():ifkeyinquery:returnvaluereturnf未找到关于{query}的信息# 3. 创建 Agentagentcreate_agent(modelllm,tools[get_weather,calculator,search_knowledge],system_prompt你是一个专业的中文助手。仔细分析用户问题选择合适的工具来回答。)# 4. 使用 Agentresultagent.invoke({messages:[{role:user,content:langChain是什么}]})# 获取回答final_messageresult[messages][-1]print(f回答:{final_message.content})实际开发应用中知识库使用的是向量数据库搜索实现。2025年12月草稿

相关推荐

Bottle 插件开发指南:深入 Plugin API 与自定义插件实战
Bottle 插件开发指南:深入 Plugin API 与自定义插件实战

后端Web框架 【免费下载链接】bottle bottle.py is a fast and simple micro-framework for python web-applications. 项目地址: https://gitcode.com/gh_mirrors/bo/bottle 点击查看 免费下载 本指南以 Bottle 官方《Writing Plugins》文档为骨架,系统… · 2026/9/25 7:25:23

Atlas 300V Pro 24G推理加速卡详解与atlas部署YOLO实战指南
Atlas 300V Pro 24G推理加速卡详解与atlas部署YOLO实战指南

atlas部署yolo、atlas 300v 24g 是运算加速卡吗——这两个搜索词最近高频出现在我后台。实话实说,我第一次拿到这张Atlas 300V Pro 24G时也愣了半天:它长得像显卡,又不输出画面;说它算力强,参数表上写的却不是TFLOPS&a… · 2026/9/25 7:25:16

Atlas 300V推理加速卡实战:从环境配置到YOLOv5模型部署与调优
Atlas 300V推理加速卡实战:从环境配置到YOLOv5模型部署与调优

1. 初见Atlas 300V:先把这张卡的定位搞清楚如果你最近在搜索框里敲过“atlas 300v 24g 是运算加速卡吗”,大概率是被昇腾生态的命名绕晕了。我第一天拿到Atlas 300V 24G时也带着同样的疑惑——它到底算不算运算加速卡?和市面上常见的训练卡有… · 2026/9/25 7:25:10

在 Apache Storm 拓扑中集成 Apache Pulsar:Pulsar Storm Adaptor(Spout/Bolt)实战指南
在 Apache Storm 拓扑中集成 Apache Pulsar:Pulsar Storm Adaptor(Spout/Bolt)实战指南

消息队列后端流处理 【免费下载链接】pulsar Apache Pulsar - distributed pub-sub messaging system 项目地址: https://gitcode.com/gh_mirrors/pulsar28/pulsar 点击查看 免费下载 本文以 adaptors-storm.md(Pulsar 2.3.0 版本文档)为骨架… · 2026/9/25 8:21:59

【Python深度学习】Pytorch 二维张量常用方法
【Python深度学习】Pytorch 二维张量常用方法

在机器学习和深度学习领域,**张量(Tensor)**是数据的基本结构。二维张量(即2D Tensor)是张量的一个重要类型,它类似于传统的二维矩阵。 二维张量不仅具备行列结构,还可通过深度学习框架如PyTorch实现高效的数据处理。本文将介绍二维张量的基本概念、类型、创建、转换、… · 2026/9/25 8:21:53

基于 AWS SDK for .NET (v3) 构建无服务器照片资产管理应用(PAM)实战指南
基于 AWS SDK for .NET (v3) 构建无服务器照片资产管理应用(PAM)实战指南

示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/25 8:21:41

OptiScaler 完全指南:在 DLSS、FSR、XeSS 之间自由切换超采样,并为游戏开启帧生成
OptiScaler 完全指南:在 DLSS、FSR、XeSS 之间自由切换超采样,并为游戏开启帧生成

OptiScaler 完全指南:在 DLSS、FSR、XeSS 之间自由切换超采样,并为游戏开启帧生成 【免费下载链接】OptiScaler OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2/XeSS/FSR2 inputs, replaces native upscalers, enables FSR-FG/XeF… · 2026/9/25 8:21:41

Edge浏览器优化实战:从闪退、内存高到IE模式与开发者模式全解
Edge浏览器优化实战:从闪退、内存高到IE模式与开发者模式全解

这段时间我收到不少私信,都在问类似的问题:Edge浏览器到底还能不能用?为什么每次点开都慢吞吞、内存占用高,有时候还莫名其妙闪退,甚至一打开就跳转到2345网址导航。还有人直接把Edge和Chrome对比,搜“谷歌… · 2026/9/25 8:21:35

图书管理系统总体设计:核心表结构、权限模型与建表实践
图书管理系统总体设计:核心表结构、权限模型与建表实践

简介:面向软件工程课程设计与系统分析场景的《图书管理系统》总体设计文档,适合高校计算机专业学生和软件设计初学者参考。文档依照软件工程规范组织,系统阐述需求规定、运行环境、基本设计概念与处理流程,覆盖图书添加、删除、修… · 2026/9/25 8:21:35

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码