79 lines
2.3 KiB
Markdown
79 lines
2.3 KiB
Markdown
# 修復模型參數傳遞問題
|
|
|
|
## 問題描述
|
|
|
|
用戶在前端選擇了不同的模型(如 Claude、Grok 等),但後端實際調用的一直是 `gpt-5-mini-2025-08-07`。
|
|
|
|
## 根本原因
|
|
|
|
前端和後端的 API 欄位命名不一致:
|
|
|
|
| 前端 (舊) | 後端 (預期) |
|
|
| ------------------------ | ----------------- |
|
|
| `shallow_thinking_agent` | `quick_think_llm` |
|
|
| `deep_thinking_agent` | `deep_think_llm` |
|
|
|
|
由於欄位名稱不匹配,後端無法接收到前端發送的模型參數,因此使用了預設值 `gpt-5-mini-2025-08-07`。
|
|
|
|
## 修復內容
|
|
|
|
### 1. 更新前端類型定義 (`frontend/lib/types.ts`)
|
|
|
|
```typescript
|
|
// 舊
|
|
export interface AnalysisRequest {
|
|
shallow_thinking_agent?: string;
|
|
deep_thinking_agent?: string;
|
|
...
|
|
}
|
|
|
|
// 新
|
|
export interface AnalysisRequest {
|
|
quick_think_llm?: string;
|
|
deep_think_llm?: string;
|
|
quick_think_base_url?: string;
|
|
deep_think_base_url?: string;
|
|
quick_think_api_key?: string;
|
|
deep_think_api_key?: string;
|
|
embedding_base_url?: string;
|
|
embedding_api_key?: string;
|
|
...
|
|
}
|
|
```
|
|
|
|
### 2. 更新表單組件 (`frontend/components/analysis/AnalysisForm.tsx`)
|
|
|
|
- 更新 `formSchema` 中的欄位定義
|
|
- 更新 `defaultValues` 中的欄位名稱
|
|
- 更新表單欄位的 `name` 屬性
|
|
|
|
## 後端參數映射 (`backend/app/models/schemas.py`)
|
|
|
|
後端 schema 定義:
|
|
|
|
```python
|
|
class AnalysisRequest(BaseModel):
|
|
deep_think_llm: Optional[str] = Field(default="gpt-5-mini-2025-08-07")
|
|
quick_think_llm: Optional[str] = Field(default="gpt-5-mini-2025-08-07")
|
|
quick_think_base_url: Optional[str] = Field(default="https://api.openai.com/v1")
|
|
deep_think_base_url: Optional[str] = Field(default="https://api.openai.com/v1")
|
|
quick_think_api_key: Optional[str] = None
|
|
deep_think_api_key: Optional[str] = None
|
|
embedding_base_url: Optional[str] = Field(default="https://api.openai.com/v1")
|
|
embedding_api_key: Optional[str] = None
|
|
```
|
|
|
|
## 驗證
|
|
|
|
修復後,前端發送的請求應該正確包含:
|
|
|
|
- `quick_think_llm`: 用戶選擇的快速思維模型
|
|
- `deep_think_llm`: 用戶選擇的深層思維模型
|
|
- 對應的 Base URL 和 API Key
|
|
|
|
後端現在能正確接收並使用這些參數。
|
|
|
|
## 額外修正
|
|
|
|
同時移除了 Google Gemini 的 API 端點選項,因為項目不再使用 Gemini 服務。
|