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

  • 营销技巧:微信营销如何做到年销售过亿(微信营销手法)

    营销技巧:微信营销如何做到年销售过亿(微信营销手法)

  • 定制机和原装机的区别(定制机和原装机哪个好)

    定制机和原装机的区别(定制机和原装机哪个好)

  • 抖音头像怎么加皇冠(抖音头像怎么加音乐)

    抖音头像怎么加皇冠(抖音头像怎么加音乐)

  • 移动网络密码忘了怎么办(移动网络密码忘了怎么改)

    移动网络密码忘了怎么办(移动网络密码忘了怎么改)

  • 手机充电发热会爆炸吗(手机充电发热会坏吗)

    手机充电发热会爆炸吗(手机充电发热会坏吗)

  • 得力计算器怎么关机(得力计算器怎么恢复出厂设置)

    得力计算器怎么关机(得力计算器怎么恢复出厂设置)

  • 电笔显示123655什么意思(电笔显示1236什么意思)

    电笔显示123655什么意思(电笔显示1236什么意思)

  • 华为nova7悬浮球怎么开(华为nova7悬浮球在哪里找到)

    华为nova7悬浮球怎么开(华为nova7悬浮球在哪里找到)

  • 家里路由器突然离线了(家里路由器突然没网了怎么办)

    家里路由器突然离线了(家里路由器突然没网了怎么办)

  • 微信权限仅聊天还能看到对方朋友圈吗(微信权限仅聊天和不让他看有什么区别)

    微信权限仅聊天还能看到对方朋友圈吗(微信权限仅聊天和不让他看有什么区别)

  • 表格弄到一半未响应(表格有一半看不到怎么弄)

    表格弄到一半未响应(表格有一半看不到怎么弄)

  • 违规的视频需要删除吗(违规视频怎么处理)

    违规的视频需要删除吗(违规视频怎么处理)

  • oppo手机突然充不进去电了怎么办(oppo手机突然充电很慢怎么回事)

    oppo手机突然充不进去电了怎么办(oppo手机突然充电很慢怎么回事)

  • 电脑上装什么软件看电视(电脑上装什么软件看电视电影)

    电脑上装什么软件看电视(电脑上装什么软件看电视电影)

  • 淘宝的消息怎么一次性删除(淘宝的消息怎么批量删除)

    淘宝的消息怎么一次性删除(淘宝的消息怎么批量删除)

  • nvidia控制面板干什么(nvidia控制面板好不好)

    nvidia控制面板干什么(nvidia控制面板好不好)

  • 下载的字体怎么导入PPT(下载的字体怎么在word中使用)

    下载的字体怎么导入PPT(下载的字体怎么在word中使用)

  • 小艺小艺怎么唤醒(小艺小艺怎么唤醒太太乐升降衣架)

    小艺小艺怎么唤醒(小艺小艺怎么唤醒太太乐升降衣架)

  • 手机查社保怎么查(手机查社保怎么查询缴费记录与社会保障局一样吗)

    手机查社保怎么查(手机查社保怎么查询缴费记录与社会保障局一样吗)

  • 手机上显示月亮怎么关(手机上显示月亮标志怎么关闭)

    手机上显示月亮怎么关(手机上显示月亮标志怎么关闭)

  • 通过消息页关注是什么意思(关注账号即可查看内容和喜欢怎么设置)

    通过消息页关注是什么意思(关注账号即可查看内容和喜欢怎么设置)

  • 计算机的指令系统能实现的运算有(计算机的指令系统由若干条指令组成)

    计算机的指令系统能实现的运算有(计算机的指令系统由若干条指令组成)

  • 耳机弹窗是什么意思(耳机弹窗是什么东西)

    耳机弹窗是什么意思(耳机弹窗是什么东西)

  • 系统安装工具有哪些?系统安装工具怎么用?(系统安装工具有什么用)

    系统安装工具有哪些?系统安装工具怎么用?(系统安装工具有什么用)

  • domainname命令  显示和设置系统的NIS域名(domain codomain range)

    domainname命令 显示和设置系统的NIS域名(domain codomain range)

  • 计提工资年底余额所得税处理
  • 计提房产税和土地税
  • 个体户交税和个人所得税
  • 因租赁形成的使用权资产
  • 综合单价的调整计算公式
  • 税金及附加现金流指定
  • 发票右上角打印缺数字
  • 油费补助记什么科目
  • 销售收入的暂估入账是否结转利润
  • 30万的车税可以抵多少钱
  • 销项税额特殊销售额的处理方式
  • 企业进行股票买入的条件
  • 软件开发公司怎么找客户
  • 个人交的税费报销如何做账?
  • 工程项目的业务流程
  • 原始股 出售
  • 豪华小汽车消费税
  • 最新粮食购销企业税务规定
  • 分包开普通发票还是增值税专用发票?
  • 信息技术服务在开票系统怎么选
  • 电子承兑如何转出换成现金
  • windows10如何切屏
  • 电脑黑屏怎么办主机还是亮的
  • 进项票月初收到能抵上月
  • 出售报废固定资产的净损失计入什么科目
  • 可以用鸿蒙系统的手机
  • php去除空格和换行符
  • 公司主营业务有哪些类型
  • 高新技术企业研发费用占比要求
  • codevein配置要求
  • php抓取网页图片
  • 设计公司的设计提成方案
  • 深究Python中的asyncio库-shield函数
  • 什么情况下专票税率为1
  • 待抵扣进项税额的账务处理
  • 汽车折旧年限及年限
  • 企业年金管理费专票能抵扣吗
  • 工业企业成本核算方法
  • 融资交易的会计处理
  • mysql查询表里数据
  • mongodb性能测试
  • 小说连载阅读安卓版下载
  • 购买方销项负数发票怎么抵扣
  • 增值税专用发票和普通发票的区别
  • 房地产业具体怎么做
  • 融资租入的固定资产视为自有固定资产
  • mysql数据类型和索引
  • 最新个人捐款是什么意思
  • 期货风险准备金计提比例
  • 年化收益率怎么算收益率
  • 待认证转出
  • 企业存货明细表和盘点表
  • 为什么银行结息不加入账户
  • 进项税额转出最终应转到哪里
  • 不动产进项税额转出
  • 贸易公司的成本怎么做
  • 盘盈的固定资产按什么入账
  • 银行回单中借贷表示什么意思
  • 建账时应取得哪些资料
  • mysql的性能调优
  • mysql local-infile
  • solaris删除文件命令
  • mac连不上无线网络
  • win7和linux双系统
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • adobe windows7
  • win7桌面图标全部变成了e而且打不开
  • window mobile系统
  • win10安装字体的操作步骤
  • win7系统点击图标没反应
  • linker command failed with exit code 1 (use -v to see invocation)
  • opengl clamp
  • myeclipse2013安装配置
  • mongorestore报错
  • shell脚本取n天前的日期
  • 怎么运用知识点
  • javascript构造函数可继承父类的构造函数
  • 有哪些推荐阅读的书
  • 走入基层
  • 南通开发区地图高清版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设