Nhảy đến nội dung chính

AIMessage – Tin nhắn phản hồi từ AI

Trong LangChain, AIMessage đại diện cho phản hồi từ mô hình ngôn ngữ (LLM) sau khi nhận một hoặc nhiều HumanMessage.

Bạn có thể nghĩ nó giống như câu trả lời mà ChatGPT gửi lại sau khi bạn hỏi.

LangChain cho phép bạn truyền danh sách các message vào mô hình — trong đó AIMessage giúp mô phỏng những phản hồi trước đó từ AI để giữ ngữ cảnh hội thoại.

Cú pháp khai báo

from langchain.schema import AIMessage

message = AIMessage(content="Tôi có thể giúp gì cho bạn hôm nay?")
  • content: là nội dung phản hồi của AI.

  • Cũng có thể dùng thêm name, nhưng thường không cần vì AI chỉ có 1 vai trò chính.

Ví dụ sử dụng với ChatOpenAI

from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, AIMessage

chat = ChatOpenAI()

messages = [
    HumanMessage(content="Bạn tên là gì?"),
    AIMessage(content="Tôi là trợ lý ảo của bạn."),
    HumanMessage(content="Bạn có thể giúp tôi dịch từ 'apple' sang tiếng Việt không?")
]

response = chat(messages)
print(response.content)

Kết quả có thể là:
"Từ 'apple' trong tiếng Việt là 'quả táo'."

Sử dụng trong hội thoại nhiều lượt (multi-turn conversation)

from langchain.schema import HumanMessage, AIMessage, SystemMessage

messages = [
    SystemMessage(content="Bạn là trợ lý lịch sự, trả lời bằng tiếng Việt."),
    HumanMessage(content="Xin chào!"),
    AIMessage(content="Chào bạn! Tôi có thể giúp gì hôm nay?"),
    HumanMessage(content="Thời tiết hôm nay như thế nào ở Hà Nội?")
]

Bạn có thể gửi messages này vào ChatOpenAI() để giữ toàn bộ ngữ cảnh từ đầu đến cuối.

AIMessage sử dụng trong những trường hợp

  • Khi bạn lưu trữ phản hồi của AI trong một cuộc trò chuyện và muốn phát lại sau này.

  • Khi bạn cần thêm bối cảnh vào lời nhắc (prompt) hiện tại để mô hình hiểu mạch hội thoại.

  • Khi bạn muốn mô phỏng lại các cuộc đối thoại giữa người dùng và AI.

Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft