当前位置: 首页 > article >正文

通过 Langchain 框架实现 ChatGPT 的使用

一. 简介Langchain 框架LangChain 是一个开源框架是一个让大语言模型如ChatGPT能连接外部工具、记忆对话、执行复杂任务的“智能助手”开发框架解决了LLM应用开发中的各种工程化问题。# LangChain 的核心定位LLM应用的脚手架┌─────────────────────────────────────────────────┐ │ LangChain 的核心理念 │ ├─────────────────────────────────────────────────┤ │ 连接LLM与外部工具和数据源 │ │ 模块化设计像乐高一样组合功能 │ │ 简化复杂LLM应用的开发流程 │ │ 提供丰富的工具链和最佳实践 │ │ 支持多种LLMOpenAI、本地模型、开源模型 │ └─────────────────────────────────────────────────┘二. LangChain 核心模型完整模块结构LangChain_Modules{Models:{功能:连接各种LLM,支持:[OpenAI,Anthropic,本地模型,HuggingFace,Cohere,Google PaLM],示例:ChatOpenAI(), ChatOllama(), HuggingFacePipeline(),子模块:{LLMs:文本补全模型如GPT-3,Chat Models:对话模型如ChatGPT,Embeddings:文本向量化模型}},Prompts:{功能:模板化提示词管理,特性:[变量替换,少样本示例,输出解析器,提示词优化],示例:ChatPromptTemplate, FewShotPromptTemplate, PromptTemplate,组件:{Prompt Templates:带变量的提示词模板,Example Selectors:动态选择少样本示例,Output Parsers:解析LLM输出为结构化数据}},Chains:{功能:组合多个LLM调用,类型:[简单链,顺序链,路由链,转换链,Map-Reduce链],示例:LLMChain, SequentialChain, TransformChain, RouterChain,应用场景:{问答系统:检索 → 生成 → 验证,文档总结:分割 → 总结 → 合并,代码生成:需求分析 → 代码生成 → 测试}},Agents:{功能:让LLM自主使用工具,工具库:[计算器,网页搜索,Python解释器,API调用,数据库查询,文件操作],示例:create_react_agent, create_json_agent, initialize_agent,代理类型:{Zero-shot:零样本学习根据工具描述选择,ReAct:思考-行动-观察循环,Self-ask:自我提问分解复杂问题,Plan-and-execute:先规划再执行}},Memory:{功能:管理对话历史,类型:[对话缓冲,摘要记忆,向量存储记忆,实体记忆,组合记忆],示例:ConversationBufferMemory, ConversationSummaryMemory, VectorStoreRetrieverMemory,存储方式:{短期记忆:保存最近对话ConversationBufferMemory,长期记忆:对话摘要ConversationSummaryMemory,语义记忆:向量检索相关历史VectorStoreRetrieverMemory,实体记忆:记住用户信息EntityMemory}},Indexes:{功能:处理外部文档和数据,组件:[文档加载器,文本分割器,向量存储,检索器],示例:TextLoader, CharacterTextSplitter, FAISS, Chroma,RAG流程:{加载:从各种来源加载文档PDF、网页、数据库,分割:将长文档切分为合适片段,向量化:将文本转换为向量表示,存储:存入向量数据库,检索:根据查询检索相关片段}}}三. 通过 Langchain 框架实现 ChatGPT 的使用简单的代码实现# 导入LangChain的OpenAI聊天模型封装类fromlangchain_openaiimportChatOpenAI# 创建ChatOpenAI模型实例# LangChain是对OpenAI API的高级封装提供更多功能和便捷接口llmChatOpenAI(# 指定使用的模型gpt-4o是OpenAI最新的多模态模型modelgpt-4o,# 可选直接传入API密钥不推荐建议使用环境变量# api_keyyour-api-key-here, # 如果不想用环境变量可以在这里直接传key# 可选自定义API基础URL用于代理或本地部署# base_urlhttps://api.openai.com/v1, # 默认就是OpenAI官方API地址# 其他可选参数未在此示例中显示# temperature: 控制输出的随机性0-2之间默认0.7# max_tokens: 最大生成token数# timeout: 请求超时时间# streaming: 是否启用流式响应)# 定义消息列表构建对话上下文# LangChain使用特定的消息格式(角色, 内容) 或 {role: ..., content: ...}messages[# 系统消息设置AI助手的角色和任务(system,# 消息角色系统用于设定AI的行为和身份You are a helpful assistant that translates English to French. Translate the user sentence.,# 系统提示内容定义助手为英法翻译器),# 用户消息用户的输入(human,# 消息角色用户human是LangChain中对user的别名I love programming.,# 用户输入内容要翻译的英文句子),# 可以继续添加更多消息如之前的AI回复# (ai, Jaime la programmation.), # AI的回复# (human, How about I enjoy learning?), # 用户的后续问题]# 调用模型生成回复# invoke()方法是同步调用会阻塞直到收到完整响应ai_msgllm.invoke(messages)# ai_msg是一个AIMessage对象包含# - content: AI的回复文本# - additional_kwargs: 其他元数据如token使用情况等# 获取AI回复的文本内容# translation ai_msg.content# print(f翻译结果: {translation})# 注意实际使用前需要设置环境变量# export OPENAI_API_KEYsk-your-key-here 或设置在代码中

