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=Falseprefix: str | None=None
ToolCallResultArgs
定义于 xtalk.llm_agent.tools.utils。
class ToolCallResultArgs(TypedDict)
描述一次已完成工具调用的序列化结果;其中 name 保存工具名,args 保存原始参数,content 保存文本结果。
ToolCallResult
定义于 xtalk.llm_agent.tools.utils。
class ToolCallResult(ToolCall)
工具执行完成后发出的结构化工具调用结果事件。