大数跨境
0
0

LangChain1.0:Message(消息)

LangChain1.0:Message(消息) PyTorch研习社
2025-12-02
0
导读:在 LangChain 中,消息(Message)是模型上下文的基本单元。

在 LangChain 中,消息(Message)是模型上下文的基本单元。它们代表了模型的输入和输出,在与LLM交互时,承载着对话状态所需的内容和元数据。

消息具有以下属性:

  • 角色(Role):标识消息类型(例如 system、user 等) 
  • 内容(Content):表示消息的实际内容(如文本、图像、音频、文档等) 
  • 元数据(Metadata):可选字段,例如响应信息、消息 ID、token 使用量等

消息有四种:

    • 系统消息(System      Message)通常描述 Agent      的基本角色。比如你是一个 SQL 分析师,等等,然后进一步描述其应执行的任务和限制的命令范围。
    • 人类消息(Human      Message)通常是初始请求,也可能作为必要的反馈或人为介入。
    • AI      消息(AI Message则是由模型生成的任何消息。在这里可以看到模型提供工具调用的内容。
    • 工具执行后,会返回工具消息(Tool      Message),其中包含工具调用的结果。
    • 最后再有一个 AI 消息作为最终输出。

需要理解的一点是,这些消息不是节点之间直接传递的,而是存储在一个共享的持久“状态”(state)中。所有节点都可以访问它。

随着节点执行,输出会以消息的形式存储在 state 中。因此,模型不仅可以访问工具结果,还能看到整个历史消息记录,包括原始问题、工具调用、工具返回信息等,并基于这些进行推理,产生最终结果。最终输出是来自 Agent 的最后一个 AI 消息,同时有整个历史对话记录辅助支撑。

 Agent 中,AI 消息中除了 LLM 返回的文本内容 content 之外,还有一个tool_calls 属性存储了要执行的工具调用信息。

随后的工具调用结果生成了工具消息,工具消息中的 tool_call_id  AI 消息中的工具调用一一匹配,这样 LLM 就知道如何利用工具调用的结果输出最终的 AI 消息了。

【声明】内容源于网络
0
0
PyTorch研习社
打破知识壁垒,做一名知识的传播者
内容 811
粉丝 0
PyTorch研习社 打破知识壁垒,做一名知识的传播者
总阅读45
粉丝0
内容811