参数解析:2、简单调用大模型
os.environ["OPENAI_API_KEY"] = "API密钥",申请的模型apikey
引申:
base_url:大模型的部署调用地址
model:调用的模型名称(官方发布的模型名称)
temperature:模型温度,温度越高越具有创造力
openAI国内用不了,使用腾讯混元大模型代替(免费):console.cloud.tencent.com
解析:3、模板处理
SystemMessage:系统消息,告诉系统他的作用,或者他扮演的角色
引申:
HumanMessage:用户消息,该方法存放用户与大模型交互的信息
llm.invoke(messages):将消息传送给大模型,并激活大模型进行处理消息
result.content:拿到大模型返回的结果内容
输出解析器
文本效果等同于result.content复制代码
- from langchain_core.output_parsers import StrOutputParser
- parser = StrOutputParser()
- result = llm.invoke(messages)
- response = parser.invoke(result)
- print(response)
解析:4、LCEL(组件连接)
ChatPromptTemplate:定义一个模板prompt,其中占位符用{}
MessagesPlaceholder(variable_name="messages"):定义一个未知消息类型占位符,名称为messages。消息类型有SystemMessage、HumanMessage、AIMessage
prompt.invoke:激活并使用模板,将占位符填充内容
resul.to_messages():将填充后的模板转换为messages,后续提供给大模型使用
解析:三、langchain基础使用
chain:定义一个LCEL链式处理串
chain.invoke:激活chain处理传入内容
执行顺序:激活穿入的内容传递到LCEL处理。先进行模板处理,然后在将处理后的模板传递给llm,最后在将llm处理的内容交给parser进行输出解析
解析:调用大模型
get_session_history:定义获取历史信息方法
RunnableWithMessageHistory(llm, get_session_history):为模型添加历史信息
解析:设置历史消息上下文长度
config:定义当前会话的session_id
with_message_history.invoke:激活历史信息模型,并且将config应用
解析:2、模型流式返回
itemgetter("messages") | trimmer :拿到messages的值,并进行trimmer切割
RunnablePassthrough.assign:创建一个新的可运行对象,它会保留原始输入的所有字段,同时添加或替换指定的字段。此处指定为messages
| 欢迎光临 AI创想 (https://www.llms-ai.com/) | Powered by Discuz! X3.4 |