# Model Settings 需求文档 ## 需求概述 Model Settings 页面用于管理 AI 模型配置,支持添加、编辑、删除和测试模型连接。 ## 功能列表 ### 1. 模型列表展示 展示已配置的模型列表,包含以下字段: - Model Name(模型名称) - Model Type(模型类型):Chat / Embedding / Rerank / VLM - API Endpoint(API 端点) - Status(状态):Active / Inactive ### 2. 添加新模型 点击 "Add New Model" 按钮,弹出表单包含以下字段: - Model Name(必填) - Model Type(必选):Chat / Embedding / Rerank / VLM - Provider(必选):OpenAI / Ollama - Model(必填):模型名称,如 gpt-4o - API Key(必填) - Base URL(必填) - API Endpoint(可选) ### 3. 测试连接 在添加模型表单中提供 "Test Connection" 按钮,用于验证模型连接是否可用。 ### 4. 编辑模型 点击编辑按钮,弹出编辑表单,可修改模型信息。 ### 5. 删除模型 点击删除按钮,确认后删除模型记录。 --- ## 后端接口需求 ### 1. 获取模型列表 **接口地址:** `GET /api/models` 或 `GET /model/list` **返回参数:** ```json { "list": [ { "id": "1", "name": "OpenAI", "model_type": "chat", "provider": "OpenAI", "model": "gpt-4o", "api_key": "sk-xxx", "base_url": "https://api.openai.com", "api_endpoint": "/v1/chat/completions", "status": "active", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" } ] } ``` ### 2. 添加模型 **接口地址:** `POST /api/models` 或 `POST /model/add` **请求参数:** ```json { "name": "OpenAI", "model_type": "chat", "provider": "OpenAI", "model": "gpt-4o", "api_key": "sk-xxx", "base_url": "https://api.openai.com", "api_endpoint": "/v1/chat/completions" } ``` **返回参数:** ```json { "id": "1", "name": "OpenAI", "model_type": "chat", ... } ``` ### 3. 更新模型 **接口地址:** `PUT /api/models/{id}` 或 `PUT /model/{id}` **请求参数:** ```json { "name": "OpenAI Updated", "model_type": "chat", "provider": "OpenAI", "model": "gpt-4o", "api_key": "sk-xxx", "base_url": "https://api.openai.com", "api_endpoint": "/v1/chat/completions", "status": "active" } ``` ### 4. 删除模型 **接口地址:** `DELETE /api/models/{id}` 或 `DELETE /model/{id}` **返回参数:** ```json { "success": true } ``` ### 5. 测试连接 **接口地址:** `POST /api/models/test` 或 `POST /model/test` **请求参数:** ```json { "provider": "OpenAI", "model": "gpt-4o", "api_key": "sk-xxx", "base_url": "https://api.openai.com", "api_endpoint": "/v1/chat/completions" } ``` **返回参数:** ```json { "success": true, "message": "Connection successful" } ``` --- ## 数据结构 ### Model 表结构(参考) | 字段 | 类型 | 说明 | |------|------|------| | id | string | 主键 UUID | | name | string | 模型名称 | | model_type | string | 模型类型:chat/embedding/rerank/vlm | | provider | string | 提供商:OpenAI/Ollama | | model | string | 模型标识 | | api_key | string | API 密钥(加密存储) | | base_url | string | 基础 URL | | api_endpoint | string | API 端点路径 | | status | string | 状态:active/inactive | | created_at | datetime | 创建时间 | | updated_at | datetime | 更新时间 | --- ## 前端组件状态 ### 表单数据 (newModelForm) ```typescript { name: string, apiKey: string, apiEndpoint: string, baseUrl: string, provider: string, model: string, modelType: string } ``` ### 模型类型选项 (modelTypeOptions) - Chat - Embedding - Rerank - VLM ### 提供商选项 (providerOptions) - OpenAI - Ollama