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

  • 手机恢复出厂设置后怎么还原数据(手机恢复出厂设置)(手机恢复出厂设置后系统会降级吗)

    手机恢复出厂设置后怎么还原数据(手机恢复出厂设置)(手机恢复出厂设置后系统会降级吗)

  • 钉钉班级群怎么改备注名字(钉钉班级群怎么请假)

    钉钉班级群怎么改备注名字(钉钉班级群怎么请假)

  • 为什么xs没有双卡双待(为什么xs没有双面胶)

    为什么xs没有双卡双待(为什么xs没有双面胶)

  • 手机100电突然没电了(手机100电突然没电了充电还打不开苹果6)

    手机100电突然没电了(手机100电突然没电了充电还打不开苹果6)

  • 有哪些常见的拓扑结构(最常见的拓扑结构类型是)

    有哪些常见的拓扑结构(最常见的拓扑结构类型是)

  • qq可以查看举报人吗(qq查看举报人进度)

    qq可以查看举报人吗(qq查看举报人进度)

  • 微信发红包记录删了还能看到吗(微信发红包记录怎么找回)

    微信发红包记录删了还能看到吗(微信发红包记录怎么找回)

  • 移动手机号欠费多久会销号(移动手机号欠费停机会影响征信吗)

    移动手机号欠费多久会销号(移动手机号欠费停机会影响征信吗)

  • iphonex屏幕泛红正常吗(iphone xs屏幕偏红)

    iphonex屏幕泛红正常吗(iphone xs屏幕偏红)

  • 快手曝光量500什么意思(快手曝光量和播放量比例多少正常)

    快手曝光量500什么意思(快手曝光量和播放量比例多少正常)

  • osie超清视效是什么意思(osie超清视效是哪款手机)

    osie超清视效是什么意思(osie超清视效是哪款手机)

  • 计算机之间的文件传输使用的协议是(计算机之间的文件传输协议)

    计算机之间的文件传输使用的协议是(计算机之间的文件传输协议)

  • 横向线性马达有什么用(横向马达和线性马达区别)

    横向线性马达有什么用(横向马达和线性马达区别)

  • 电池3750和4000差多少(电池容量3750和4000的多大区别?)

    电池3750和4000差多少(电池容量3750和4000的多大区别?)

  • 计算机中常见的总线有哪些(计算机中常见的音频文件格式有哪些)

    计算机中常见的总线有哪些(计算机中常见的音频文件格式有哪些)

  • winxp是什么系统

    winxp是什么系统

  • 魅族多任务怎么设置(魅族flyme9多任务)

    魅族多任务怎么设置(魅族flyme9多任务)

  • 抹掉iphone还能恢复吗(抹掉iphone以后)

    抹掉iphone还能恢复吗(抹掉iphone以后)

  • 手机右上角hd怎么关闭(手机右上角HD怎么没有了)

    手机右上角hd怎么关闭(手机右上角HD怎么没有了)

  • 华为mate30pro如何给其他手机充电(华为mate30pro如何强制重启)

    华为mate30pro如何给其他手机充电(华为mate30pro如何强制重启)

  • 5g标准制定是什么(5g标准确定)

    5g标准制定是什么(5g标准确定)

  • 通信MEC是什么(mec是指什么)

    通信MEC是什么(mec是指什么)

  • 苹果8拨号音无法取消吗(苹果手机拨号无声音)

    苹果8拨号音无法取消吗(苹果手机拨号无声音)

  • 微信电话怎么看谁挂的?(微信电话怎么看出来对方不想接)

    微信电话怎么看谁挂的?(微信电话怎么看出来对方不想接)

  • 钉钉怎么添加好友(钉钉怎么添加好友通过率高)

    钉钉怎么添加好友(钉钉怎么添加好友通过率高)

  • 微信封号给ip有关系吗(微信封号给ip有用吗)

    微信封号给ip有关系吗(微信封号给ip有用吗)

  • QQ电脑版如何艾特别人(电脑版qq怎么操作)

    QQ电脑版如何艾特别人(电脑版qq怎么操作)

  • mybatis常用标签(refid、foreach、trim)(mybatis isnotempty标签)

    mybatis常用标签(refid、foreach、trim)(mybatis isnotempty标签)

  • 缴纳个人所得税还算应届毕业生吗
  • 应交税费借方和贷方各表示什么
  • 增值税加计抵减是什么意思
  • 地方教育附加税税率多少?
  • 代扣代缴个人所得税有滞纳金吗
  • 收取子公司管理费,开具什么发票
  • 公司开普票和专票哪个好
  • 外经证到期如何填写最新有效期限
  • 员工一次性补偿要缴纳个税吗
  • 民办非营利组织幼儿园清算时固定资产如何处理
  • 发票存在哪些税务风险?
  • 交通违章罚款可以在手机上交吗
  • 人力资源外包服务增值税税率
  • 公司员工出差发工资吗
  • 蓝字发票作废流程视频
  • 从公账转账私人转账
  • 转出未交增值税借方余额怎么处理
  • 研发支出是什么性质的科目
  • 融资租赁中承租人的权利
  • 预交电费有发票吗
  • 增值税发票季报
  • 小规模纳税人购进商品的会计分录
  • 企业自产自用需要交增值税吗
  • 两年内到期的应付票据
  • 月不超过10万,季不超过30万免什么税
  • 红冲的普通发票要给对方吗
  • 收到政府补助的现金流
  • 会计实操的重要性有哪些
  • 受托加工物资入库流程
  • 档案保管期限是写汉字吗?
  • 桌面图标删不掉怎么回事
  • win11更新补丁如何删除
  • 抵扣了的进项税可以冲销么
  • 销货方开具红票,购货方怎么入账
  • 辅料分配方法
  • 分析卡拉哈迪沙漠的形成原因
  • php验证码显示不出来
  • 迪格庄园阿拉扎尼河谷红葡萄酒750ml
  • 电费打发票用哪个软件
  • 其他业务收入是什么意思
  • 旅游业哪些发票需要交税
  • 借入资金用于生产经营
  • 外贸出口退税操作流程
  • linux 静态链接
  • 公司购买led屏幕做到什么费用
  • mysql中文乱码怎样用代码解决
  • 预算收入的核算
  • 转账支票背书盖章图位置
  • 固定资产处置的净收入计入
  • 实收资本与注册资本之间的关系
  • 消费税和购置税系重复征税
  • 股东捐赠资产要纳税吗
  • 债券投资属于什么
  • 食堂购电饭锅账务处理
  • 有哪些发票可以报销
  • 融资租赁业务如何开展
  • 增值税的专用发票金额含税吗
  • 支付收购股权款如何做账
  • 认缴制不会带来的账务问题
  • 现金存银行凭证
  • 远期支票可以背书转让吗
  • 工会经费的减除项是什么
  • mysql的优化有哪几种
  • win7系统自带刻录启用
  • ScanMailOutLook.exe - ScanMailOutLook是什么进程 有什么用
  • Win7笔记本突然wifi功能没了
  • win8应用商店无法连接网络
  • 预装win7旗舰版
  • win7系统自动弹出搜索框
  • jquery技巧
  • 解决Android Studio下载gradle慢
  • dos字符串替换
  • cocos2dx4.0入门
  • xp系统explorer停止工作
  • 希尔排序数据结构的代码
  • angular nz
  • jquery的fadein
  • 税务评定等级a是缴纳多少
  • 税务青年要担当
  • 没有代理记账资质做代理记账业务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设