From 14564c392ab8c5dc8891871a33358deccfd5b57f Mon Sep 17 00:00:00 2001 From: Ruochen <1051989940@qq.com> Date: Tue, 8 Jul 2025 15:33:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:meta=E6=96=B9=E6=B3=95=E5=A2=9E=E5=8A=A0pr?= =?UTF-8?q?ovider=5Ftype=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/provider/provider.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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, )