mirror of https://github.com/Mai-with-u/MaiBot.git
优化方法
parent
f075f28f02
commit
45115b802f
|
|
@ -17,6 +17,7 @@ from google.genai.types import (
|
||||||
EmbedContentResponse,
|
EmbedContentResponse,
|
||||||
EmbedContentConfig,
|
EmbedContentConfig,
|
||||||
SafetySetting,
|
SafetySetting,
|
||||||
|
HttpOptions,
|
||||||
HarmCategory,
|
HarmCategory,
|
||||||
HarmBlockThreshold,
|
HarmBlockThreshold,
|
||||||
)
|
)
|
||||||
|
|
@ -345,22 +346,21 @@ class GeminiClient(BaseClient):
|
||||||
|
|
||||||
def __init__(self, api_provider: APIProvider):
|
def __init__(self, api_provider: APIProvider):
|
||||||
super().__init__(api_provider)
|
super().__init__(api_provider)
|
||||||
|
|
||||||
|
http_options_kwargs = {"timeout": api_provider.timeout}
|
||||||
|
# 增加传入参数处理
|
||||||
|
if api_provider.base_url:
|
||||||
|
parts = api_provider.base_url.rsplit("/", 1)
|
||||||
|
if len(parts) == 2 and parts[1].startswith("v"):
|
||||||
|
http_options_kwargs["base_url"] = parts[0] + "/"
|
||||||
|
http_options_kwargs["api_version"] = parts[1]
|
||||||
|
else:
|
||||||
|
http_options_kwargs["base_url"] = api_provider.base_url
|
||||||
self.client = genai.Client(
|
self.client = genai.Client(
|
||||||
|
http_options=HttpOptions(**http_options_kwargs),
|
||||||
api_key=api_provider.api_key,
|
api_key=api_provider.api_key,
|
||||||
) # 这里和openai不一样,gemini会自己决定自己是否需要retry
|
) # 这里和openai不一样,gemini会自己决定自己是否需要retry
|
||||||
|
|
||||||
# 尝试传入自定义base_url(实验性,必须为Gemini格式)
|
|
||||||
if hasattr(api_provider, "base_url") and api_provider.base_url:
|
|
||||||
base_url = api_provider.base_url.rstrip("/") # 去掉末尾 /
|
|
||||||
self.client._api_client._http_options.base_url = base_url
|
|
||||||
|
|
||||||
# 如果 base_url 已经带了 /v1 或 /v1beta,就清掉 SDK 的 api_version
|
|
||||||
if base_url.endswith("/v1") or base_url.endswith("/v1beta"):
|
|
||||||
self.client._api_client._http_options.api_version = None
|
|
||||||
|
|
||||||
# 让 GeminiClient 内部也能访问底层 api_client
|
|
||||||
self._api_client = self.client._api_client
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def clamp_thinking_budget(tb: int, model_id: str) -> int:
|
def clamp_thinking_budget(tb: int, model_id: str) -> int:
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue