support api proxy #14

This commit is contained in:
FuQuan233 2025-02-28 18:19:04 +08:00
parent 4af60b8145
commit a7b57ae375
2 changed files with 15 additions and 5 deletions

View file

@ -9,6 +9,7 @@ import time
from typing import TYPE_CHECKING, Optional from typing import TYPE_CHECKING, Optional
import aiofiles import aiofiles
import httpx
from nonebot import ( from nonebot import (
get_bot, get_bot,
get_driver, get_driver,
@ -203,6 +204,14 @@ async def process_messages(group_id: int):
preset = get_preset(group_id) preset = get_preset(group_id)
# 初始化OpenAI客户端 # 初始化OpenAI客户端
if preset.proxy:
client = AsyncOpenAI(
base_url=preset.api_base,
api_key=preset.api_key,
timeout=plugin_config.request_timeout,
http_client=httpx.AsyncClient(proxy=preset.proxy),
)
else:
client = AsyncOpenAI( client = AsyncOpenAI(
base_url=preset.api_base, base_url=preset.api_base,
api_key=preset.api_key, api_key=preset.api_key,

View file

@ -10,6 +10,7 @@ class PresetConfig(BaseModel):
model_name: str = Field(..., description="模型名称") model_name: str = Field(..., description="模型名称")
max_tokens: int = Field(2048, description="最大响应token数") max_tokens: int = Field(2048, description="最大响应token数")
temperature: float = Field(0.7, description="生成温度0-2]") temperature: float = Field(0.7, description="生成温度0-2]")
proxy: str = Field(None, description="HTTP代理服务器")
class ScopedConfig(BaseModel): class ScopedConfig(BaseModel):