diff --git a/team-require/web/model-settings.md b/team-require/web/model-settings.md new file mode 100644 index 0000000..33ce937 --- /dev/null +++ b/team-require/web/model-settings.md @@ -0,0 +1,193 @@ +# 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 diff --git a/web/src/views/Knowledge.vue b/web/src/views/Knowledge.vue new file mode 100644 index 0000000..1e6f429 --- /dev/null +++ b/web/src/views/Knowledge.vue @@ -0,0 +1,466 @@ + + + + + diff --git a/web/src/views/Settings.vue b/web/src/views/Settings.vue new file mode 100644 index 0000000..8262890 --- /dev/null +++ b/web/src/views/Settings.vue @@ -0,0 +1,1090 @@ + + + + +