(LangChain实战2):LangChain消息(message)的使用

1.消息的类型

*SystemMessage:设定Al行为规则或背景信息。比如设定AI的初始状态、行为模式或对话的总体目标。比如"作为一个代码专家",或者"返回json格式"。通常作为输入消息序列中的第一个传递。

*HumanMessage:表示来自用户输入。比如"实现一个快速排序方法"

*AIMessage:存储AI回复的内容。这可以是文本,也可以是调用工具的请求

ChatMessage:可以自定义角色的通用消息类型

FunctionMessage/ToolMessage:函数调用/工具消息,用于函数调用结果的消息类型

2.代码示例

python 复制代码
import os

from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv

# 加载env环境变量
load_dotenv()

# 1.获取对话模型
chat_model = ChatOpenAI(
    # 1.设置模型名称
    model="deepseek-chat",
    # 2.模型接口地址
    base_url= os.getenv('OPENAI_BASE_URL'),
    # 3.模型调用key
    api_key=os.getenv('OPENAI_API_KEY'),
)
# 2.设置Message信息

# SystemMessage 设定Al行为规则或背景信息,比如"作为一个代码专家",或者"返回json格式"。
system_message = SystemMessage(content="你是一个程序员专家")

# HumanMessage:表示来自用户输入。比如"实现一个快速排序方法"
human_message = HumanMessage(content="帮我写一份Python教学计划")

# 添加到message数组
messages = [system_message, human_message]

# 3.调用模型
res = chat_model.invoke(messages)

# 4.打印结果及类型(返回类型为:AIMessage这可以是文本,也可以是调用工具的请求)
print(res.content)
print(type(res))
相关推荐
qq_423233903 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575344 小时前
分布式任务调度系统
开发语言·c++·算法
csbysj20204 小时前
选择(Selectable)
开发语言
naruto_lnq4 小时前
泛型编程与STL设计思想
开发语言·c++·算法
:Concerto4 小时前
JavaSE 注解
java·开发语言·sprint
m0_748708055 小时前
C++中的观察者模式实战
开发语言·c++·算法
qq_537562675 小时前
跨语言调用C++接口
开发语言·c++·算法
wjs20245 小时前
DOM CDATA
开发语言
Tingjct5 小时前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法