从标准OpenAI兼容接口改为自定义API接口的完整改造过程。
项目:https://github.com/HumanAIGC-Engineering/OpenAvatarChat
file: src/handlers/llm/openai_compatible/llm_handler_openai_compatible.py
1. 导入模块的改动
原版(标准OpenAI):
from openai import OpenAI
修改后(自定义API):
import requests
import json
改动原因:
- 原版:使用OpenAI官方SDK,自动处理API调用、认证、流式响应等
- 修改后:使用
requests库直接发送HTTP请求,json库解析响应数据 - 为什么:我的API不是标准的OpenAI格式,需要自定义HTTP请求和响应解析
2. 配置类的改动
原版配置:
class LLMConfig(HandlerBaseConfigModel, BaseModel):
model_name: str = Field(default="qwen-plus")
system_prompt: str = Field(default="...")
api_key: str = Field(default=os.getenv("DASHSCOPE_API_KEY"))
api_url: str = Field(default=None)
enable_video_input: bool = Field(default=False)
修改后配置:
class LLMConfig(HandlerBaseConfigModel, BaseModel):
model_name: str = Field(default="general_practitioner")
system_prompt: str = Field(default="...")
api_key: str = Field(default="")// 请替换为真实的api_key
api_url: str = Field(default="")// 请替换为真实的 api_url
enable_video_input: bool = Field(default=False)
改动原因:
- model_name:从
qwen-plus改为general_practitioner,匹配你的API端点 - api_key:从环境变量改为固定值`真实的api_key
- api_url:从
None改为具体的API地址 - 为什么:你的API有特定的模型名称和固定的认证信息
3. 客户端初始化的改动
原版(创建OpenAI客户端):
def create_context(self, session_context, handler_config=None

最低0.47元/天 解锁文章
2288

被折叠的 条评论
为什么被折叠?



