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

  • 做SEO最难的是什么?(seo难做的行业)

    做SEO最难的是什么?(seo难做的行业)

  • 荣耀x20怎么设置来电铃声(荣耀x20怎么设置热点连接人数)

    荣耀x20怎么设置来电铃声(荣耀x20怎么设置热点连接人数)

  • vivo手机怎么改字体(vivo手机怎么改软件图标)

    vivo手机怎么改字体(vivo手机怎么改软件图标)

  • 怎么看快手是不是新用户(怎么看快手是不是最新版本)

    怎么看快手是不是新用户(怎么看快手是不是最新版本)

  • 微信发一条消息出去三条(微信发一条消息占多少内存)

    微信发一条消息出去三条(微信发一条消息占多少内存)

  • ipadpro可以当电脑吗(ipad pro可以当充电宝吗)

    ipadpro可以当电脑吗(ipad pro可以当充电宝吗)

  • 拍立得可以连接手机吗(拍立得连接不到手机蓝牙)

    拍立得可以连接手机吗(拍立得连接不到手机蓝牙)

  • 华为pro是什么意思(华为pro系列手机介绍)

    华为pro是什么意思(华为pro系列手机介绍)

  • 快手发货在途中后可以退款吗(快手发货在途中怎么取消)

    快手发货在途中后可以退款吗(快手发货在途中怎么取消)

  • 戴尔mcafee要不要卸载

    戴尔mcafee要不要卸载

  • uhd graphics630相当于什么显卡(uhd graphics 600相当于)

    uhd graphics630相当于什么显卡(uhd graphics 600相当于)

  • 计算机病毒主要是通过什么传播(计算机病毒主要通过什么途径传播)

    计算机病毒主要是通过什么传播(计算机病毒主要通过什么途径传播)

  • 老人机无服务怎么解决(老人机sim卡无服务)

    老人机无服务怎么解决(老人机sim卡无服务)

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

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

  • 华为mate30像素怎么调(mate30像素不好怎么办)

    华为mate30像素怎么调(mate30像素不好怎么办)

  • 手机号被对方拉黑了为什么还可以发信息(手机号被对方拉黑了发短信对方能收到吗)

    手机号被对方拉黑了为什么还可以发信息(手机号被对方拉黑了发短信对方能收到吗)

  • 第一次登录qq怎么登(第一次登录QQ怎么登2022)

    第一次登录qq怎么登(第一次登录QQ怎么登2022)

  • 华为怎么设置来电视频(华为怎么设置来电铃声)

    华为怎么设置来电视频(华为怎么设置来电铃声)

  • 抖音能提现到微信吗(抖音能提现到微信吗怎么提现)

    抖音能提现到微信吗(抖音能提现到微信吗怎么提现)

  • 抖音号怎么解除手机号绑定(抖音号怎么解除企业认证)

    抖音号怎么解除手机号绑定(抖音号怎么解除企业认证)

  • iphone11pro怎么返回上一级(iphone11pro怎么返回上一步)

    iphone11pro怎么返回上一级(iphone11pro怎么返回上一步)

  • 苹果耳机怎么调节音量(苹果耳机怎么调声音大小)

    苹果耳机怎么调节音量(苹果耳机怎么调声音大小)

  • 铁路12306登录密码是什么(铁路12306登录密码忘记了怎么找回)

    铁路12306登录密码是什么(铁路12306登录密码忘记了怎么找回)

  • QQ音乐Qplay功能如何使用(qq音乐 qplay)

    QQ音乐Qplay功能如何使用(qq音乐 qplay)

  • 华为扫描文件在哪里(华为 扫描件)

    华为扫描文件在哪里(华为 扫描件)

  • win11怎么复制路径地址? 任意复制Win11上的任何目录地址的技巧(windows怎么复制)

    win11怎么复制路径地址? 任意复制Win11上的任何目录地址的技巧(windows怎么复制)

  • 所得税汇算清缴后发现有误怎么办
  • 交通费怎么抵扣进项税
  • 增值税减免税款怎么算
  • 项目固定资产投资强度
  • 上季度开的发票这季度冲红怎么做会计分录?
  • 应收账款客户少了几毛没有付怎么处理
  • 存在标的的资产是什么意思
  • 税金及附加里面有印花税吗
  • 离线发票在哪里查看
  • 新办企业需要做什么
  • 税控盘上报
  • 以前年度有亏损需要交增值税吗为什么
  • 预收购货款的会计分录
  • 贴息债券计算公式
  • 长期借款的核算思维导图
  • 税务机关退税
  • html5 video标签
  • 应收账款借贷方向表示什么意思
  • 主合同主体变更,从合同怎么处理
  • 右键新建菜单中没有文本文档怎么办
  • 不用命令打开组策略
  • 企业自产自用产品要交增值税吗?
  • antd 级联多选
  • vue.js前端
  • 研发专利什么意思
  • 退款后发票如何查询
  • ai绘图素材
  • 收到承兑汇票怎么签收
  • 文化事业建设费减免政策
  • Element UI - v-infinite-scroll无限滚动组件
  • nvm安装教程
  • 车险开的发票里有代收车船税吗
  • dd命令拷贝磁盘
  • 购买土地支付的契税怎么入账
  • 企业处置固定资产发生的净损失应计入
  • 个人劳务费需交什么税种
  • dede织梦怎么转成zblog
  • sqlserver2012安装好了桌面没有图标
  • 无形资产减值准备可以转回吗
  • 现金日记账应采用的格式为订本式
  • 财务费用利息收入是什么意思
  • 免税收入和不征税收入有何区别
  • 工程结算科目
  • MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
  • 建筑劳务公司税务筹划
  • 分公司能不能作为行政处罚的主体
  • 弥补亏损的会计科目有哪些
  • 个体户超额
  • 别人借我的对公账户打钱
  • 留样产品的保存期限
  • 哪些合同不用交社保
  • 企业筹办费计入什么科目
  • 收到利息的会计凭证
  • 税控盘服务费怎么填增值税申报表
  • 研发费用凭证附件
  • 库存商品用于投资
  • 汽车贷款利息计算公式计算器
  • 广告制作费属于现代服务吗
  • 哪些单位需要缴纳残疾人保障金
  • 汽车属于固定资产吗?如何计提折旧
  • 商业企业发出商品的核算方法
  • windows xp密码忘记怎样解锁
  • windows7没有声音怎么调
  • 升级windows8
  • linux,windows
  • python列表详解
  • opengl自学
  • 批处理书
  • perl-v
  • 简单实现多彩慕斯蛋糕淋面的方法
  • 到了这个年纪吉他谱完整版
  • node.js中的http.get方法使用说明
  • 简要说明javascript的作用
  • android零基础
  • unitysdk接入
  • jquery获取文件大小
  • 北京税务部门需要党员吗
  • 消费税征税环节
  • 青年文明号创建目标
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设