位置: IT常识 - 正文

大语言模型集成工具 LangChain(大语言模型集成工具)

编辑:rootadmin
大语言模型集成工具 LangChain 大语言模型集成工具 LangChainLangChain 介绍介绍:通过可组合性使用大型语言模型构建应用程序【背景】大型语言模型 (LLM) 正在成为一种变革性技术,使开发人员能够构建他们以前无法构建的应用程序,但是单独使用这些 LLM 往往不足以创建一个真正强大的应用程序,当可以将它们与其他计算或知识来源相结合时,就有真的价值了。LangChain 旨在协助开发这些类型的应用程序使用文档:https://langchain.readthedocs.io/en/latest/index.html代码:https://github.com/hwchase17/langchain安装介绍库安装pip install langchainpip install openaiOPENAI KEY 获取:淘宝上花几块钱购买一个是最方便的途径或到 https://openai.com/blog/openai-api/ 网站申请账号,申请周期有可能会比较长添加环境变量在终端运行:export OPENAI_API_KEY="..."或在 python 脚本中添加:import os; os.environ["OPENAI_API_KEY"] = "..."LangChain 应用(基于0.0.64 版本测试)获取 LLM 的预测 (QA 任务)获取 LLM 的预测是最直接的应用方式,测试样例如下text = "What would be a good company name a company that makes colorful socks?"print(llm(text)) # 返回 Socktastic!

推荐整理分享大语言模型集成工具 LangChain(大语言模型集成工具),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:语言学集群模型,语言模型算法,语言模型perplexity,语言模型plug,语言模型plug,语言模型有什么用,大语言模型集成有哪些,大语言模型集成有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

简单数学问题:

from langchain.llms import OpenAI # 导入 LLM wrapperllm = OpenAI(temperature=0.9) # 大的 temperature 会让输出有更多的随机性text = "what is the results of 5+6?"print(llm(text)) # 返回 11text = "what is the results of 55+66?"print(llm(text)) # 返回 121text = "what is the results of 55555+66666?"print(llm(text)) # 返回 122221text = "what is the results of 512311+89749878?"print(llm(text)) # 返回 89,876,189,终于错了...大语言模型集成工具 LangChain(大语言模型集成工具)

另一个例子,这里返回的是同义词,如果要返回同音词则需要修改输入的 prompt(另外一个解决方式是基于以下章节中的 Memory 模式):

text = "what word is similar to good?"print(llm(text)) # 返回 Excellenttext = "what word is homophone of good?"print(llm(text)) # 返回 Goo输入 prompts 模板设置在上面根据公司生产的产品生成公司名字的应用中,一种让用户输入更简单的方式是仅让客户输入公司生产的产品即可,不需要输入整个语句,这需要对 prompts 设置模板:from langchain.prompts import PromptTemplateprompt = PromptTemplate( input_variables=["product"], template="What is a good name for a company that makes {product}?",)print(prompt.format(product="colorful socks")) # 返回 What is a good name for a company that makes colorful socks?text = prompt.format(product="colorful socks")print(llm(text)) # 返回 Socktastic!text = prompt.format(product="chocolates")print(llm(text)) # 返回 ChocoDelightz!Memory 功能: 在 LLM 交互中记录交互的历史状态,并基于历史状态修正模型预测

该实现基于论文: MemPrompt

即当模型出错了之后,用户可以反馈模型错误的地方,然后这些反馈会被添加到 memory 中,以后遇到类似问题时模型会提前找到用户的反馈,从而避免犯同样的错

对话任务中的 ConversationChain 示例(ConversationBufferMemory 模式),verbose=True 会输出对话任务中的 prompt,可以看到之前聊天会作为短期 memory 加在 prompt 中,从而让模型能有短时间的记忆能力:

from langchain import OpenAI, ConversationChainllm = OpenAI(temperature=0)conversation = ConversationChain(llm=llm, verbose=True)conversation.predict(input="Hi there!") # 返回如下#> Entering new ConversationChain chain...#Prompt after formatting:#The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific #details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.#Current conversation:#Human: Hi there!#AI:#> Finished chain.# Out[53]: " Hi there! It's nice to meet you. How can I help you today?"conversation.predict(input="I'm doing well! Just having a conversation with an AI.") # 返回如下#Prompt after formatting:#The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific #details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.#Current conversation:#Human: Hi there!#AI: Hi there! It's nice to meet you. How can I help you today?#Human: I'm doing well! Just having a conversation with an AI.#AI:#> Finished chain.#Out[54]: " That's great! It's always nice to have a conversation with someone new. What would you like to talk about?"LangChain 这里看起来没有直接在 QA 任务中集成 memprompt,不过可以基于对话任务来测试之前 QA 任务中出错的问题,可以看到基于 memprompt 确实可以利用用户的反馈来修正模型预测结果:conversation.predict(input="what word is similar to good?") # 返回 ' Synonyms for "good" include excellent, great, fine, and superb.'conversation.predict(input="similar to means with similar pronunciation") # 返回 ' Ah, I see. Synonyms for "good" with similar pronunciation include wood, hood, and should.'

这里的实现看起来和 memprompt 非常类似,每个问题不会直接回答答案,而是回答 understating+answer,从而让用户可以基于对 understating 的理解来判断模型反馈是否符合用户的预期,而不用直接判断 answer 的正确性

对话任务中的其他几种 memory 添加模式

ConversationSummaryMemory:与 ConversationBufferMemory 类似,不过之前的对话会被总结为一个 summary 加在 prompt 中ConversationBufferWindowMemory:在 ConversationBufferMemory 模式基础上加个滑窗,即只加入最近几次对话的记录,避免 memory buffer 过大ConversationSummaryBufferMemory:结合以上两种方式,将之前的对话总结为一个 summary 加在 prompt 中,同时会设置一个 prompt 最大词汇数量,超过该词汇数量的时候会抛弃更早的对话来使 prompt 的词汇数量符合要求

更高级的 memory 使用方式

Adding Memory to a Multi-Input Chain:主要用于 QA 任务,用一个语料库作为 memory,对于输入的 prompt,找到与该 prompt 类似的信息加在 prompt 中,从而能利用上语料库中的信息Adding Memory to an Agent:对于具备 google 搜索功能的 Agent,可以将对话历史记录到 memory 中,从而能让 Agent 对某些与之前历史结合的对话理解更准确总结LangChain 基于 OPENAI 的 GPT3 等大语言模型设计一系列便于集成到实际应用中的接口,降低了在实际场景中部署大语言模型的难度
本文链接地址:https://www.jiuchutong.com/zhishi/299861.html 转载请保留说明!

上一篇:vue中的provide/inject你知道吗(vue2、vue3)?(vue中的路由参数如何获取)

