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

  • 微信绑信用卡为什么不能支付(微信绑信用卡为什么不能支付支付宝就可以)

    微信绑信用卡为什么不能支付(微信绑信用卡为什么不能支付支付宝就可以)

  • 华为matebook13可以用ps吗(华为matebook13可以当平板用吗)

    华为matebook13可以用ps吗(华为matebook13可以当平板用吗)

  • 淘宝店铺第几天给流量(淘宝店铺第几天上线)

    淘宝店铺第几天给流量(淘宝店铺第几天上线)

  • 爱奇艺会员怎么不让别人用(爱奇艺会员怎么关闭自动续费)

    爱奇艺会员怎么不让别人用(爱奇艺会员怎么关闭自动续费)

  • beat studio3 降噪怎么打开(beats studio3降噪原理)

    beat studio3 降噪怎么打开(beats studio3降噪原理)

  • 收付款二维码发给别人了怎么办(收付款二维码发给别人可以消费吗)

    收付款二维码发给别人了怎么办(收付款二维码发给别人可以消费吗)

  • 华为9x怎么截图全屏(华为9x怎么截图快捷键)

    华为9x怎么截图全屏(华为9x怎么截图快捷键)

  • 网络运营商是什么(网络运营商是什么单位)

    网络运营商是什么(网络运营商是什么单位)

  • qq长时间不用会被注销吗(qq长时间不用会被别人用吗)

    qq长时间不用会被注销吗(qq长时间不用会被别人用吗)

  • 小米cc10什么时候出(小米cc10e还会出吗)

    小米cc10什么时候出(小米cc10e还会出吗)

  • 腾讯会议要开摄像头吗(腾讯会议要开摄像头怎么办)

    腾讯会议要开摄像头吗(腾讯会议要开摄像头怎么办)

  • 华为mate30pro充满电自动断电吗(mate30pro充电多久满)

    华为mate30pro充满电自动断电吗(mate30pro充电多久满)

  • 探探搜不出附近的人了(探探为什么找不到附近的人)

    探探搜不出附近的人了(探探为什么找不到附近的人)

  • 苹果6电池多少毫安(苹果6电池多少钱原装)

    苹果6电池多少毫安(苹果6电池多少钱原装)

  • 不支持7天无理由的可以退款吗(不支持7天无理由的类目)

    不支持7天无理由的可以退款吗(不支持7天无理由的类目)

  • 电子秤按键部分失灵怎么修(电子秤上的按键)

    电子秤按键部分失灵怎么修(电子秤上的按键)

  • 三张照片怎么合成一张(三张照片怎么合并)

    三张照片怎么合成一张(三张照片怎么合并)

  • 小爱是什么手机的语音助手(小爱是什么手机的机器人)

    小爱是什么手机的语音助手(小爱是什么手机的机器人)

  • bingo系统是什么手机(bingo系统官网)

    bingo系统是什么手机(bingo系统官网)

  • 手机怎样禁止他人qq号登录(手机怎么禁止)

    手机怎样禁止他人qq号登录(手机怎么禁止)

  • 打印机缩印怎么操作(打印机缩印怎么设置)

    打印机缩印怎么操作(打印机缩印怎么设置)

  • 共享单车电力如何供应(共享单车怎么用电)

    共享单车电力如何供应(共享单车怎么用电)

  • 数据库管理员的英文缩写(数据库管理员的英文)

    数据库管理员的英文缩写(数据库管理员的英文)

  • pcie和nvme哪个更快(pcie和nvme的区别)

    pcie和nvme哪个更快(pcie和nvme的区别)

  • vivo升降摄像头怎么用(vivo升降摄像头声音怎么关)

    vivo升降摄像头怎么用(vivo升降摄像头声音怎么关)

  • 手机视频怎么合成(手机视频怎么合成到一起的)

    手机视频怎么合成(手机视频怎么合成到一起的)

  • 苹果id姓名必须真实吗(苹果id姓名必须和银行卡一致吗)

    苹果id姓名必须真实吗(苹果id姓名必须和银行卡一致吗)

  • 快手直播间管理怎么踢人(快手直播间管理员怎么取消黑名单)

    快手直播间管理怎么踢人(快手直播间管理员怎么取消黑名单)

  • win2003 序列号 windows2003 sp2可用序列号大全(准版与企业版)(windows server 2003 r2 序列号)

    win2003 序列号 windows2003 sp2可用序列号大全(准版与企业版)(windows server 2003 r2 序列号)

  • 受托加工开票如何选名称
  • 中山哪家企业招聘残疾人
  • 小规模纳税人资产负债表和利润表
  • 工程机械租赁税点
  • 减免税款抵税怎么做分录
  • 工资 小数点
  • 以房抵顶工程款有效吗
  • 银行汇票存款和银行存款的区别
  • 企业取得该项资产时实际发生的支出
  • 航空运单可以作为提货凭证吗
  • 支付外汇货款
  • 非货币性资产交换准则
  • 公司土地转让另外公司
  • 长期债券是指偿还期限超过几个月的债券
  • 建筑业异地预缴税款的会计分录
  • 2018年出口退税税率
  • 筹建期间职工福利费都要通过应付职工薪酬核算吗
  • 奖金分为两次发放合法吗
  • 代销方式的特点
  • 电子普通发票进什么科目
  • 辞退福利怎么交税
  • 防伪税控开具发票明细表
  • 申请银行汇票手续费记账凭证
  • 餐饮业管理费用明细表
  • 公司基本户买理财产品,怎么记账
  • 个税手续费返还政策文件
  • linux系统安装浏览器
  • Windows11怎么免费升级专业版
  • 手动滑屏怎么操作
  • 电脑怎么备份系统win7
  • 会计科目对应的会计要素
  • 电脑开机无法启动怎么解决
  • php 递归函数
  • php页面传值
  • deepin 终端命令
  • 应收账款 预收账款合并
  • 酒店需要的原材料和包装费有哪些
  • 本月营业利润
  • 工业企业成本怎么结转
  • 前端控制台
  • 企业非流动资产占比多说明什么
  • vue property decorator
  • Python Module — OpenAI ChatGPT API
  • k8s kubelet
  • 这可能是最好的144平米小平层户型
  • post configuration change
  • 大屏制作教程视频
  • mysql5.7.35安装配置教程
  • 医用增值税发票
  • 电子口岸无纸化报关
  • sqlserver定时执行sql
  • 进项税转出如何结转
  • 坏账损失的会计核算方法
  • 高温补贴纳税
  • 同城票据交换原理
  • 政府补助收入是指县级以上工会收到的
  • 税控盘开具发票怎么冲红?
  • 关于低值易耗品的评估说法正确的有()
  • 管理费用业务招待费包括哪些
  • u盘启动怎么制作 u极速一键制作u盘启动图文教程
  • 硬盘安装后不显示
  • easybcd修复ubuntu
  • wdcp的/www目录大小调整或增加分区/硬盘的方法
  • windows升级后c盘满了
  • WINDOWS操作系统属于什么操作系统
  • linux缺省的shell
  • 紧跟潮流的句子
  • 如何判断电脑是不是linux
  • win7电脑屏幕设置常亮不黑屏
  • linux错误提示
  • qt绘制3d
  • javascript中函数
  • jquery(document).ready
  • [置顶]游戏名:chivalry2
  • 小规模纳税人收到增值税专用发票怎么办
  • 国际货运代理业务范围
  • 税务税收预测
  • 保税区企业会有两个海关编码吗
  • 代理记账公司里的公司文件盒书写样式图片
  • 准生证网上查询码是个什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设