taolib.testing.multi_agent.llm.protocols#

LLM模型协议接口。

定义所有LLM模型提供商必须实现的统一接口。

Classes#

LLMProvider

LLM模型提供商协议。

BaseLLMProvider

LLM模型提供商基类。

Module Contents#

class taolib.testing.multi_agent.llm.protocols.LLMProvider#

Bases: Protocol

LLM模型提供商协议。

property config: taolib.testing.multi_agent.models.ModelConfig#

获取模型配置。

property stats: taolib.testing.multi_agent.models.ModelStats#

获取模型统计信息。

async health_check() bool#

检查模型是否健康可用。

返回:

模型是否健康可用

返回类型:

bool

async generate(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, **kwargs) str#

同步生成文本。

参数:
  • prompt -- 用户输入的提示词

  • temperature -- 温度参数,如果为None则使用默认配置

  • max_tokens -- 最大生成token数,如果为None则使用默认配置

  • system_prompt -- 系统提示词,如果为None则使用默认配置

  • **kwargs -- 其他模型特定参数

返回:

生成的文本

返回类型:

str

抛出:

LLMError -- 生成过程中出错

async generate_stream(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, **kwargs) AsyncGenerator[str, None]#

流式生成文本。

参数:
  • prompt -- 用户输入的提示词

  • temperature -- 温度参数,如果为None则使用默认配置

  • max_tokens -- 最大生成token数,如果为None则使用默认配置

  • system_prompt -- 系统提示词,如果为None则使用默认配置

  • **kwargs -- 其他模型特定参数

生成器:

str -- 生成的文本片段

抛出:

LLMError -- 生成过程中出错

class taolib.testing.multi_agent.llm.protocols.BaseLLMProvider(config: taolib.testing.multi_agent.models.ModelConfig)#

Bases: abc.ABC

LLM模型提供商基类。

_config#
_stats#
property config: taolib.testing.multi_agent.models.ModelConfig#

获取模型配置。

property stats: taolib.testing.multi_agent.models.ModelStats#

获取模型统计信息。

abstractmethod health_check() bool#
Async:

检查模型是否健康可用。

abstractmethod generate(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, **kwargs) str#
Async:

同步生成文本。

abstractmethod generate_stream(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, **kwargs) AsyncGenerator[str, None]#
Async:

流式生成文本。

_update_stats_success(latency_seconds: float, tokens_used: int = 0) None#

更新成功请求的统计信息。

参数:
  • latency_seconds -- 请求延迟(秒)

  • tokens_used -- 使用的token数

_update_stats_failure() None#

更新失败请求的统计信息。