diff --git a/astrbot/core/provider/provider.py b/astrbot/core/provider/provider.py index 98e8fab8..312400e0 100644 --- a/astrbot/core/provider/provider.py +++ b/astrbot/core/provider/provider.py @@ -2,7 +2,7 @@ import abc from typing import List from typing import TypedDict, AsyncGenerator from astrbot.core.provider.func_tool_manager import FuncCall -from astrbot.core.provider.entities import LLMResponse, ToolCallsResult +from astrbot.core.provider.entities import LLMResponse, ToolCallsResult, ProviderType from dataclasses import dataclass @@ -22,6 +22,7 @@ class ProviderMeta: id: str model: str type: str + provider_type: ProviderType class AbstractProvider(abc.ABC): @@ -40,10 +41,16 @@ class AbstractProvider(abc.ABC): def meta(self) -> ProviderMeta: """获取 Provider 的元数据""" + from astrbot.core.provider.register import provider_cls_map + + provider_type_name = self.provider_config["type"] + meta_data = provider_cls_map.get(provider_type_name) + provider_type = meta_data.provider_type if meta_data else None return ProviderMeta( id=self.provider_config["id"], model=self.get_model(), - type=self.provider_config["type"], + type=provider_type_name, + provider_type=provider_type, )