相关文章:

通过 Langchain 框架实现 ChatGPT 的使用

一. 简介Langchain 框架:LangChain 是一个开源框架,是一个让大语言模型(如ChatGPT)能连接外部工具、记忆对话、执行复杂任务的“智能助手”开发框架,解决了LLM应用开发中的各种工程化问题。# LangChain 的核心定位&…...

Alibaba DASD-4B Thinking 对话工具在网络安全领域的应用:智能威胁分析与响应

Alibaba DASD-4B Thinking 对话工具在网络安全领域的应用:智能威胁分析与响应 每天,安全运维团队的工程师们都要面对海量的安全告警。防火墙日志、入侵检测系统的报警、终端防护软件的提示……这些信息像潮水一样涌来。传统的处理方式,往往依…...

效率提升:用快马AI一键生成医院预约系统的核心排班管理代码

医院预约系统开发笔记:如何用AI快速搞定排班管理模块 最近在开发一个医院预约系统,发现排班管理模块特别费时间。传统的开发方式需要手动编写大量重复性代码,从数据库设计到API接口,再到各种业务逻辑校验,一个完整的排…...

实战应用:基于编译原理,利用快马AI构建你的首个代码压缩工具

实战应用:基于编译原理,利用快马AI构建你的首个代码压缩工具 最近在学习编译原理,发现这门看似高深的学科其实离我们日常开发很近。比如代码压缩工具,就是编译原理技术的典型应用场景。今天就用InsCode(快马)平台来快速实现一个简…...

实战react项目:基于快马ai快速构建包含图表与导航的用户数据仪表盘

最近在做一个用户数据仪表盘项目,正好用React配合Ant Design实现了一套完整的界面。这种包含导航、图表和动态数据的页面在后台系统中很常见,记录下我的实现思路和踩坑经验。 项目结构规划 首先用create-react-app初始化项目,然后按功能模块…...

新手友好:基于快马平台快速上手dhnvr416h-hd设备数据监控开发

新手友好:基于快马平台快速上手dhnvr416h-hd设备数据监控开发 最近在做一个物联网项目,需要对接dhnvr416h-hd设备的数据监控功能。作为刚接触这个领域的新手,我发现理解设备数据格式和通信流程是最关键的第一步。好在通过InsCode(快马)平台的…...

安全治理加速金融AI收入增长

金融机构正在学习如何部署合规的AI解决方案,以实现更大的收入增长和市场优势。在过去十年的大部分时间里,金融机构主要将AI视为提高纯粹效率的机制。在那个时代,量化团队编写系统来发现账本差异或减少自动交易执行时间中的毫秒。只要季度资产…...

DCT-Net人像卡通化真实案例:企业年会电子抽奖卡通头像墙

DCT-Net人像卡通化真实案例:企业年会电子抽奖卡通头像墙 年底了,公司年会又要来了。行政部的同事找到我,说今年想搞点新花样,电子抽奖环节能不能不用大家千篇一律的证件照,换成好玩的卡通头像墙?这样抽奖的…...

Echo:预测智能的一小步,通往通用智能的一大步

来源:机器之心大模型能否预测未来?UniPat AI 构建了一套完整的预测智能基础设施,Echo,包含动态评测引擎、面向未来事件的训练范式和预测专用模型 EchoZ-1.0。在其公开的 General AI Prediction Leaderboard 上,EchoZ-1…...

Qwen-Turbo-BF16数据库课程设计:智能问答系统开发

Qwen-Turbo-BF16数据库课程设计:智能问答系统开发 想象一下,你正在上一门数据库课程。老师布置了一个课程设计:开发一个学生信息管理系统。你需要设计表结构,写SQL查询,还要做个简单的界面。你埋头苦干,终…...

Oni-Duplicity:轻松定制《缺氧》游戏体验,告别资源与角色困扰

Oni-Duplicity:轻松定制《缺氧》游戏体验,告别资源与角色困扰 【免费下载链接】oni-duplicity A web-hosted, locally-running save editor for Oxygen Not Included. 项目地址: https://gitcode.com/gh_mirrors/on/oni-duplicity 你是否曾在《缺…...

Precor必确 GLUTEBUILDER 系列,带来系统化臀部训练解决方案

在健身训练不断细分的当下,臀部训练早已不再是“顺带练一练”的附属项目,而是被置于与胸、背、腿同等重要的核心地位。然而,真正高效的臀腿训练,从来不是简单堆叠负重,而是建立在精准发力与动作模式科学之上的系统工程…...

硕博必看|论文盲审前,这些硬伤一定要避开!

作为过来人,太懂硕博生面对论文盲审的焦虑——熬夜完成的论文,查重、改格式、找导师签字后,仍怕因细节被盲审专家打回、延毕。盲审专家只看质量不看人情,很多不起眼的小问题,都可能成为“致命扣分点”。今天分享核心干…...

Guardrails未来版本路线图:10大新功能全面展望与AI安全演进

Guardrails未来版本路线图:10大新功能全面展望与AI安全演进 【免费下载链接】guardrails Adding guardrails to large language models. 项目地址: https://gitcode.com/gh_mirrors/gu/guardrails 在大型语言模型(LLM)应用日益普及的今…...

Springboot 整合 SaToken 实现高效鉴权与动态路由拦截实战

1. 为什么选择SaToken做权限管理? 第一次接触SaToken是在去年重构一个内部管理系统时。当时项目用的是Spring Security,配置繁琐不说,光是解决一个"记住我"功能就折腾了两天。后来偶然发现这个国产框架,只用三行代码就实…...

2026算力大劫:全球开发者都在问:廉价算力到底去哪了?哪里的token性价比最高?

▶︎点击这里查看最新套餐https://coding.dongyao.ren/ 1. 2026:被“刺客”化的算力账单 进入2026年,AIGC行业并没有迎来预想中的“算力普惠”。相反,随着GPT-5.5等万亿参数模型成为企业刚需,以及北美云巨头在2026年第一季度集体…...

3月31枚举

...

无需安装jupyter notebook,在快马平台5分钟搭建你的第一个数据分析原型

今天想和大家分享一个快速搭建数据分析原型的经验。作为一个经常需要验证想法的数据分析师,最头疼的就是每次换电脑或重装系统后配置Jupyter Notebook环境的过程。最近发现了一个超省心的解决方案,不用本地安装就能直接开搞数据分析。 为什么选择云端Ju…...

高效突破语言壁垒:KISS Translator的全场景翻译解决方案

高效突破语言壁垒:KISS Translator的全场景翻译解决方案 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.c…...

基于YOLO的安全帽佩戴检测系统~Python+模型训练+2026原创+YOLO算法

