当前位置: 首页 > news >正文

乐学LangChain(3):多轮对话和批量对话

1 关于对话模型的Message

内置的消息类型:
  • SystemMessage :设定AI行为规则或背景信息。比如设定AI的初始状态、行为模式或对话的总
  • 体目标。比如“作为一个代码专家”,或者“返回json格式”。通常作为输入消息序列中的第一个 传递。
  • HumanMessage :表示来自用户输入。比如“实现 一个快速排序方法”
  • AIMessage :存储AI回复的内容。这可以是文本,也可以是调用工具的请求
  • ChatMessage :可以自定义角色的通用消息类型
  • FunctionMessage/ToolMessage :函数调用/工具消息,用于函数调用结果的消息类型
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage
import dotenv
dotenv.load_dotenv()messages=[SystemMessage(content="你是一个专业的python代码编写助手"),HumanMessage(content="你是谁")
]
chat_model = ChatOpenAI(model="Qwen/Qwen3-14B")
response=chat_model.invoke(messages)
print(response.content)

2、批量调用

多个消息可以批量发送。

from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage,AIMessage
import dotenv
dotenv.load_dotenv()messages1=[SystemMessage(content="你是一个专业的python代码编写助手"),HumanMessage(content="请用户实现一段冒泡算法"),
]messages2=[SystemMessage(content="你是一个专业的java代码编写助手"),HumanMessage(content="请用户实现一段冒泡算法"),
]messages3=[SystemMessage(content="你是一个专业的js代码编写助手"),HumanMessage(content="请用户实现一段冒泡算法"),
]messages_arr = [messages1, messages2, messages3]chat_model = ChatOpenAI(model="Qwen/Qwen3-14B")
response=chat_model.batch(messages_arr)
print(response)

3、异步调用

为了尽可能简化自定义链的创建,LangChain实现了一个"Runnable"协议。许多LangChain组件实现了 Runnable 协议,包括聊天模型、提示词模板、输出解析器、检索器、代理(智能体)等。
Runnable 定义的公共的调用方法如下:
  • invoke : 处理单条输入,等待LLM完全推理完成后再返回调用结果
  • stream : 流式响应,逐字输出LLM的响应结果
  • batch : 处理批量输入
这些也有相应的异步方法,应该与 asyncio 的 await 语法一起使用以实现并发:
  • astream : 异步流式响应
  • ainvoke : 异步处理单条输入
  • abatch : 异步处理批量输入
  • astream_log : 异步流式返回中间步骤,以及最终响应
  • astream_events : (测试版)异步流式返回链中发生的事件(在 langchain-core 0.1.14 中引入)

http://www.dtcms.com/a/504927.html

相关文章:

  • 网站服务器安全配置360网站seo怎么做
  • 网站建设和的注意事项深圳建设行业网站
  • 为了推出企业网站建设cms系统设计
  • flex:1 和 flex:auto 有什么区别?
  • 百度网盘下载太慢怎么破解
  • 晋江网站建设哪家好设计学习网站
  • 网站建设如何投放广告做网站现在可以挣钱吗
  • 兰州公司网站建设收到网站代码后怎么做
  • 自己做的网站如何赚钱建行个人余额查询网站
  • 中国建设银行重庆网站网站图片怎么换
  • 数电基础:二极管构成的门电路
  • 南京网站建设培训班对于职业规划做的好的网站
  • 双指针系列1 - 283. 移动零 和 1089. 复写零
  • 昆明做网站vr企业所得税会计分录
  • 网站建设技术免费简单网页制作成品
  • 网站建设公司推广网站品牌运营网站开发什么
  • 河南网站优化要多少钱台州网站搜索排名
  • 皋兰县建设局网站互联网营销外包推广
  • 网站商城设计方案智能自助建站系统源码
  • c语言14:字符指针
  • 手机怎么制作自己的网站wordpress怎么盈利
  • 网站页面链接怎么做怎么做二维码转到网站
  • 织梦dede建站教程视频郑州区块链数字钱包网站开发方案
  • 东莞网站设计轻量应用服务器可以做网站吗
  • 房产网站建站亚马逊雨林动物
  • 北京网站搜索引擎优化推广seo搜索优化是什么意思
  • matlab构造带通巴特沃斯滤波器进行滤波
  • wordpress建网站缺点公司注册网上查名
  • 申请建设网站经费申请苍溪县规划和建设局网站
  • GESP C++ 二级拓展课 三