mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-05-31 05:09:46 +08:00
1. 新增功能:
- 在`.env.example`中添加`TIME_OUT=300`配置项(包含中文注释)
- 在`Settings`类中增加`TIME_OUT`字段(读取自`DEFAULT_TIMEOUT`)
2. 优化内容:
- 生成配置:
* 为`GenerationConfig`设置默认温度/TOP_P/TOP_K值
* 移除`maxOutputTokens`默认值,改为可选传递
- OpenAI请求:
* 移除`max_tokens`默认值
* 只有当`max_tokens`有值时才添加到请求payload
- 日志优化:
* 注释掉`stream_optimizer.py`中部分调试日志
3. 模型列表接口api_key获取方式
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
from typing import List, Optional, Dict, Any, Literal, Union
|
|
from pydantic import BaseModel
|
|
|
|
from app.core.constants import DEFAULT_TEMPERATURE, DEFAULT_TOP_K, DEFAULT_TOP_P
|
|
|
|
|
|
class SafetySetting(BaseModel):
|
|
category: Optional[Literal["HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY"]] = None
|
|
threshold: Optional[Literal["HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF"]] = None
|
|
|
|
|
|
class GenerationConfig(BaseModel):
|
|
stopSequences: Optional[List[str]] = None
|
|
responseMimeType: Optional[str] = None
|
|
responseSchema: Optional[Dict[str, Any]] = None
|
|
candidateCount: Optional[int] = 1
|
|
maxOutputTokens: Optional[int] = None
|
|
temperature: Optional[float] = DEFAULT_TEMPERATURE
|
|
topP: Optional[float] = DEFAULT_TOP_P
|
|
topK: Optional[int] = DEFAULT_TOP_K
|
|
presencePenalty: Optional[float] = None
|
|
frequencyPenalty: Optional[float] = None
|
|
responseLogprobs: Optional[bool] = None
|
|
logprobs: Optional[int] = None
|
|
|
|
|
|
class SystemInstruction(BaseModel):
|
|
role: str = "system"
|
|
parts: List[Dict[str, Any]]
|
|
|
|
|
|
class GeminiContent(BaseModel):
|
|
role: str
|
|
parts: List[Dict[str, Any]]
|
|
|
|
|
|
class GeminiRequest(BaseModel):
|
|
contents: List[GeminiContent] = []
|
|
tools: Optional[Union[List[Dict[str, Any]], Dict[str, Any]]] = []
|
|
safetySettings: Optional[List[SafetySetting]] = None
|
|
generationConfig: Optional[GenerationConfig] = None
|
|
systemInstruction: Optional[SystemInstruction] = None
|