文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
API 参考

Writers (写入器)

Haystack 的 Writer。

Module haystack_experimental.components.writers.chat_message_writer

ChatMessageWriter

将聊天消息写入底层的 ChatMessageStore。

使用示例

from haystack.dataclasses import ChatMessage
from haystack_experimental.components.writers import ChatMessageWriter
from haystack_experimental.chat_message_stores.in_memory import InMemoryChatMessageStore

messages = [
    ChatMessage.from_assistant("Hello, how can I help you?"),
    ChatMessage.from_user("I have a question about Python."),
]
message_store = InMemoryChatMessageStore()
writer = ChatMessageWriter(message_store)
writer.run(messages)

ChatMessageWriter.__init__

def __init__(message_store: ChatMessageStore)

创建一个 ChatMessageWriter 组件。

参数:

  • message_store: 要将聊天消息写入的 ChatMessageStore。

ChatMessageWriter.to_dict

def to_dict() -> Dict[str, Any]

将组件序列化为字典。

返回值:

包含序列化数据的字典。

ChatMessageWriter.from_dict

@classmethod
def from_dict(cls, data: Dict[str, Any]) -> "ChatMessageWriter"

从字典反序列化组件。

参数:

  • data: 要反序列化的字典。

引发:

  • DeserializationError: 如果在序列化数据中未正确指定 message store 或其类型无法导入。

返回值:

反序列化后的组件。

ChatMessageWriter.run

@component.output_types(messages_written=int)
def run(messages: List[ChatMessage]) -> Dict[str, int]

在给定输入数据上运行 ChatMessageWriter。

参数:

  • messages: 要写入 store 的聊天消息列表。

引发:

  • ValueError: 如果指定的 message store 未找到。

返回值:

  • messages_written: 写入 ChatMessageStore 的消息数量。