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

  • 全国携号转网倒计时(全国携号转网)(2021携号转网后的真实感受)

    全国携号转网倒计时(全国携号转网)(2021携号转网后的真实感受)

  • 苹果13promax抬起唤醒怎么关闭(苹果13promax抬起唤醒不灵)

    苹果13promax抬起唤醒怎么关闭(苹果13promax抬起唤醒不灵)

  • 爱奇艺可以登录几个手机(爱奇艺可以登录两个平板吗)

    爱奇艺可以登录几个手机(爱奇艺可以登录两个平板吗)

  • 华为畅享9plus怎么设置深色模式(华为畅享9plus怎么样)

    华为畅享9plus怎么设置深色模式(华为畅享9plus怎么样)

  • 如何升级icloud储存空间(怎样升级icloud储存空间)

    如何升级icloud储存空间(怎样升级icloud储存空间)

  • cad正在检查许可不动了怎么办(cad正在检查许可,然后闪退)

    cad正在检查许可不动了怎么办(cad正在检查许可,然后闪退)

  • 4000mah电池够用多久(4000mah电池够用多久暖手宝)

    4000mah电池够用多久(4000mah电池够用多久暖手宝)

  • 荣耀v30原装充电器型号(荣耀v30原装充电器线图片)

    荣耀v30原装充电器型号(荣耀v30原装充电器线图片)

  • 路由器通用吗(电信路由器和移动路由器通用吗)

    路由器通用吗(电信路由器和移动路由器通用吗)

  • 手机回收站清空了能恢复吗(手机回收站清空的视频还能找回吗)

    手机回收站清空了能恢复吗(手机回收站清空的视频还能找回吗)

  • 华为畅享9s怎么隐藏应用(华为畅享9s怎么分屏)

    华为畅享9s怎么隐藏应用(华为畅享9s怎么分屏)

  • pci与pci-e的区别(pci-e接口图片)

    pci与pci-e的区别(pci-e接口图片)

  • 微信新增的emm表情是什么意思(微信增添新表情,哪个是你的最爱呢?)

    微信新增的emm表情是什么意思(微信增添新表情,哪个是你的最爱呢?)

  • 手机怎么注册Zoom(手机怎么注册QQ邮箱)

    手机怎么注册Zoom(手机怎么注册QQ邮箱)

  • 台式电脑打不开机是什么原因(台式电脑打不开浏览器怎么办)

    台式电脑打不开机是什么原因(台式电脑打不开浏览器怎么办)

  • 电话手表不放卡能用吗(电话手表不放卡可以连接WiFi吗)

    电话手表不放卡能用吗(电话手表不放卡可以连接WiFi吗)

  • iphone11费电怎么办(苹果11耗电如何)

    iphone11费电怎么办(苹果11耗电如何)

  • oppor15耳机模式在哪里关闭(oppor15耳机模式在哪里设置怎么取消)

    oppor15耳机模式在哪里关闭(oppor15耳机模式在哪里设置怎么取消)

  • ipad2插卡版支持什么网络(ipad2插卡版支持4g网吗)

    ipad2插卡版支持什么网络(ipad2插卡版支持4g网吗)

  • 手机pages文件怎么打开(手机pages文稿怎么打开)

    手机pages文件怎么打开(手机pages文稿怎么打开)

  • 苹果隐藏的照片怎么显示出来(苹果隐藏的照片怎么看)

    苹果隐藏的照片怎么显示出来(苹果隐藏的照片怎么看)

  • 支付宝账号是电话号码吗(支付宝账号是电话号码还是邮箱)

    支付宝账号是电话号码吗(支付宝账号是电话号码还是邮箱)

  • ugc运营是什么(ugc的运营模式)

    ugc运营是什么(ugc的运营模式)

  • 魅族怎么强制退出极限省电(魅族怎么强制退出程序)

    魅族怎么强制退出极限省电(魅族怎么强制退出程序)

  • 汽车美容app开发功能方案是什么(汽车美容app开发方案)

    汽车美容app开发功能方案是什么(汽车美容app开发方案)

  • 无法启用网络发现解决方法(无法启用网络发展)

    无法启用网络发现解决方法(无法启用网络发展)

  • 银装素裹的Luzulo-Fagetum山毛榉林,比利时阿登 (© Philippe Moes/Alamy)(银装素裹的意思和造句)

    银装素裹的Luzulo-Fagetum山毛榉林,比利时阿登 (© Philippe Moes/Alamy)(银装素裹的意思和造句)

  • 前端怎么打断点捏(前端段落空两格怎么设置)

    前端怎么打断点捏(前端段落空两格怎么设置)

  • 税盘维护费的账务处理
  • 没有销项购买税金税盘如何做账
  • 财务软件怎么结转本年利润
  • 租入房租装修费摊销
  • 补发以前年度工资如何计税
  • 企业缴存公积金比例
  • 防洪费怎么申报
  • 固定资产发票未到可以确认固定资产吗
  • 餐饮公司收到的拍摄服务票做什么费用
  • 销售合同总金额含税还是不含税
  • 金税三期啥意思
  • 职工教育经费能抵扣进项税
  • 旅游业相关行业
  • 企业购进货物被没收 进项税额能否抵扣?
  • 营业收入在财务报表上跟实际多出来怎么解释
  • 房地产开发经营企业确认当期因销售房地产
  • 报增值税怎么取消校验
  • 研发费用如何界定
  • 税务机关核定的计税价格是否含税
  • 筹建期的收入要交企业所得税吗
  • 登记变更是什么意思
  • 资产折旧出现负数
  • 员工意外伤害保险怎么买
  • win11怎么提高运行内存
  • windows history命令
  • thinkphp微信公众号开发
  • 百度有钱花借钱会上征信吗
  • rtvscn95.exe - rtvscn95是什么进程 有什么用
  • 蓝牙耳机连电脑
  • PHP:Memcached::getMultiByKey()的用法_Memcached类
  • 货款形式返还
  • 企业汇算清缴后发现有多计提的成本
  • 应付票据是发票吗
  • framework4.0怎么打开
  • php数字增1
  • 蓝牙11
  • 个人出租房可开发票吗
  • 什么叫资本退出
  • 循环logo
  • 公司法人的车租给公司怎么开发票
  • 小企业一年需要缴纳多少税
  • 购买金税盘是全额抵扣吗
  • 合同负债算负债吗
  • 小微企业增值税优惠政策最新2023
  • 捐赠的增值税可以抵扣吗
  • 其他综合收益会影响未分配利润吗
  • 银行承兑汇票提示付款期为几天
  • 承租人转租房屋的后果
  • 研发费用加计扣除政策指引2.0
  • 房地产企业暂估成本所得税汇算
  • 其他业务收入怎么申报增值税
  • 税务局收款收据
  • 社保补贴生育津贴
  • 融资租赁固定资产利息的账务处理实例
  • 制造费用如何结转生产成本
  • 总分类账户与明细分类账户的关系
  • mysql表字段设置默认值
  • eclipse连接mysql代码
  • mysql里的数据库在哪个位置
  • 服务器找不到存储盘
  • CentOS 5.4+OpenVZ+Vtonf打造VPS服务器的方法
  • ghost过的硬盘能恢复吗
  • ubuntu 14.04安装
  • 怎么隐藏不让别人发现
  • 电脑显示无windows
  • win8怎么打开远程连接
  • easyui validatebox验证
  • jsp中onload事件
  • .net 迭代器
  • jquery操作元素的方法
  • Linux 中的各项 CPU 利用率是这样算出来的
  • android点击事件onclick用法
  • unity 内嵌浏览器
  • jQuery Ajax 上传文件处理方式介绍(推荐)
  • 城市垃圾处理费会计分录
  • 电子税务局政策速递
  • 办理供票资格申请
  • 营业账簿中的其他账簿包括
  • 文化事业建设费减免政策
  • 大连市国家税务网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设