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

  • 小米人脸识别智能门锁x怎么换电池(小米人脸识别智能门锁 X)

    小米人脸识别智能门锁x怎么换电池(小米人脸识别智能门锁 X)

  • 小爱同学怎么重新连接无线网(小爱同学怎么重置)

    小爱同学怎么重新连接无线网(小爱同学怎么重置)

  • 手机qq3g在线是什么意思(手机qq3g在线几种可能)

    手机qq3g在线是什么意思(手机qq3g在线几种可能)

  • 锐捷路由器默认密码(锐捷路由器默认用户名和密码)

    锐捷路由器默认密码(锐捷路由器默认用户名和密码)

  • 段落行距1.5倍怎么设置(段落格式1.5倍行距)

    段落行距1.5倍怎么设置(段落格式1.5倍行距)

  • 淘宝邀请新人注册有什么奖励(淘宝邀请新人注册有什么奖励2021)

    淘宝邀请新人注册有什么奖励(淘宝邀请新人注册有什么奖励2021)

  • 天猫618促销多少天(天猫618促销多少金额)

    天猫618促销多少天(天猫618促销多少金额)

  • 华为手机如何清空通讯录(华为手机如何清除试卷答案)

    华为手机如何清空通讯录(华为手机如何清除试卷答案)

  • 不是电脑的输出设备是(不是电脑的输出设备的是绘图仪)

    不是电脑的输出设备是(不是电脑的输出设备的是绘图仪)

  • ipad六代哪一年的(ipad第6代是多少年的)

    ipad六代哪一年的(ipad第6代是多少年的)

  • 华为手机关机怎么关(华为手机关机怎么设置)

    华为手机关机怎么关(华为手机关机怎么设置)

  • 电话响两声提示正在通话中(电话响两声提示空号)

    电话响两声提示正在通话中(电话响两声提示空号)

  • qq送礼物可以提现吗(qq里面送礼物提现的钱去哪里了)

    qq送礼物可以提现吗(qq里面送礼物提现的钱去哪里了)

  • windows操作系统特点

    windows操作系统特点

  • 头条打不开是怎么回事(头条内容打不开怎么办)

    头条打不开是怎么回事(头条内容打不开怎么办)

  • 手机qq怎么拉黑名单(手机拉黑了怎么能打进去)

    手机qq怎么拉黑名单(手机拉黑了怎么能打进去)

  • oppo官网电话号码多少(oppo官网联系电话)

    oppo官网电话号码多少(oppo官网联系电话)

  • 怎么防止微信封号(怎么防止微信封链接)

    怎么防止微信封号(怎么防止微信封链接)

  • 快手没有播放量怎么回事(快手没有播放量怎么养号)

    快手没有播放量怎么回事(快手没有播放量怎么养号)

  • vivo怎么看电池损耗(VIVO怎么看电池损耗)

    vivo怎么看电池损耗(VIVO怎么看电池损耗)

  • 分区对齐2048还是4096(分区对齐远2048还是4096)

    分区对齐2048还是4096(分区对齐远2048还是4096)

  • 韩版苹果xsmax是双卡吗(iphonexsmax韩版有什么不一样?)

    韩版苹果xsmax是双卡吗(iphonexsmax韩版有什么不一样?)

  • airports可以连接安卓吗(airports可以连接macbook吗)

    airports可以连接安卓吗(airports可以连接macbook吗)

  • 小米mde5是什么型号(mde5s是什么型号小米)

    小米mde5是什么型号(mde5s是什么型号小米)

  • 怎样在芒果TV截取一段长视频(芒果tv怎么截屏)

    怎样在芒果TV截取一段长视频(芒果tv怎么截屏)

  • 抖音怎么发图片配音乐(抖音怎么发图片让作品不显示)

    抖音怎么发图片配音乐(抖音怎么发图片让作品不显示)

  • 手机上出现hd怎么回事(手机上出现HD怎么弄)

    手机上出现hd怎么回事(手机上出现HD怎么弄)

  • 劳务公司的税率一般是多少
  • 固定资产进项税的账务处理
  • 隔月发票退回应该如何操作
  • 电费为什么计入成本费用
  • 小规模简易征收计算方法
  • 人力资源的差额征收怎么报企业所得税
  • 以前年度损益调整
  • 请客户旅游算不算贿赂
  • 暂估入库可以跨年吗
  • 培训咨询企业的发展前景
  • 收到进度款开票如何做账务处理合适呢?
  • 资产处置收益结转损益
  • 城建税及教育附加税怎么算
  • 小企业营业外支出
  • 公司司机出车补贴
  • 预付房租是否需要分摊处理呢?
  • 发票购方税号是什么意思
  • 红字发票交税吗
  • 企业所得税应纳税所得额包括什么
  • 成本费用怎么做分录
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 核销单丢失后应该怎么挂失和补录处理呢?
  • 交易性金融资产属于什么类
  • 办税员可以增加办税员吗
  • 教育预收费
  • win7系统右键菜单太多怎么办
  • 商品房买卖合同面积差3%法律规定
  • 如何解决Windows10电脑卡顿现象
  • 坏账准备期末余额怎么计算
  • php循环语句
  • 超期未认证的进项发票怎么处理
  • 资金性质是什么有哪些方面
  • 增值税不允许抵扣计入什么科目
  • 借款利息还能再算利息吗
  • 我国中小企业成本管理现状
  • php模板引擎原理
  • 跨区域涉税事项报告表在哪里打印
  • 固定资产以前年度未入账怎么处理
  • php图片添加水印的方法
  • 企业的安全费用怎么弄
  • ps闪退是什么原因win11
  • 年金现值系数和复利现值系数的公式
  • 本月确认收入 发票下月开
  • js原型链的用处
  • mongodb进阶与实战下载
  • 软件行业的成本核算
  • 差额征税可以开专票抵扣吗
  • 劳务公司属于什么
  • sql语句批量更新
  • 营业总收入包含什么
  • 人工费暂估怎么做分录
  • 资产组可收回金额包含完全商誉吗
  • 税前弥补以前年度亏损
  • 在建工程什么时候用
  • 退货收到红字发票怎么办
  • 劳务费如何做账务处理
  • 企业发生的存货盘盈计入营业外收入吗
  • 实例讲解液化滤镜瘦身
  • mysql优化配置文件
  • MySQL创建数据库字符集和排序规则
  • 台式电脑NUM LOCK键还能亮,算不算死机了
  • 利用()可以对系统进行全面的设置
  • win7推送win10
  • win7旗舰版系统还原无法启动
  • win10系统玩游戏卡
  • xp系统如何设置用户密码
  • 会声会影win7怎么兼容
  • win10关机快捷键
  • Win10预览版拆弹
  • windows安装mq
  • android入门教程
  • 安卓listview控件map的用法前面每行加图片
  • python搭建网页
  • jquery.validator
  • android实现多线程的方法
  • 置顶快手作品怎么弄
  • 韩国快递关税
  • 广西纳税申报流程
  • 税务约谈的法律依据
  • 发票验旧后还能开票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设