跳转至

xtalk.llm_agent

Agent

定义于 xtalk.llm_agent.interfaces

class Agent(ABC)

Xtalk 所使用的会话式 Agent 抽象接口。

Methods

content_to_text

def content_to_text(content: Any) -> str

将模型内容块规范化为纯文本。

accept

def accept(self, context: AgentContext) -> Iterable[AgentOutput]

接收一次增量上下文更新,并产生零个或多个输出项。

async_accept

async def async_accept(self, context: AgentContext) -> AsyncIterator[AgentOutput]

异步接收一次增量上下文更新。

sync_iter_from_async

def sync_iter_from_async(self, async_iter: AsyncIterator[T]) -> Iterable[T]

将异步迭代器桥接为同步生成器。

clone

def clone(self) -> 'Agent'

为新会话克隆 Agent。

restore_history

def restore_history(self, messages: list[dict[str, Any]]) -> None

将持久化的对话消息恢复到 Agent 状态中。

get_chat_history

def get_chat_history(self, with_system: bool = False) -> str | None

返回序列化后的对话历史;with_system 控制是否包含系统提示。

add_tools

def add_tools(self, tools: list[BaseTool | Callable[[], BaseTool]]) -> None

向 Agent 附加工具或工具工厂。

AgentContext

定义于 xtalk.llm_agent.interfaces

class AgentContext(TypedDict)

Agent 接收的增量上下文更新。type 标识上下文流类型,data 携带由事件派生出的负载。

AgentOutput

定义于 xtalk.llm_agent.interfaces

AgentOutput

Value: Union[str, ToolCall, ToolCallResult]

ChatHistory

定义于 xtalk.llm_agent.interfaces

class ChatHistory

管理聊天历史,并支持与播放状态相关的助手消息合并。

Methods

init

def __init__(self, system_prompt: str) -> None

使用一条系统消息初始化历史。

messages

def messages(self) -> list[BaseMessage]

返回当前消息列表。

append_message

def append_message(self, message: BaseMessage) -> None

原样追加一条消息。

append_or_update_ai_message

def append_or_update_ai_message(self, full_text: str, *, final: bool) -> None

追加或合并一条受播放控制的助手消息。

DummyAgent

定义于 xtalk.llm_agent.dummy

class DummyAgent(Agent)

用于测试的哑 Agent。该实现总是返回相同的预设文本。

DefaultAgent

定义于 xtalk.llm_agent.default

class DefaultAgent(Agent)

默认的语音优先对话 Agent 实现。

Class Fields

  • BASE_PROMPT 默认系统提示词,约束回复风格、工具使用和搜索策略。

LTSAgent

定义于 xtalk.llm_agent.lts

class LTSAgent(Agent)

面向长对话状态管理的 Agent 实现。

Methods

accept

def accept(self, context: AgentContext) -> Iterable[AgentOutput]

接收增量上下文更新。

async_accept

async def async_accept(self, context: AgentContext) -> AsyncIterator[AgentOutput]

异步接收增量上下文更新。

clone

def clone(self) -> 'Agent'

为新会话克隆 Agent。

restore_history

def restore_history(self, messages: list[dict[str, Any]]) -> None

恢复持久化消息。

get_chat_history

def get_chat_history(self, with_system: bool = False) -> str | None

获取序列化后的历史记录。

add_tools

def add_tools(self, tools: list[BaseTool | Callable[[], BaseTool]]) -> None

附加工具或工具工厂。

ExperimentalAgent

定义于 xtalk.llm_agent.experimental

class ExperimentalAgent(Agent)

实验性的 Agent 实现,支持主动问候与附和策略。

Class Fields

  • BASE_SYSTEM_PROMPT 基础系统提示词。
  • GREETING_GEN_PROMPT 主动问候生成提示词。
  • BACKCHANNEL_JUDGE_PROMPT 附和判断提示词。

PlaybackAIMessageMeta

定义于 xtalk.llm_agent.interfaces

class PlaybackAIMessageMeta

跟踪一条受播放管理的助手消息的合并状态。

Class Fields

  • final: bool = False
  • prefix: str | None = None

ToolCallResultArgs

定义于 xtalk.llm_agent.tools.utils

class ToolCallResultArgs(TypedDict)

描述一次已完成工具调用的序列化结果;其中 name 保存工具名,args 保存原始参数,content 保存文本结果。

ToolCallResult

定义于 xtalk.llm_agent.tools.utils

class ToolCallResult(ToolCall)

工具执行完成后发出的结构化工具调用结果事件。