项目简介 基于 YOLO 的智能安全帽佩戴检测平台,面向施工现场图片识别、检测记录管理与安全宣传信息展示等业务场景。系统后端采用 Flask 搭建 RESTful API 服务,结合数据库进行业务数据持久化存储,并通过 JWT 实现用户身份认证与接口访问控制…...

学习---3

有序数组的排序:一、暴力解法:思路:遍历数组,对每个数组元素进行平方,再用sort排序。时间复杂度:O(nlog n)二、双指针解法:思路:如果有序数组中有负数,那么这个负数平方之…...

手把手教你用Python计算斯皮尔曼相关系数:从手动推导到scipy一键调用

深入掌握Python中的斯皮尔曼相关系数:从数学原理到实战应用 在数据分析领域,理解变量之间的关系是至关重要的。斯皮尔曼相关系数作为一种非参数统计量,能够揭示数据间的单调关联,而不仅仅是线性关系。本文将带你从基础概念出发&am…...

别再硬编码了!用注解+工厂模式,5分钟为你的Java应用扩展一个新PLC协议(ModbusTCP/S7为例)

工业物联网中Java协议扩展的优雅实践:注解驱动与工厂模式深度整合 工业物联网(IIoT)平台的开发者们经常面临一个棘手问题:如何在不重构核心代码的情况下,快速接入各种PLC设备协议?想象一下这样的场景:你的系统已经稳定…...

新手也能看懂!5分钟搞懂图像频谱图:用MATLAB的fft2和fftshift分析图片细节

图像频谱图解析:用MATLAB透视照片的隐藏密码 想象一下,如果每张照片都能像X光片一样被"透视",让我们看到它内部隐藏的结构特征,那会怎样?这就是图像频谱图的魔力所在。不同于我们日常看到的像素排列&#xf…...

别再只盯着虚短虚断!运放设计必须掌握的6个非理想参数(附MCP6N16实测数据)

运算放大器非理想特性实战指南:从理论到MCP6N16实测 在嵌入式系统设计中,运算放大器如同精密仪器中的齿轮,其微小偏差可能导致整个测量系统的崩溃。许多工程师在初期学习阶段被"虚短虚断"的理想模型所束缚,直到实际项目…...

Windows 11本地Ollama大模型部署实战指南

1. Windows 11本地部署Ollama大模型的前期准备 最近在折腾本地大模型部署,发现Ollama这个工具确实挺适合新手入门的。相比其他复杂的部署方案,Ollama在Windows平台上的安装过程简单明了,而且支持多种主流开源大模型。不过在实际操作中&#x…...

省钱方案:用NAT主机+Frpc实现高速内网穿透(避坑指南)

低成本内网穿透实战:NAT主机与Frpc的高效组合方案 引言:为什么选择NAT主机Frpc方案? 对于需要远程访问家庭NAS、搭建私有云盘或部署开发测试环境的用户来说,内网穿透是刚需。传统方案要么成本高昂(独立IP服务器&#x…...

OpenModScan:免费开源的Modbus调试工具完整指南

OpenModScan:免费开源的Modbus调试工具完整指南 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 在工业自动化领域,Modbus通讯协议的调试和测试是…...

5步精通Trilium中文版:构建高效个人知识管理系统

5步精通Trilium中文版:构建高效个人知识管理系统 【免费下载链接】trilium-translation Translation for Trilium Notes. Trilium Notes 中文适配, 体验优化 项目地址: https://gitcode.com/gh_mirrors/tr/trilium-translation 认识Trilium:重新定…...

我试了opencli,3秒拿到知乎热榜——手把手教你把200+网站变成命令行

前言: 坦白说,我第一次看到opencli的时候,心想:"又一个给程序员用的 命令行工具 ,跟我没关系。" 然后我随手试了一条命令—— opencli bilibili hot 3秒钟,B站条直接出现在我眼前。标题、热度、排名,整整齐齐。 那一刻我意识到 这玩意儿不是给程序员用的,是…...