DB-GPT/dbgpt/model/proxy/__init__.py
Aries-ckt 576da34e92
feat(model): Support Gitee models (#2257)
Co-authored-by: Fangyin Cheng <staneyffer@gmail.com>
2024-12-31 19:24:24 +08:00

64 lines
2.3 KiB
Python

"""Proxy models."""
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from dbgpt.model.proxy.llms.chatgpt import OpenAILLMClient
from dbgpt.model.proxy.llms.claude import ClaudeLLMClient
from dbgpt.model.proxy.llms.deepseek import DeepseekLLMClient
from dbgpt.model.proxy.llms.gemini import GeminiLLMClient
from dbgpt.model.proxy.llms.gitee import GiteeLLMClient
from dbgpt.model.proxy.llms.moonshot import MoonshotLLMClient
from dbgpt.model.proxy.llms.ollama import OllamaLLMClient
from dbgpt.model.proxy.llms.siliconflow import SiliconFlowLLMClient
from dbgpt.model.proxy.llms.spark import SparkLLMClient
from dbgpt.model.proxy.llms.tongyi import TongyiLLMClient
from dbgpt.model.proxy.llms.wenxin import WenxinLLMClient
from dbgpt.model.proxy.llms.yi import YiLLMClient
from dbgpt.model.proxy.llms.zhipu import ZhipuLLMClient
def __lazy_import(name):
module_path = {
"OpenAILLMClient": "dbgpt.model.proxy.llms.chatgpt",
"ClaudeLLMClient": "dbgpt.model.proxy.llms.claude",
"GeminiLLMClient": "dbgpt.model.proxy.llms.gemini",
"SiliconFlowLLMClient": "dbgpt.model.proxy.llms.siliconflow",
"SparkLLMClient": "dbgpt.model.proxy.llms.spark",
"TongyiLLMClient": "dbgpt.model.proxy.llms.tongyi",
"WenxinLLMClient": "dbgpt.model.proxy.llms.wenxin",
"ZhipuLLMClient": "dbgpt.model.proxy.llms.zhipu",
"YiLLMClient": "dbgpt.model.proxy.llms.yi",
"MoonshotLLMClient": "dbgpt.model.proxy.llms.moonshot",
"OllamaLLMClient": "dbgpt.model.proxy.llms.ollama",
"DeepseekLLMClient": "dbgpt.model.proxy.llms.deepseek",
"GiteeLLMClient": "dbgpt.model.proxy.llms.gitee",
}
if name in module_path:
module = __import__(module_path[name], fromlist=[name])
return getattr(module, name)
else:
raise AttributeError(f"module {__name__} has no attribute {name}")
def __getattr__(name):
return __lazy_import(name)
__all__ = [
"OpenAILLMClient",
"ClaudeLLMClient",
"GeminiLLMClient",
"TongyiLLMClient",
"ZhipuLLMClient",
"WenxinLLMClient",
"SiliconFlowLLMClient",
"SparkLLMClient",
"YiLLMClient",
"MoonshotLLMClient",
"OllamaLLMClient",
"DeepseekLLMClient",
"GiteeLLMClient",
]