xtalk.model_types
Embeddings
定义于 langchain_core.embeddings。
from langchain_core.embeddings import Embeddings
该模块重新导出的外部依赖。
BaseChatModel
定义于 langchain_core.language_models.chat_models。
from langchain_core.language_models.chat_models import BaseChatModel
该模块重新导出的外部依赖。
Agent
定义于 xtalk.llm_agent.interfaces。
class Agent(ABC)
Xtalk 所使用的会话式 Agent 抽象接口。
Methods
content_to_text
定义于 xtalk.llm_agent.interfaces。
def content_to_text(content: Any) -> str
将模型内容块规范化为纯文本。
Parameters
contentLangChain 模型消息或分块产生的内容。
Returns
str从输入中提取出的纯文本内容。
accept
定义于 xtalk.llm_agent.interfaces。
def accept(self, context: AgentContext) -> Iterable[AgentOutput]
接收一次增量上下文更新。
Parameters
context(AgentContext) 由服务层事件转发而来的上下文负载。
Yields
AgentStreamItem由该次更新触发的零个或多个流式输出项。
async_accept
定义于 xtalk.llm_agent.interfaces。
async def async_accept(self, context: AgentContext) -> AsyncIterator[AgentOutput]
异步接收一次增量上下文更新。
Parameters
context(AgentContext) 由服务层事件转发而来的上下文负载。
Yields
AgentStreamItem由该次更新触发的流式输出项。
sync_iter_from_async
定义于 xtalk.llm_agent.interfaces。
def sync_iter_from_async(self, async_iter: AsyncIterator[T]) -> Iterable[T]
将异步迭代器转换为同步生成器。
Parameters
async_iter(AsyncIterator[T]) 待桥接的异步迭代器。
Yields
Tasync_iter产生的各项内容。
clone
定义于 xtalk.llm_agent.interfaces。
def clone(self) -> 'Agent'
为新会话克隆 Agent。
Returns
Agent适用于新会话的 Agent 实例。
restore_history
定义于 xtalk.llm_agent.interfaces。
def restore_history(self, messages: list[dict[str, Any]]) -> None
将持久化的对话消息恢复到 Agent 状态中。
get_chat_history
定义于 xtalk.llm_agent.interfaces。
def get_chat_history(self, with_system: bool = False) -> str | None
当可用时,返回序列化后的对话历史。
Parameters
with_system(bool, optional) 在具体实现支持时,是否包含系统提示消息。
Returns
str | None对话历史;如果没有则为None。
add_tools
定义于 xtalk.llm_agent.interfaces。
def add_tools(self, tools: list[BaseTool | Callable[[], BaseTool]]) -> None
向 Agent 附加工具。
Parameters
tools(list[BaseTool | Callable[[], BaseTool]]) 工具实例,或返回工具实例的工厂函数。
Rewriter
定义于 xtalk.rewriter.interfaces。
class Rewriter(ABC)
文本重写辅助组件的抽象接口。
Methods
rewrite
定义于 xtalk.rewriter.interfaces。
def rewrite(self, input: str) -> str
重写输入文本。
async_rewrite
定义于 xtalk.rewriter.interfaces。
async def async_rewrite(self, input: str) -> str
异步重写输入文本。
ASR
定义于 xtalk.speech.interfaces。
class ASR(ABC)
自动语音识别的抽象接口。
Methods
recognize
定义于 xtalk.speech.interfaces。
def recognize(self, audio: bytes) -> str
识别完整音频缓冲区。
recognize_stream
定义于 xtalk.speech.interfaces。
def recognize_stream(self, audio: bytes, *, is_final: bool = False, chat_history: str | None = None) -> str
以流式模式增量识别音频。
Parameters
audio(bytes) 增量 PCM 16-bit 单声道音频字节。is_final(bool, optional) 调用方是否希望把当前点视为一个临时边界,并在需要时刷出原本会保留在缓冲中的尾部音频。这只是解码提示,并不意味着必须重置流式状态;之前已经识别出的文本应继续保留,以便后续音频在累计结果上继续识别。chat_history(str | None, optional) 当前会话的序列化聊天历史;在不可用时不包含进行中的轮次。
Returns
str当前识别结果。
stream_chunk_bytes_hint
定义于 xtalk.speech.interfaces。
def stream_chunk_bytes_hint(self) -> int | None
返回建议的流式分块大小。
Returns
int | None建议每次传给recognize_stream的分块字节数;如果没有偏好则为None。
reset
定义于 xtalk.speech.interfaces。
def reset(self) -> None
重置内部识别状态。
clone
定义于 xtalk.speech.interfaces。
def clone(self) -> 'ASR'
为新会话克隆 ASR 实例。
async_recognize
定义于 xtalk.speech.interfaces。
async def async_recognize(self, audio: bytes) -> str
异步识别完整音频缓冲区。
async_recognize_stream
定义于 xtalk.speech.interfaces。
async def async_recognize_stream(self, audio: bytes, *, is_final: bool = False, chat_history: str | None = None) -> str
异步识别增量音频输入。
Parameters
audio(bytes) 增量 PCM 16-bit 单声道音频字节。is_final(bool, optional) 调用方是否希望把当前点视为一个临时边界,并在需要时刷出原本会保留在缓冲中的尾部音频。这只是解码提示,并不意味着必须重置流式状态;之前已经识别出的文本应继续保留,以便后续音频在累计结果上继续识别。chat_history(str | None, optional) 当前会话的序列化聊天历史;在不可用时不包含进行中的轮次。
Returns
str当前识别结果。
TTS
定义于 xtalk.speech.interfaces。
class TTS(ABC)
文本转语音引擎的抽象基类。
Captioner
定义于 xtalk.speech.interfaces。
class Captioner(ABC)
音频描述模型的抽象基类。
PuntRestorer
定义于 xtalk.speech.interfaces。
class PuntRestorer(ABC)
标点恢复模型的抽象基类。
VAD
定义于 xtalk.speech.interfaces。
class VAD(ABC)
语音活动检测引擎的抽象基类。
SpeechEnhancer
定义于 xtalk.speech.interfaces。
class SpeechEnhancer(ABC)
语音增强引擎的抽象基类。
Notes
输入与输出均使用 16 kHz 的 PCM 16-bit 单声道音频字节。
SpeakerEncoder
定义于 xtalk.speech.interfaces。
class SpeakerEncoder(ABC)
说话人嵌入模型的抽象基类。
SpeechSpeedController
定义于 xtalk.speech.interfaces。
class SpeechSpeedController(ABC)
TTS 语速控制器接口。
TurnDetector
定义于 xtalk.speech.interfaces。
class TurnDetector(ABC)
轮次检测器的抽象接口。
Methods
detect
定义于 xtalk.speech.interfaces。
def detect(self, audio: Optional[bytes] = None, text: Optional[str] = None, speech_start: bool = False, speech_pause: Optional[bool] = None) -> TurnDetectionResult
根据音频和文本检测当前回合状态。
Parameters
audio(bytes | None, optional) 当前 16 kHz PCM 16-bit 单声道音频帧。text(str | None, optional) 当前回合的 ASR 文本。speech_start(bool, optional) VAD 是否刚刚检测到语音开始。该参数可以在没有audio或text的情况下单独提供。speech_pause(bool | None, optional) 用户是否看起来暂停了说话。
async_detect
定义于 xtalk.speech.interfaces。
async def async_detect(self, audio: Optional[bytes] = None, text: Optional[str] = None, speech_start: bool = False, speech_pause: Optional[bool] = None) -> TurnDetectionResult
异步检测当前回合状态。
Parameters
audio(bytes | None, optional) 当前 16 kHz PCM 16-bit 单声道音频帧。text(str | None, optional) 当前回合的 ASR 文本。speech_start(bool, optional) VAD 是否刚刚检测到语音开始。该参数可以在没有audio或text的情况下单独提供。speech_pause(bool | None, optional) 用户是否看起来暂停了说话。