自定义模型配置指南
功能概述
AutoSTAT 现在支持用户自定义添加兼容 OpenAI API 的模型。这个功能允许您使用任何提供 OpenAI 兼容接口的模型服务,包括但不限于:
私有部署的大语言模型
第三方 API 服务
其他云服务提供商的模型
快速开始
启动应用
streamlit run app.py
选择 OpenAI API 兼容模型
在侧边栏的"选择大模型"下拉菜单中,选择 "OpenAI API 兼容模型"。
填写模型配置信息
当您选择"OpenAI API 兼容模型"后,界面会显示以下输入框:
Base URL: API 的基础 URL(例如:https://api.example.com/v1)
模型 ID: API 调用时使用的模型标识符(例如:gpt-4、llama-3-70b)
API 密钥: 用于身份验证的 API 密钥
保存配置
填写完所有必需字段后,点击 "💾 保存配置" 按钮。
配置将被保存到 utils/.streamlit/secrets.toml 文件中的 [models."OpenAI API 兼容模型"] 部分,之后您就可以直接使用该模型了。
配置文件结构
secrets.toml 格式
# 预设模型(只需 api_key)
[models."DeepSeek"]
api_key = "sk-xxxxx"
[models."Claude"]
api_key = "sk-ant-xxxxx"
# OpenAI API 兼容模型(需要完整配置)
[models."OpenAI API 兼容模型"]
api_base = "https://api.example.com/v1"
model_name = "gpt-4"
api_key = "sk-custom-xxxxx"
config.py 中的预设模型
MODEL_CONFIGS = {
"DeepSeek": {
"api_base": "https://api.deepseek.com",
"model_name": "deepseek-chat",
"api_type": "openai", # API 类型标识
"is_preset": True, # 是否为预设模型
},
# ... 其他预设模型
}
API 类型说明
系统支持三种 API 类型:
openai: 兼容 OpenAI API 的模型(包括 OpenAI、DeepSeek、通义千问、豆包等)
claude: Claude 的 Anthropic API
zhipu: 智谱 AI 的专用 API
自定义模型目前仅支持 openai 类型。
使用示例
示例 1: 配置本地部署的模型
选择"OpenAI API 兼容模型",然后填写:
Base URL: http://localhost:8000/v1
模型 ID: llama-3-70b
API 密钥: local-api-key-123456
示例 2: 配置第三方 API 服务
选择"OpenAI API 兼容模型",然后填写:
Base URL: https://api.groq.com/openai/v1
模型 ID: llama-3.1-70b-versatile
API 密钥: gsk_xxxxxxxxxxxxx
示例 3: 配置兼容的云服务
选择"OpenAI API 兼容模型",然后填写:
Base URL: https://your-resource.openai.azure.com/openai/deployments/your-deployment
模型 ID: gpt-4
API 密钥: your-azure-api-key
技术细节
代码架构
config.py: 定义预设模型配置,包含 API 类型和其他元数据
utils/save_secrets.py: 处理配置的保存和加载
app.py: 主应用界面,动态显示不同的输入框
prompt_engineer/call_llm.py: 统一的 API 调用逻辑,根据
api_type选择不同的客户端
运行时配置
应用启动时会:
加载
config.py中的预设模型配置从
secrets.toml加载用户配置(包括 API 密钥和自定义模型)合并为
model_configs_runtime,供所有 Agent 使用
预设模型的 base_url 和 model_name 在 config.py 中定义,用户只需提供 API 密钥。
自定义模型需要用户提供完整配置(base_url, model_name, api_key)。
常见问题
Q:如何删除 OpenAI API 兼容模型的配置?
A:手动编辑
utils/.streamlit/secrets.toml文件,删除[models."OpenAI API 兼容模型"]部分即可。Q:OpenAI API 兼容模型是否支持 Claude 的 API?
A:不支持。该选项仅支持 OpenAI 兼容的 API。Claude 使用不同的 API 格式,已作为预设模型提供。
Q:配置保存后没有生效怎么办?
A:尝试以下步骤:
检查所有必需字段是否填写完整
刷新浏览器页面
重启 Streamlit 应用
Q:Base URL 应该填写什么格式?
A:Base URL 应该是完整的 API 端点,通常以
/v1结尾。例如:https://api.openai.com/v1http://localhost:8000/v1
注意不要包含具体的路径如
/chat/completions,这部分会由客户端自动添加。
安全提示
⚠️ 重要: secrets.toml 文件包含敏感的 API 密钥,请:
不要将此文件提交到版本控制系统
不要与他人分享此文件
定期更换 API 密钥
使用具有适当权限的 API 密钥
反馈与支持
如果您在使用过程中遇到问题或有改进建议,请通过项目的 Issue 页面反馈。