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

  • 冰墩墩网上怎么买(冰墩墩正式亮相时间)

    冰墩墩网上怎么买(冰墩墩正式亮相时间)

  • 全民k歌的本地录音在哪(全民K歌的本地录音)

    全民k歌的本地录音在哪(全民K歌的本地录音)

  • setup default什么意思(setupdll)

    setup default什么意思(setupdll)

  • windows功能哪些必须打开(windows功能是干嘛的)

    windows功能哪些必须打开(windows功能是干嘛的)

  • 段落结构的四种类型是什么(段落的结构方式有几种)

    段落结构的四种类型是什么(段落的结构方式有几种)

  • 闹钟里的稍后提醒是啥意思(闹钟里的稍后提醒是啥)

    闹钟里的稍后提醒是啥意思(闹钟里的稍后提醒是啥)

  • 小红书被禁言了还能恢复吗(小红书被禁言了怎么写申诉内容)

    小红书被禁言了还能恢复吗(小红书被禁言了怎么写申诉内容)

  • 菜单已锁怎么取消(菜单已锁菜单解锁反复)

    菜单已锁怎么取消(菜单已锁菜单解锁反复)

  • 微信的群代办是什么意思(微信群代办会自己消失吗)

    微信的群代办是什么意思(微信群代办会自己消失吗)

  • ipad忘记锁屏密码怎么办(ipad忘记锁屏密码10秒解决)

    ipad忘记锁屏密码怎么办(ipad忘记锁屏密码10秒解决)

  • 怎么开通抖音购物袋(怎么开通抖音购买东西微信支付选项)

    怎么开通抖音购物袋(怎么开通抖音购买东西微信支付选项)

  • 小角标数字怎么打(角标数字怎么打手机)

    小角标数字怎么打(角标数字怎么打手机)

  • iphone6支持无线充电吗(iphone6s支持无线)

    iphone6支持无线充电吗(iphone6s支持无线)

  • ipad2018支持otg吗(ipad2018支持ipados15)

    ipad2018支持otg吗(ipad2018支持ipados15)

  • word页面视图取消并排(word中的页面视图)

    word页面视图取消并排(word中的页面视图)

  • 荣耀20超级快充多少瓦(荣耀20超级快充怎么变成普通充电了)

    荣耀20超级快充多少瓦(荣耀20超级快充怎么变成普通充电了)

  • 手机耳机能插电脑当话筒吗(手机耳机能插电脑上后怎么操作)

    手机耳机能插电脑当话筒吗(手机耳机能插电脑上后怎么操作)

  • iphone11美版是双卡吗(iphone11美版是双卡双待吗)

    iphone11美版是双卡吗(iphone11美版是双卡双待吗)

  • 如何查找打印机(如何查找打印机的驱动程序)

    如何查找打印机(如何查找打印机的驱动程序)

  • 百度云盘手机如何离线下载(百度云盘手机如何解压)

    百度云盘手机如何离线下载(百度云盘手机如何解压)

  • 人民网上怎么留言(人民网怎么留言要实名吗)

    人民网上怎么留言(人民网怎么留言要实名吗)

  • 7654browser是什么(browsercore是什么)

    7654browser是什么(browsercore是什么)

  • 什么叫爱奇艺月卡(爱奇艺包月是自然月吗)

    什么叫爱奇艺月卡(爱奇艺包月是自然月吗)

  • 手机声筒进灰了怎么办(手机声筒进灰了怎么清理)

    手机声筒进灰了怎么办(手机声筒进灰了怎么清理)

  • vivoy93下面返回键怎么设置(vivo手机底下返回键)

    vivoy93下面返回键怎么设置(vivo手机底下返回键)

  • 苹果手机小太阳哪里设置(苹果手机小太阳怎么关闭)

    苹果手机小太阳哪里设置(苹果手机小太阳怎么关闭)

  • QQ邮箱怎么看草稿箱文件(qq邮箱怎么查看草稿箱)

    QQ邮箱怎么看草稿箱文件(qq邮箱怎么查看草稿箱)

  • 来分期密码忘了怎么办(来分期忘记密码电话也换了怎么办)

    来分期密码忘了怎么办(来分期忘记密码电话也换了怎么办)

  • Idea中运行Vue项目(idea如何运行vue项目)

    Idea中运行Vue项目(idea如何运行vue项目)

  • java泛型方法是什么(java泛型方法的作用)

    java泛型方法是什么(java泛型方法的作用)

  • 城建税和教育费附加
  • 福利费进项税额转出会计分录账务处理
  • 开发商交的税费是什么
  • 分公司注销需要总公司法人实名确认吗
  • 电子发票和纸质发票只能二选一吗
  • 更换税控盘后原发票如何导入旧盘开票税局
  • 执行企业会计准则类别是什么意思
  • 小规模季度不超过30万元免税会计分录
  • 房租不能开发票怎样入账
  • 内部固定资产交易当期的合并处理,涉及出售
  • 企业资产减值准备
  • 厂家订货会合同
  • 无形资产摊销是谨慎性原则吗
  • 铁路运费印花税税率
  • 购买职工宿舍用品账务处理
  • 厂家取得的销售收入
  • 民营医院增值税政策
  • 开具普通发票只写单位名称和税号可以吗?
  • 长期待摊费用要设明细科目吗
  • 本年利润怎么算利润总额
  • 外币汇兑差额债券投资计入什么科目?
  • 门店里备用客户喝的茶叶怎么入账?
  • 重点税源财务指标有哪些
  • 残疾人就业保障金是什么意思啊
  • bios密码如何设置
  • 积极的财政政策有哪些
  • 调整上年度多计提的附加税
  • 给供应商垫付运费合法吗
  • 对公帐户定期存款利率
  • 押金要不回来怎么办
  • linux安装常用命令
  • 蕨菜的功效与作用及营养价值
  • 收到银行退回的会计分录
  • 报废汽车残值收入如何计税
  • web2.0核心
  • 不良品扣款应入哪个科目
  • 企业所得税应该怎么计算
  • 进项大于销项怎么做分录
  • 收银算不算财务工作
  • 帝国cms中英
  • 以非货币性资产对外投资会计处理
  • 金蝶标准版怎么查应收应付款
  • 货运代理费计入什么科目
  • 房地产企业根据什么交增值税
  • sql server搜索语句
  • 施工企业会计核算实验报告
  • 营改增后简易计税是多少税率
  • 小规模纳税人开专票需要交税吗
  • 一般纳税人购进普票怎么做分录
  • 汇算清缴期间费用福利费填哪里
  • 收款预缴增值税怎么做账
  • 合同终止已开发怎么办
  • 无形资产摊销的会计科目
  • 公司基本账户提现规定
  • 本月没有销售怎么做账
  • 折扣怎么写会计分录
  • 3%税率专票为什么不能抵扣
  • 车船使用税会计分录怎么写
  • sql入门课程
  • 逼死win8的节奏 Win7升级至Win9仅需30美元 自动升级不需要重新安装
  • Ubuntu Update-rc.d命令详细介绍
  • linux rootkit查杀
  • 电脑没有系统了如何重装系统
  • ubuntu邮箱客户端
  • linux中的ls命令的功能是变换工作目录到目标指定目录
  • win7音量图标不能启用
  • win10非正常关机系统修复
  • 使用的英文
  • 详解JavaScript ES6中的Generator
  • unity游戏开发简历
  • jquery详解
  • python写邮箱
  • 使用权资产
  • 为什么python那么难
  • 展示板效果图
  • 泉州企业医保哪里缴费
  • 正外部性与负外部性的定义
  • 如何做好基层税务分局长工作
  • 美国海外公司每年利润
  • 个人所得税法全文完整版2023个人工薪规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设