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

  • 励志故事:飞到天上去(fly励志故事)

    励志故事:飞到天上去(fly励志故事)

  • 苹果手机快捷指令怎么设置健康码(苹果手机快捷指令nfc怎么添加门禁卡)

    苹果手机快捷指令怎么设置健康码(苹果手机快捷指令nfc怎么添加门禁卡)

  • airpodspro怎么恢复出厂设置(airpodspro怎么恢复默认)

    airpodspro怎么恢复出厂设置(airpodspro怎么恢复默认)

  • 手机应用运行异常怎么解决(手机软件显示运行异常崩溃)

    手机应用运行异常怎么解决(手机软件显示运行异常崩溃)

  • c语言a++和++a的区别(c语言a和a的ascii码)

    c语言a++和++a的区别(c语言a和a的ascii码)

  • 抖音能放多长时间的视频(抖音能放多长时间)

    抖音能放多长时间的视频(抖音能放多长时间)

  • iphone11pro max防水吗(iphone11pro max防水怎么样)

    iphone11pro max防水吗(iphone11pro max防水怎么样)

  • iPhone7多长(苹果7q多长)

    iPhone7多长(苹果7q多长)

  • 为什么word文档下面空一块(为什么word文档上一页还有空白却打不了字)

    为什么word文档下面空一块(为什么word文档上一页还有空白却打不了字)

  • honor是什么牌子电脑(honor是什么牌子电脑多少钱)

    honor是什么牌子电脑(honor是什么牌子电脑多少钱)

  • 宽带拨号服务器无响应(宽带拨号服务器名称是什么)

    宽带拨号服务器无响应(宽带拨号服务器名称是什么)

  • 淘宝购买失败系统繁忙什么原因(淘宝购买失败稍后再试)

    淘宝购买失败系统繁忙什么原因(淘宝购买失败稍后再试)

  • ai相机什么意思(ai相机是指什么)

    ai相机什么意思(ai相机是指什么)

  • 手机电量突然在一个值不动了(手机电量突然在一个值不动了 小米)

    手机电量突然在一个值不动了(手机电量突然在一个值不动了 小米)

  • macbook屏幕怎么擦拭(macbook屏幕怎么缩小)

    macbook屏幕怎么擦拭(macbook屏幕怎么缩小)

  • 因特网属于一种什么网(因特网属于一种局域网)

    因特网属于一种什么网(因特网属于一种局域网)

  • 微信群在聊天页面删除了,怎么找到(微信群聊天页面)

    微信群在聊天页面删除了,怎么找到(微信群聊天页面)

  • 卡贴iphone8激活教程(8p卡贴机激活)

    卡贴iphone8激活教程(8p卡贴机激活)

  • 华为手机如何消除talkback(华为手机如何消除照片多余的人)

    华为手机如何消除talkback(华为手机如何消除照片多余的人)

  • vivox27防不防水(vivox27手机防水性能怎么样)

    vivox27防不防水(vivox27手机防水性能怎么样)

  • 如何在陌陌上打卡(如何在陌陌上打语音电话)

    如何在陌陌上打卡(如何在陌陌上打语音电话)

  • 苹果系统13.1.2更新了什么(苹果系统13.2更新)

    苹果系统13.1.2更新了什么(苹果系统13.2更新)

  • vivox27带不带面部解锁(vivox27带面部解锁吗)

    vivox27带不带面部解锁(vivox27带面部解锁吗)

  • iphonexr无线充电功率(iPhonexr无线充电速度)

    iphonexr无线充电功率(iPhonexr无线充电速度)

  • 苹果6sp摄像头抖动是什么原因(苹果6sp摄像头抖动怎么回事)

    苹果6sp摄像头抖动是什么原因(苹果6sp摄像头抖动怎么回事)

  • 智慧团建系统终止怎么办(智慧团建系统终止贴吧)

    智慧团建系统终止怎么办(智慧团建系统终止贴吧)

  • 华为p30pro几个摄像头(华为p30pro几个摄像头干嘛用)

    华为p30pro几个摄像头(华为p30pro几个摄像头干嘛用)

  • 小度在家回家看看功能怎么设置(小度在家回家看看无法连接)

    小度在家回家看看功能怎么设置(小度在家回家看看无法连接)

  • qq拍照提取文字(扣扣拍照提取文字)

    qq拍照提取文字(扣扣拍照提取文字)

  • 微信收款码多久失效(微信收款码多久寄过来)

    微信收款码多久失效(微信收款码多久寄过来)

  • 网易考拉怎么购买商品(网易考拉怎么购买会员)

    网易考拉怎么购买商品(网易考拉怎么购买会员)

  • 电脑关机了wifi还能用吗(电脑关机了wifi还能检测到在线)

    电脑关机了wifi还能用吗(电脑关机了wifi还能检测到在线)

  • 详解帝国cms使用自定义函数获取用户发表新闻数量的方法(帝国cms如何使用)

    详解帝国cms使用自定义函数获取用户发表新闻数量的方法(帝国cms如何使用)

  • 出口退税认定如何办理
  • 特定减免税货物的通关程序为
  • 土地增值税纳税义务人
  • 财政部监制的收据可以手写吗
  • 公章损坏更换的费用怎么记账
  • 一般纳税人临时工工资怎么入账
  • 房地产开发企业预缴增值税
  • 调试阶段是什么意思
  • 企业年会的增值税能抵扣吗?
  • 个人企业属于什么部门管理
  • 工程款税款税率
  • 建筑企业成本票是含税价还是不含税价
  • 从银行贷款转借他人法院如何判
  • 预计应收账款余额
  • Win11怎么设置自启动软件
  • php如何实现
  • 360安全路由器怎么重启
  • deepin缩放
  • 车间报销办公用品费
  • 贷款的账务处理
  • 啥叫同比增长
  • vue3+element-plus Dialog对话框的使用 与 setup 写法的使用
  • 挪威 北极熊
  • 从上魏斯巴赫山地列车的车站向外看,德国图林根 (© golero/iStock/Getty Images Plus)
  • vue的watch监听
  • php读取excel内容
  • php操作mysql数据库(增删改查)
  • 事业单位增值税可以抵扣吗
  • php session_id
  • vue全局引入js文件
  • redis两种持久化方式的优缺点
  • Java+JSP+Mysql+Tomcat实现Web图书管理系统
  • es6promise的理解
  • 兼职人员需要
  • php手机验证码验证
  • 餐饮店库存盘点表
  • 平价转让股权怎么交企业所得税
  • 农业合作社需要交土地使用税吗
  • 贷款需要考虑什么
  • 结转成本费用
  • 企业报废原材料如何处理
  • Mongodb中MapReduce实现数据聚合方法详解
  • 冲以前年度管理费用
  • 未分配利润用于扩大再生产
  • 新企业职工工资怎么算
  • 委托加工业务中需要计算缴纳增值税销项税
  • 现金支付无发票怎么报销
  • 申报个人所得税的软件叫什么
  • 其他收益会计科目核算什么
  • 汇算清缴调增的工资怎么做账
  • 计入税金及附加借方的内容
  • 饭店现金账怎么记账
  • 发票作废才能验旧吗
  • 新手公司内帐怎么做
  • 如何把数据导入mysql中
  • sql null用法
  • bios设置bios密码
  • win8.1开机进入桌面
  • ubuntu 11
  • 怎么在ubuntu上编程
  • win7打开游戏显示已停止工作
  • dghm.exe是什么程序
  • win10edge浏览器怎么设置兼容模式
  • 创游世界
  • python3安装pygame
  • 如何调试自己的情绪
  • 子弹追踪原理
  • shell错误日志输出
  • python 如何
  • fragment切换保存状态
  • android:Background线程池和UiThread线程池
  • 使用GeoPainter一步一步布置场景
  • python爬取某人所有朋友圈
  • each和each
  • 按时交纳党费
  • 货物运输代理服务税率
  • 统计表主要业务内容
  • 沈阳税务机关地区编号
  • 广东省国家税务局电子发票系统,网络设置
  • 买新房子契税多久交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设