自定义模型配置指南

功能概述

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 类型:

  1. openai: 兼容 OpenAI API 的模型(包括 OpenAI、DeepSeek、通义千问、豆包等)

  2. claude: Claude 的 Anthropic API

  3. 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

技术细节

代码架构

  1. config.py: 定义预设模型配置,包含 API 类型和其他元数据

  2. utils/save_secrets.py: 处理配置的保存和加载

  3. app.py: 主应用界面,动态显示不同的输入框

  4. prompt_engineer/call_llm.py: 统一的 API 调用逻辑,根据 api_type 选择不同的客户端

运行时配置

应用启动时会:

  1. 加载 config.py 中的预设模型配置

  2. secrets.toml 加载用户配置(包括 API 密钥和自定义模型)

  3. 合并为 model_configs_runtime,供所有 Agent 使用

预设模型的 base_urlmodel_nameconfig.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:尝试以下步骤:

    1. 检查所有必需字段是否填写完整

    2. 刷新浏览器页面

    3. 重启 Streamlit 应用

  • Q:Base URL 应该填写什么格式?

    A:Base URL 应该是完整的 API 端点,通常以 /v1 结尾。例如:

    • https://api.openai.com/v1

    • http://localhost:8000/v1

    注意不要包含具体的路径如 /chat/completions,这部分会由客户端自动添加。

安全提示

⚠️ 重要: secrets.toml 文件包含敏感的 API 密钥,请:

  • 不要将此文件提交到版本控制系统

  • 不要与他人分享此文件

  • 定期更换 API 密钥

  • 使用具有适当权限的 API 密钥

反馈与支持

如果您在使用过程中遇到问题或有改进建议,请通过项目的 Issue 页面反馈。