59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
|
|
"""
|
||
|
|
AI接口适配器模块
|
||
|
|
提供统一的AI调用接口
|
||
|
|
"""
|
||
|
|
from .base_adapter import BaseAdapter, AdapterResponse, ChatMessage
|
||
|
|
from .minimax_adapter import MiniMaxAdapter
|
||
|
|
from .zhipu_adapter import ZhipuAdapter
|
||
|
|
from .openrouter_adapter import OpenRouterAdapter
|
||
|
|
from .kimi_adapter import KimiAdapter
|
||
|
|
from .deepseek_adapter import DeepSeekAdapter
|
||
|
|
from .gemini_adapter import GeminiAdapter
|
||
|
|
from .ollama_adapter import OllamaAdapter
|
||
|
|
from .llmstudio_adapter import LLMStudioAdapter
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
"BaseAdapter",
|
||
|
|
"AdapterResponse",
|
||
|
|
"ChatMessage",
|
||
|
|
"MiniMaxAdapter",
|
||
|
|
"ZhipuAdapter",
|
||
|
|
"OpenRouterAdapter",
|
||
|
|
"KimiAdapter",
|
||
|
|
"DeepSeekAdapter",
|
||
|
|
"GeminiAdapter",
|
||
|
|
"OllamaAdapter",
|
||
|
|
"LLMStudioAdapter",
|
||
|
|
]
|
||
|
|
|
||
|
|
# 适配器注册表
|
||
|
|
ADAPTER_REGISTRY = {
|
||
|
|
"minimax": MiniMaxAdapter,
|
||
|
|
"zhipu": ZhipuAdapter,
|
||
|
|
"openrouter": OpenRouterAdapter,
|
||
|
|
"kimi": KimiAdapter,
|
||
|
|
"deepseek": DeepSeekAdapter,
|
||
|
|
"gemini": GeminiAdapter,
|
||
|
|
"ollama": OllamaAdapter,
|
||
|
|
"llmstudio": LLMStudioAdapter,
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
def get_adapter(provider_type: str) -> type:
|
||
|
|
"""
|
||
|
|
根据提供商类型获取对应的适配器类
|
||
|
|
|
||
|
|
Args:
|
||
|
|
provider_type: 提供商类型标识
|
||
|
|
|
||
|
|
Returns:
|
||
|
|
适配器类
|
||
|
|
|
||
|
|
Raises:
|
||
|
|
ValueError: 未知的提供商类型
|
||
|
|
"""
|
||
|
|
adapter_class = ADAPTER_REGISTRY.get(provider_type.lower())
|
||
|
|
if not adapter_class:
|
||
|
|
raise ValueError(f"未知的AI提供商类型: {provider_type}")
|
||
|
|
return adapter_class
|