mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-09-05 07:26:39 +08:00
feat: 添加环境变量加载和思考配置处理
This commit is contained in:
@@ -40,6 +40,7 @@ class GenerationConfig(BaseModel):
|
|||||||
frequencyPenalty: Optional[float] = None
|
frequencyPenalty: Optional[float] = None
|
||||||
responseLogprobs: Optional[bool] = None
|
responseLogprobs: Optional[bool] = None
|
||||||
logprobs: Optional[int] = None
|
logprobs: Optional[int] = None
|
||||||
|
thinkingConfig: Optional[Dict[str, Any]] = None
|
||||||
|
|
||||||
|
|
||||||
class SystemInstruction(BaseModel):
|
class SystemInstruction(BaseModel):
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import uvicorn
|
import uvicorn
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
# 在导入应用程序配置之前加载 .env 文件到环境变量
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
from app.core.application import create_app
|
from app.core.application import create_app
|
||||||
from app.log.logger import get_main_logger
|
from app.log.logger import get_main_logger
|
||||||
|
|||||||
@@ -98,10 +98,20 @@ def _build_payload(model: str, request: GeminiRequest) -> Dict[str, Any]:
|
|||||||
payload.pop("systemInstruction")
|
payload.pop("systemInstruction")
|
||||||
payload["generationConfig"]["responseModalities"] = ["Text", "Image"]
|
payload["generationConfig"]["responseModalities"] = ["Text", "Image"]
|
||||||
|
|
||||||
if model.endswith("-non-thinking"):
|
# 处理思考配置:优先使用客户端提供的配置,否则使用默认配置
|
||||||
payload["generationConfig"]["thinkingConfig"] = {"thinkingBudget": 0}
|
client_thinking_config = None
|
||||||
if model in settings.THINKING_BUDGET_MAP:
|
if request.generationConfig and request.generationConfig.thinkingConfig:
|
||||||
payload["generationConfig"]["thinkingConfig"] = {"thinkingBudget": settings.THINKING_BUDGET_MAP.get(model,1000)}
|
client_thinking_config = request.generationConfig.thinkingConfig
|
||||||
|
|
||||||
|
if client_thinking_config is not None:
|
||||||
|
# 客户端提供了思考配置,直接使用
|
||||||
|
payload["generationConfig"]["thinkingConfig"] = client_thinking_config
|
||||||
|
else:
|
||||||
|
# 客户端没有提供思考配置,使用默认配置
|
||||||
|
if model.endswith("-non-thinking"):
|
||||||
|
payload["generationConfig"]["thinkingConfig"] = {"thinkingBudget": 0}
|
||||||
|
elif model in settings.THINKING_BUDGET_MAP:
|
||||||
|
payload["generationConfig"]["thinkingConfig"] = {"thinkingBudget": settings.THINKING_BUDGET_MAP.get(model,1000)}
|
||||||
|
|
||||||
return payload
|
return payload
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user