位置: 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):视差图、深度图、点云(立体匹配原理)

  • 支付宝健康码怎么添加孩子的(支付宝健康码怎么解除绑定)

    支付宝健康码怎么添加孩子的(支付宝健康码怎么解除绑定)

  • 华为nova7pro支持内存扩展的吗(华为nova7pro支持nfc功能吗)

    华为nova7pro支持内存扩展的吗(华为nova7pro支持nfc功能吗)

  • 小米8听筒声音小怎么办声音已经加到最大(小米8听筒声音突然变小了)

    小米8听筒声音小怎么办声音已经加到最大(小米8听筒声音突然变小了)

  • 淘宝我的小蜜在哪(淘宝我的小蜜在哪里找)

    淘宝我的小蜜在哪(淘宝我的小蜜在哪里找)

  • 2g显卡够用吗(目前主流显卡)

    2g显卡够用吗(目前主流显卡)

  • QQ昵称更改失败为什么(为何qq昵称修改失败)

    QQ昵称更改失败为什么(为何qq昵称修改失败)

  • 屏幕乱跳是内屏坏了吗(屏幕乱跳是内屏坏了吗苹果)

    屏幕乱跳是内屏坏了吗(屏幕乱跳是内屏坏了吗苹果)

  • 贴钢化膜要把手机自带的膜撕掉吗(贴钢化膜要把手机原装膜撕下来吗)

    贴钢化膜要把手机自带的膜撕掉吗(贴钢化膜要把手机原装膜撕下来吗)

  • 苹果手机直播卡的原因(苹果手机直播卡顿)

    苹果手机直播卡的原因(苹果手机直播卡顿)

  • 小米10突然卡顿严重(小米10突然卡顿怎么解决)

    小米10突然卡顿严重(小米10突然卡顿怎么解决)

  • 饿了么品质联盟怎么加入(饿了么品质联盟是什么)

    饿了么品质联盟怎么加入(饿了么品质联盟是什么)

  • 苹果11自动调节亮度怎么关闭(苹果11自动调节亮度不管用)

    苹果11自动调节亮度怎么关闭(苹果11自动调节亮度不管用)

  • c盘用户文件夹可以删除吗(c盘用户文件夹怎么改名)

    c盘用户文件夹可以删除吗(c盘用户文件夹怎么改名)

  • 抖音必须用手机注册吗(一个手机怎么安装两个抖音)

    抖音必须用手机注册吗(一个手机怎么安装两个抖音)

  • 抖音定位是什么意思(抖音怎么定位自己想要的位置)

    抖音定位是什么意思(抖音怎么定位自己想要的位置)

  • win10电脑音量键没反应(win10电脑音量键是灰色的)

    win10电脑音量键没反应(win10电脑音量键是灰色的)

  • 小米手机小爱同学怎么关(小米手机小爱同学怎么设置自己的声音)

    小米手机小爱同学怎么关(小米手机小爱同学怎么设置自己的声音)

  • 互联网p2p是什么意思(p2p互联网借贷)

    互联网p2p是什么意思(p2p互联网借贷)

  • zip文件手机怎么打开(zip文件手机怎么下载)

    zip文件手机怎么打开(zip文件手机怎么下载)

  • vivo怎么换微信提示音(vivo手机怎么换微信图标)

    vivo怎么换微信提示音(vivo手机怎么换微信图标)

  • 小红书苹果怎么下载(小红书苹果怎么双开)

    小红书苹果怎么下载(小红书苹果怎么双开)

  • 怎么设置支付宝定位(怎么设置支付宝打开需要密码)

    怎么设置支付宝定位(怎么设置支付宝打开需要密码)

  • 页边距在哪(页边距在哪个选项卡)

    页边距在哪(页边距在哪个选项卡)

  • win10重置网络没网了(win10重置网络没有安装适配器)

    win10重置网络没网了(win10重置网络没有安装适配器)

  • vivox9备份在哪(vivox9备份在哪里找到)

    vivox9备份在哪(vivox9备份在哪里找到)

  • oppo手环怎么连接手机(oppo手环怎么连接手机蓝牙)

    oppo手环怎么连接手机(oppo手环怎么连接手机蓝牙)

  • 苹果手机5g可以用吗(苹果手机5g可以切换成4g吗)

    苹果手机5g可以用吗(苹果手机5g可以切换成4g吗)

  • 快手降权怎样快速恢复(快手降权限流怎么办)

    快手降权怎样快速恢复(快手降权限流怎么办)

  • 海南增值税发票图片
  • 国际避税地是什么
  • 进项税额已抵扣转出会计分录
  • 增值税本期应补退税额为负数怎么处理
  • 外地建筑工程开票流程
  • 房地产开发企业增值税税率
  • 国有资产报废如何委托拍卖公司
  • 公司投标成功
  • 预付款属于什么结算方式
  • 收到施工方给红包怎样处理
  • 非货币性资产交换损益计算
  • 福利进项税额转出怎么做账务处理
  • 破坏公司财产员工怎么处理
  • 维护费开的普票能全额抵扣吗?
  • 税务局拍卖资产
  • 北京市取暖标准
  • 企业大中小型划分最新标准
  • 防伪税控发票维修流程
  • 企业支付个人劳务费需要发票吗
  • 安防监控利润怎么样
  • 房屋出租后土地使用税谁来交
  • 如何在 Windows 11 上更改锁屏壁纸
  • win7使用小技巧
  • 隐藏资源管理器窗口
  • 硬盘的转速有什么用
  • 工业厂房修建需要哪些手续
  • 出口退税会计分录怎么做没退到税全部减免抵
  • 办理房屋租赁需要的材料
  • 公司法人变更账户没有改有影响吗
  • 房地产取得土地怎么做账
  • 小企业会计准则和一般企业会计准则的区别
  • 递延所得税负债借贷方向
  • php添加数据到数据库失败error
  • 现金溢余和短缺的会计分录
  • 织梦参数配置设置
  • 中国移动发票抬头开错了可以重开吗
  • 企业宣传视频制作方案
  • sql server 2008 r2数据库备份
  • 员工报销货款会计分录怎么写
  • 个人扣税是怎么扣的
  • 增值税预缴的计税依据
  • 外贸企业账务处理流程举例讲解
  • 电商平台返佣金个人税点
  • 企业所得税季报与年报的关系
  • 业务招待费纳税调整会计分录
  • 油票抵税能抵多少
  • 金税盘销项税额怎么导出来
  • 根据企业会计准则第4号固定资产,企业可选用的折旧方法
  • 矿山运输设备的点检绩效考核
  • 企业必须设立的账薄
  • 分享一个简单的故事英语
  • sqlserver查询所有表的行数
  • sqlserver锁表是什么意思
  • mysql常用命令
  • windowsxp显卡驱动在哪个位置
  • centos 进程查询
  • 电脑的本地连接在哪win10
  • linux环境和常用命令
  • ubuntu系统服务器
  • linux允许ping
  • 微软正式推出wind...
  • win8飞行模式在哪
  • 红石数据
  • 定时删除一个文件怎么删
  • scrollview怎么用
  • 游戏引擎有几种
  • unity4.x升级到unity5.x材质丢失
  • jquery弹出窗口的方法
  • nodejs mocha
  • Node.js中的全局变量有哪些
  • unity ugui合批
  • AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
  • linux中shell脚本实验总结
  • js的调试
  • 爬虫如何识别验证码
  • jquery选择器有哪些
  • 个人所得税如何申报详细流程
  • 减免税的三种方式
  • 起诉公司需要法人信息吗
  • 季度申报成功与否怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设