下一篇:立体匹配入门指南(8):视差图、深度图、点云(立体匹配原理)

  • 两点论淘宝客该如何推广(淘宝客对店铺有好处吗)

    两点论淘宝客该如何推广(淘宝客对店铺有好处吗)

  • 小米手表可以用微信吗(小米手表可以用QQ吗)

    小米手表可以用微信吗(小米手表可以用QQ吗)

  • vivox70是什么处理器(vivoX70是什么处理器)

    vivox70是什么处理器(vivoX70是什么处理器)

  • 电脑版WPS怎么移动幻灯片的位置(wps怎么移到桌面)

    电脑版WPS怎么移动幻灯片的位置(wps怎么移到桌面)

  • 苹果手机怎么把照片拼在一起(苹果手机怎么把通讯录导入新苹果)

    苹果手机怎么把照片拼在一起(苹果手机怎么把通讯录导入新苹果)

  • 戴尔g7散热怎么开(戴尔g7电脑如何开启极致散热)

    戴尔g7散热怎么开(戴尔g7电脑如何开启极致散热)

  • 美团众包注销后重新注册是新用户吗(美团众包注销后还能恢复吗)

    美团众包注销后重新注册是新用户吗(美团众包注销后还能恢复吗)

  • 苹果xr怎么有的重有的轻(苹果xr为什么是真香机)

    苹果xr怎么有的重有的轻(苹果xr为什么是真香机)

  • 拼多多匿名购买好友还能看到吗(拼多多匿名购买拼小圈好友能看到吗)

    拼多多匿名购买好友还能看到吗(拼多多匿名购买拼小圈好友能看到吗)

  • excel序号怎么自动排序(excel序号怎么自动生成)

    excel序号怎么自动排序(excel序号怎么自动生成)

  • nex3s和nex3区别(nex3跟nex3s有什么区别)

    nex3s和nex3区别(nex3跟nex3s有什么区别)

  • 个人能申请抖音蓝V吗(个人能申请抖音企业号吗)

    个人能申请抖音蓝V吗(个人能申请抖音企业号吗)

  • qq作业上传失败是怎么回事(qq作业上传时点不开去完成)

    qq作业上传失败是怎么回事(qq作业上传时点不开去完成)

  • focusky手机版能用吗(focusky有没有手机版)

    focusky手机版能用吗(focusky有没有手机版)

  • 美图mp1602是不是t8(美图mp1602是啥型号)

    美图mp1602是不是t8(美图mp1602是啥型号)

  • ipad快捷键怎么调出来(ipad快捷键怎么取消)

    ipad快捷键怎么调出来(ipad快捷键怎么取消)

  • 照片上下黑色框怎么弄(照片上下黑边)

    照片上下黑色框怎么弄(照片上下黑边)

  • 苹果11有led闪光灯吗(苹果11led闪光灯怎么设置)

    苹果11有led闪光灯吗(苹果11led闪光灯怎么设置)

  • 微信上面的字是怎么设置的(微信上面的字是怎么弄拼音的)

    微信上面的字是怎么设置的(微信上面的字是怎么弄拼音的)

  • 结构化程序设计缺点(结构化程序设计方法)

    结构化程序设计缺点(结构化程序设计方法)

  • 苹果11pro屏幕尺寸(苹果11pro屏幕尺寸一样吗)

    苹果11pro屏幕尺寸(苹果11pro屏幕尺寸一样吗)

  • 掌通家园可以回放吗(掌通家园可以回看吗)

    掌通家园可以回放吗(掌通家园可以回看吗)

  • 微信如何20人同时语音

    微信如何20人同时语音

  • 美团评价成功不显示(美团评价成功不显示订单)

    美团评价成功不显示(美团评价成功不显示订单)

  • 操作系统的设备管理(运行网络操作系统的设备)

    操作系统的设备管理(运行网络操作系统的设备)

  • ocxdll.exe - ocxdll是什么进程 有什么用

    ocxdll.exe - ocxdll是什么进程 有什么用

  • [YOLOv7/YOLOv5系列算法改进NO.7]损失函数改进(yolov5s)

    [YOLOv7/YOLOv5系列算法改进NO.7]损失函数改进(yolov5s)

  • 个人所得税应纳税所得额减半征收
  • 出口退税账务怎么做账
  • 以现金支付
  • 季度末收取房屋的会计处理
  • 上年多交的增值税能退吗
  • 农机合作社项目复核报告
  • 税率为0的发票长啥样
  • 航空公司开具的个人抬头的发票可以税前扣除吗
  • 其他应付款在借方资产负债表怎么填
  • 印花税是当月交当月的吗
  • 银行贷款印花税是什么意思
  • 一般纳税人软件销售税率
  • 二房东转租如何办理营业执照
  • 装修保证金怎么记账
  • 坏账准备的账务处理怎么理解
  • 财务部门使用固定资产的折旧计入管理费用
  • 收到补助款的会计分录
  • 挂靠被查出来后挂靠费怎么处理?
  • 免税农产品转出进项税税率
  • 个税公司承担怎么做账计入其他应收款怎么平账
  • 没收到发票可以勾选认证吗
  • 收到认证费用计入什么科目
  • 开票金额与收入金额有差额可以吗
  • 公司年度财务报告怎么写
  • 发出商品发生损失
  • 政府购买缴纳社保吗
  • synchost.exe - synchost是什么进程 有什么作用
  • 生产车间工人发放福利
  • 作废的凭证不能恢复吗
  • 电子承兑兑现手续费
  • 生产企业尿素产量怎么算
  • yii2框架的优缺点
  • thinkphp框架的作用
  • js读取本地excel
  • vue项目移动端怎么做适配
  • vue mocha
  • pyecharts 表格
  • ps如何进行像素修复
  • php 注入
  • python socket发送文件
  • 修的公路是否上固定资产
  • 代理返点怎么算
  • 能单独打一张发票的软件
  • 查账征收利润50万交多少税
  • 办公室装修费多少钱可以一次性入账
  • 税控盘的作用是什么
  • 营业外收入交企业所得税吗
  • 无票收入怎么计算
  • 旧设备出口可以退税吗
  • 改变记帐方式的原因
  • 支付货代运费账务处理
  • 劳务派遣公司主营业务成本是什么
  • 工程承建方给予什么赔偿
  • 前程无忧是怎么收费的
  • 补缴以前年度养老保险分录
  • 进项税额抵扣不完要做分录吗
  • 开销项负数的流程
  • 购买税盘全额抵扣会计分录
  • 实收资本实际缴纳要去税务局备案吗
  • mysql5.7.29安装
  • mysql 常用
  • windows mysql1045
  • 快速解决小孩便秘
  • windows任务管理器怎么打开
  • winxp系统怎么装
  • window 启动
  • win7系统打开浏览器后突然卡住了
  • 新版itunes怎么导入音乐
  • linux的curl
  • 蓝屏 win7
  • win8的开始菜单在哪里
  • bootstrap步骤
  • python文本处理教程
  • 编写shell脚本,批量建立用户
  • jquery怎么给文本框赋值
  • python读取一个文件并写入另一个文件
  • 税务局网上申请开票
  • 深圳国税服务
  • 党建阵地作用发挥不好
  • 地税局刚进去工资多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设