taolib.testing.multi_agent.llm#
LLM模型集成模块。
提供无需API KEY的免费大模型集成。
Submodules#
Classes#
LLM模型负载均衡器。 |
|
LLM模型管理器。 |
|
LLM模型提供商基类。 |
|
LLM模型提供商协议。 |
|
LLM模型注册表。 |
Functions#
|
获取全局LLM管理器。 |
|
设置全局LLM管理器。 |
Package Contents#
- class taolib.testing.multi_agent.llm.LoadBalancer(config: taolib.testing.multi_agent.models.LoadBalanceConfig | None = None)#
LLM模型负载均衡器。
- _config#
- _providers: dict[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
- _instances: dict[str, taolib.testing.multi_agent.models.ModelInstance]#
- _round_robin_index = 0#
- register_provider(instance_id: str, provider: taolib.testing.multi_agent.llm.protocols.BaseLLMProvider) None#
注册模型提供商。
- 参数:
instance_id -- 实例ID
provider -- 模型提供商实例
- get_available_providers() list[tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]#
获取所有可用的提供商。
- 返回:
可用的提供商列表
- 返回类型:
- _select_round_robin(available: list[tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]) tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
轮询策略选择。
- 参数:
available -- 可用提供商列表
- 返回:
选中的提供商
- 返回类型:
- _select_least_connections(available: list[tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]) tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
最少连接策略选择。
- 参数:
available -- 可用提供商列表
- 返回:
选中的提供商
- 返回类型:
- _select_random(available: list[tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]) tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
随机策略选择。
- 参数:
available -- 可用提供商列表
- 返回:
选中的提供商
- 返回类型:
- _select_weighted(available: list[tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]) tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
加权随机策略选择。
- 参数:
available -- 可用提供商列表
- 返回:
选中的提供商
- 返回类型:
- select_provider() tuple[str, taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
选择一个提供商。
- 返回:
选中的实例ID和提供商
- 返回类型:
- 抛出:
ModelUnavailableError -- 没有可用的提供商
- get_instance_stats(instance_id: str) taolib.testing.multi_agent.models.ModelInstance | None#
获取实例统计信息。
- 参数:
instance_id -- 实例ID
- 返回:
实例信息
- 返回类型:
Optional[ModelInstance]
- get_all_instances() list[taolib.testing.multi_agent.models.ModelInstance]#
获取所有实例信息。
- 返回:
实例列表
- 返回类型:
- get_provider(instance_id: str) taolib.testing.multi_agent.llm.protocols.BaseLLMProvider | None#
获取指定实例ID的提供商。
- 参数:
instance_id -- 实例ID
- 返回:
提供商实例,如果不存在则返回None
- 返回类型:
Optional[BaseLLMProvider]
- class taolib.testing.multi_agent.llm.LLMManager(load_balance_config: taolib.testing.multi_agent.models.LoadBalanceConfig | None = None)#
LLM模型管理器。
- _load_balancer#
- _default_provider: taolib.testing.multi_agent.llm.protocols.BaseLLMProvider | None = None#
- add_model(config: taolib.testing.multi_agent.models.ModelConfig, instance_id: str | None = None) str#
添加一个模型。
- 参数:
config -- 模型配置
instance_id -- 实例ID,如果为None则自动生成
- 返回:
实例ID
- 返回类型:
- async generate(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, instance_id: str | None = None, **kwargs) str#
生成文本。
- 参数:
prompt -- 用户输入的提示词
temperature -- 温度参数
max_tokens -- 最大生成token数
system_prompt -- 系统提示词
instance_id -- 指定实例ID,如果为None则使用负载均衡选择
**kwargs -- 其他参数
- 返回:
生成的文本
- 返回类型:
- 抛出:
ModelUnavailableError -- 没有可用的模型
LLMError -- 生成过程出错
- async generate_stream(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, instance_id: str | None = None, **kwargs) AsyncGenerator[str, None]#
流式生成文本。
- 参数:
prompt -- 用户输入的提示词
temperature -- 温度参数
max_tokens -- 最大生成token数
system_prompt -- 系统提示词
instance_id -- 指定实例ID,如果为None则使用负载均衡选择
**kwargs -- 其他参数
- 生成器:
str -- 生成的文本片段
- 抛出:
ModelUnavailableError -- 没有可用的模型
LLMError -- 生成过程出错
- async health_check(instance_id: str | None = None) bool#
健康检查。
- 参数:
instance_id -- 指定实例ID,如果为None则检查所有
- 返回:
是否健康
- 返回类型:
- get_model_stats(instance_id: str)#
获取模型统计信息。
- 参数:
instance_id -- 实例ID
- 返回:
模型实例信息
- 返回类型:
Optional[ModelInstance]
- get_all_models()#
获取所有模型实例信息。
- 返回:
模型实例列表
- 返回类型:
- taolib.testing.multi_agent.llm.get_llm_manager() LLMManager#
获取全局LLM管理器。
- 返回:
LLM管理器
- 返回类型:
- taolib.testing.multi_agent.llm.set_llm_manager(manager: LLMManager) None#
设置全局LLM管理器。
- 参数:
manager -- LLM管理器
- class taolib.testing.multi_agent.llm.BaseLLMProvider(config: taolib.testing.multi_agent.models.ModelConfig)#
Bases:
abc.ABCLLM模型提供商基类。
- _config#
- _stats#
- property config: taolib.testing.multi_agent.models.ModelConfig#
获取模型配置。
- property stats: taolib.testing.multi_agent.models.ModelStats#
获取模型统计信息。
- 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:
流式生成文本。
- class taolib.testing.multi_agent.llm.LLMProvider#
Bases:
ProtocolLLM模型提供商协议。
- property config: taolib.testing.multi_agent.models.ModelConfig#
获取模型配置。
- property stats: taolib.testing.multi_agent.models.ModelStats#
获取模型统计信息。
- async generate(prompt: str, *, temperature: float | None = None, max_tokens: int | None = None, system_prompt: str | None = None, **kwargs) str#
同步生成文本。
- 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.ModelRegistry#
LLM模型注册表。
- _providers: dict[taolib.testing.multi_agent.models.ModelProvider, Type[taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]]#
- classmethod register(provider_type: taolib.testing.multi_agent.models.ModelProvider, provider_class: Type[taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]) None#
注册模型提供商。
- 参数:
provider_type -- 模型提供商类型
provider_class -- 提供商类
- classmethod get_provider_class(provider_type: taolib.testing.multi_agent.models.ModelProvider) Type[taolib.testing.multi_agent.llm.protocols.BaseLLMProvider]#
获取模型提供商类。
- 参数:
provider_type -- 模型提供商类型
- 返回:
提供商类
- 返回类型:
Type[BaseLLMProvider]
- 抛出:
ValueError -- 提供商未注册
- classmethod create_provider(config: taolib.testing.multi_agent.models.ModelConfig) taolib.testing.multi_agent.llm.protocols.BaseLLMProvider#
创建模型提供商实例。
- 参数:
config -- 模型配置
- 返回:
提供商实例
- 返回类型:
- classmethod get_available_providers() list[taolib.testing.multi_agent.models.ModelProvider]#
获取所有已注册的提供商。
- 返回:
提供商列表
- 返回类型: