dw怎么做网站,小程序商店app,dw做asp购物网站,职业生涯规划大赛策划书目录 前言
一、概述
二、Model
三、Prompt
五、Output Parsers
总结 前言
随着人工智能技术的不断进步#xff0c;大模型的应用场景越来越广泛。LangChain框架作为一个创新的解决方案#xff0c;专为处理大型语言模型的输入输出而设计。其中#xff0c;Model IO#…
目录 前言
一、概述
二、Model
三、Prompt
五、Output Parsers
总结 前言
随着人工智能技术的不断进步大模型的应用场景越来越广泛。LangChain框架作为一个创新的解决方案专为处理大型语言模型的输入输出而设计。其中Model IO输入输出模块扮演着至关重要的角色负责构建和管理数据交互的通道。本文将深入剖析ModelIO模块的工作原理、功能特性以及如何通过该模块提升数据处理效率进而加速AI大模型应用的开发。 一、概述
Model IO模块是LangChain框架的数据交互中枢它不仅负责准备和处理模型的输入数据还管理模型产出的结果。主要包括一下3部分
提示词格式化Input接收原始输入数据到将其转换为模型可理解的格式大模型调用Model 调用大语言模型API获得返回结果结果解析处理Output将大语言模型返回的结果进行解析处理。
二、Model
1、LLMs
LLMs是LangChain 的核心组件但LangChain并不提供自己的LLMs它主要允许开发者使用统一的方式与不同的大型语言模型进行交互。这包括与OpenAI、Cohere、Hugging Face等流行的LLMs服务进行接口对接。类似于Completion属于文本生成类模型API的支持
from langchain_openai import OpenAIllm OpenAI()llm.invoke(奥巴马当了几年总统) 2、Chat Model
对于需要复杂对话管理能力的应用LangChain框架提供了ChatModels模块。这个模块利用特殊的语言模型变体优化了聊天场景下的信息交换和处理流程。(类似于Chat Completion属于聊天会话类模型API的支持)
from langchain_openai import ChatOpenAIchat_model ChatOpenAI(modelgpt-3.5-turbo-0125)from langchain_core.messages import (AIMessage,HumanMessage,SystemMessage
)# 设置模型角色同时设置样例
messages [SystemMessage(content你是一个智能助手),HumanMessage(content第二十一届世界杯在哪儿举行的?),AIMessage(content在俄罗斯),HumanMessage(content冠军是哪个球队)]# chat_model.invoke(messages)chat_model.invoke(messages).content
三、Prompt
通过Prompts模块提供了灵活的提示词模板和处理机制允许用户高效地定义和格式化这些提示以便与LLMs进行有效的交互。 1、Prompt Template
用于创建动态的提示词模板可以基于一定规则插入变量。例如
## 可以动态传入参数
from langchain.prompts import PromptTemplate# 定义提示词模板
prompt_template PromptTemplate.from_template(Tell me a {adjective} joke about {content}.
)
# 传入参数格式化提示词模板
prompt_template.format(adjectivefunny, contentchickens)## 也可以不传参数from langchain.prompts import PromptTemplateprompt_template PromptTemplate.from_template(Tell me a joke)prompt_template.format() 2、ChatPromptTemplate
专门用于支持聊天场景模拟多轮对话中的上下文交换。例如
from langchain.prompts import ChatPromptTemplatechat_template ChatPromptTemplate.from_messages([(system, You are a helpful AI bot. Your name is {name}.),(human, Hello, how are you doing?),(ai, Im doing well, thanks!),(human, {user_input}),]
)messages chat_template.format_messages(nameBob, user_inputWhat is your name?)chat_model.invoke(messages)
3、Few-shot prompt templates
利用有限示例来丰富大型语言模型LLMs的知识基础并指导其推理过程。向模型提供针对性的样本集合这些样本作为参考点有效地提升模型在处理新颖问题时的逻辑推理能力和答案生成的精确度同时还增强了模型在面对未知或复杂情境下的思维连贯性和适应性。
from langchain.prompts.few_shot import FewShotPromptTemplatefrom langchain.prompts.prompt import PromptTemplateexamples [{question: 富兰克林·德拉诺·罗斯福和亚伯拉罕·林肯中哪个担任总统的时间更长,answer:这里需要后续问题吗是。后续问题富兰克林·德拉诺·罗斯福担任了几年总统中间答案富兰克林·德拉诺·罗斯福担任了12年的总统。后续问题亚伯拉罕·林肯则担任了几年总统中间答案亚伯拉罕·林肯则担任了5年的总统。因此最终答案是富兰克林·德拉诺·罗斯福},{question: 百度的创始人是何时出生的,answer:这里需要后续问题吗是。后续问题百度的创始人是谁中间答案百度的创始人是李彦宏。后续问题李彦宏是什么时候出生的中间答案李彦宏于1968年11月17日出生。因此最终答案是1968年11月17日},{question: 特雷西·麦克格雷迪和姚明谁在NBA打的赛季多,answer:这里需要后续问题吗是。后续问题特雷西·麦克格雷迪在NBA打了几个赛季中间答案特雷西·麦克格雷迪在NBA打了9个赛季。后续问题姚明在NBA打了几个赛季中间答案姚明在NBA打了8个赛季。因此最终答案是特雷西·麦克格雷迪}] 1使用一个样本
# 定义提示词模板
example_prompt PromptTemplate(input_variables[question, answer], templateQuestion: {question}\n{answer})
# 使用第一个样例作为参数 并输出打印
print(example_prompt.format(**examples[0]))#输出结果
Question: 富兰克林·德拉诺·罗斯福和亚伯拉罕·林肯中哪个担任总统的时间更长这里需要后续问题吗是。
后续问题富兰克林·德拉诺·罗斯福担任了几年总统
中间答案富兰克林·德拉诺·罗斯福担任了12年的总统。
后续问题亚伯拉罕·林肯则担任了几年总统
中间答案亚伯拉罕·林肯则担任了5年的总统。
因此最终答案是富兰克林·德拉诺·罗斯福
2使用所有样本
# 使用所有的样例
prompt FewShotPromptTemplate(examplesexamples,example_promptexample_prompt,suffixQuestion: {input},input_variables[input]
)print(prompt.format(input马云比马化腾大几岁))
Question: 富兰克林·德拉诺·罗斯福和亚伯拉罕·林肯中哪个担任总统的时间更长这里需要后续问题吗是。
后续问题富兰克林·德拉诺·罗斯福担任了几年总统
中间答案富兰克林·德拉诺·罗斯福担任了12年的总统。
后续问题亚伯拉罕·林肯则担任了几年总统
中间答案亚伯拉罕·林肯则担任了5年的总统。
因此最终答案是富兰克林·德拉诺·罗斯福Question: 百度的创始人是何时出生的这里需要后续问题吗是。
后续问题百度的创始人是谁
中间答案百度的创始人是李彦宏。
后续问题李彦宏是什么时候出生的
中间答案李彦宏于1968年11月17日出生。
因此最终答案是1968年11月17日Question: 特雷西·麦克格雷迪和姚明谁在NBA打的赛季多这里需要后续问题吗是。
后续问题特雷西·麦克格雷迪在NBA打了几个赛季
中间答案特雷西·麦克格雷迪在NBA打了9个赛季。
后续问题姚明在NBA打了几个赛季
中间答案姚明在NBA打了8个赛季。
因此最终答案是特雷西·麦克格雷迪Question: 马云比马化腾大几岁
3调用测试
llm.invoke(prompt.format(input特朗普的爸爸的女儿的兄弟是谁))这里需要后续问题吗是。
后续问题特朗普的爸爸是谁
中间答案特朗普的爸爸是弗雷德·特朗普。
后续问题弗雷德·特朗普的女儿是谁
中间答案弗雷德·特朗普的女儿是玛丽·安娜·特朗普。
后续问题玛丽·安娜·特朗普的兄弟是谁
中间答案玛丽·安娜·特朗普的兄弟是唐纳德·特朗普。
因此最终答案是唐纳德·特朗普 五、Output Parsers
为了进一步处理和解析LLMs的输出结果LangChain提供了一系列的Output Parsers。这些解析器能够将模型的文本输出转换为更加结构化的格式便于后续的处理和使用。
from langchain.output_parsers import CommaSeparatedListOutputParser
from langchain.prompts import PromptTemplate
from langchain_openai import OpenAImodel OpenAI()# 将输出解析为逗号分隔的列表
parser CommaSeparatedListOutputParser()
format_instructions parser.get_format_instructions()prompt PromptTemplate(templateList five {subject}.\n{format_instructions},input_variables[subject],partial_variables{format_instructions: format_instructions}
)## LCEL 链式表达式语言用法 (前一个的输入作为后一个的输出)
chain prompt | model | parser
chain.invoke({subject: ice cream flavors})输出
[chocolate,vanilla,strawberry,mint chocolate chip,cookies and cream] 总结
通过以上相关的功能模块LangChain框架的Model IO模块为大型语言模型的数据交互提供了强大支持。其精心设计的接口和工具让开发者能够更加专注于模型的实际应用同时简化了大模型调用数据流的管理细节。降低了大模型开发门槛使得开发者可以便捷地实现高级的AI应用能力。 探索未知分享所知点击关注码路同行寻道人生 文章转载自: http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn http://www.morning.bncrx.cn.gov.cn.bncrx.cn http://www.morning.dkslm.cn.gov.cn.dkslm.cn http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn http://www.morning.ljcf.cn.gov.cn.ljcf.cn http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.rwzkp.cn.gov.cn.rwzkp.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn http://www.morning.qgwdc.cn.gov.cn.qgwdc.cn http://www.morning.grbgn.cn.gov.cn.grbgn.cn http://www.morning.pqndg.cn.gov.cn.pqndg.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.wqbfd.cn.gov.cn.wqbfd.cn http://www.morning.yrycb.cn.gov.cn.yrycb.cn http://www.morning.prprz.cn.gov.cn.prprz.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.rnht.cn.gov.cn.rnht.cn http://www.morning.blqmn.cn.gov.cn.blqmn.cn http://www.morning.kdrjd.cn.gov.cn.kdrjd.cn http://www.morning.ffbl.cn.gov.cn.ffbl.cn http://www.morning.jyyw.cn.gov.cn.jyyw.cn http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn http://www.morning.dbddm.cn.gov.cn.dbddm.cn http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn http://www.morning.lgmty.cn.gov.cn.lgmty.cn http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.jngdh.cn.gov.cn.jngdh.cn http://www.morning.ktcfl.cn.gov.cn.ktcfl.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.twgzq.cn.gov.cn.twgzq.cn http://www.morning.rdwm.cn.gov.cn.rdwm.cn http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn http://www.morning.qnzgr.cn.gov.cn.qnzgr.cn http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn http://www.morning.mxmdd.cn.gov.cn.mxmdd.cn http://www.morning.xlndf.cn.gov.cn.xlndf.cn http://www.morning.yrngx.cn.gov.cn.yrngx.cn http://www.morning.qtltg.cn.gov.cn.qtltg.cn http://www.morning.lyhry.cn.gov.cn.lyhry.cn http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn http://www.morning.qztsq.cn.gov.cn.qztsq.cn http://www.morning.wklmj.cn.gov.cn.wklmj.cn http://www.morning.jmllh.cn.gov.cn.jmllh.cn http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn http://www.morning.gkmwk.cn.gov.cn.gkmwk.cn http://www.morning.rkmsm.cn.gov.cn.rkmsm.cn http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn http://www.morning.plydc.cn.gov.cn.plydc.cn http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn http://www.morning.gnkbf.cn.gov.cn.gnkbf.cn http://www.morning.mxbks.cn.gov.cn.mxbks.cn http://www.morning.krhkb.cn.gov.cn.krhkb.cn http://www.morning.wbxr.cn.gov.cn.wbxr.cn http://www.morning.zbpqq.cn.gov.cn.zbpqq.cn http://www.morning.gycyt.cn.gov.cn.gycyt.cn http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn http://www.morning.zzaxr.cn.gov.cn.zzaxr.cn http://www.morning.qqklk.cn.gov.cn.qqklk.cn http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn http://www.morning.lfbsd.cn.gov.cn.lfbsd.cn http://www.morning.rbmnq.cn.gov.cn.rbmnq.cn http://www.morning.fxjnn.cn.gov.cn.fxjnn.cn http://www.morning.ndxrm.cn.gov.cn.ndxrm.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.dgckn.cn.gov.cn.dgckn.cn