# GPT 6 Sol API 由 OpenAI 提供支援的 GPT 6 Sol LLM 模型完整 API 參考文件。 ## 模型變體 此 API 支援四種模型變體: | 模型 | ID | 說明 | |-------|----|-------------| | **GPT 6 Sol Text to Text** | `gpt-6-sol-text-to-text` | 通用文字推理與寫作 | | **GPT 6 Sol Image to Text** | `gpt-6-sol-image-to-text` | 根據文字指令理解圖片 | | **GPT 6 Sol Web Search** | `gpt-6-sol-web-search` | 具備網頁搜尋能力的文字 LLM 工作流程 | | **GPT 6 Sol File Analysis** | `gpt-6-sol-file-analysis` | 根據文字指令分析檔案 | ## 快速比較 | 功能 | 文字轉文字 | 圖片轉文字 | 網頁搜尋 | 檔案分析 | |---------|--------------|---------------|------------|---------------| | 文字輸入 | 必填 ✅ | 選填 | 必填 ✅ | 選填 | | 圖片輸入 | 不支援 ❌ | 選填 | 選填 | 選填 | | 檔案輸入 | 不支援 ❌ | 不支援 ❌ | 選填 | 選填 | | 串流回應 | SSE | SSE | SSE | SSE | | `max_tokens` | 選填 | 選填 | 選填 | 選填 | ## GPT 6 Sol Text to Text ### 端點 ```http POST /api/v1/chat/completions ``` ### 請求參數 #### 必填 | 參數 | 類型 | 說明 | |-----------|------|-------------| | `model` | string | 必須為 `"gpt-6-sol-text-to-text"`。 | | `messages` | array | 依序排列的訊息。訊息結構請參閱 LLM API。 | | `stream` | boolean | `true` 表示 SSE,`false` 表示單一 JSON 回應。 | #### 訊息支援情況 | 欄位 | 文字 | 檔案 | 圖片 | |-------|------|------|-------| | `messages` | 必填 ✅ | 不支援 ❌ | 不支援 ❌ | #### 選填 | 參數 | 類型 | 範圍 | 說明 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 輸出 token 數上限。無預設上限。 | ### 請求範例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Image to Text ### 端點 ```http POST /api/v1/chat/completions ``` ### 請求參數 #### 必填 | 參數 | 類型 | 說明 | |-----------|------|-------------| | `model` | string | 必須為 `"gpt-6-sol-image-to-text"`。 | | `messages` | array | 依序排列的訊息。請參閱 LLM API 與訊息附件。 | | `stream` | boolean | `true` 表示 SSE,`false` 表示單一 JSON 回應。 | #### 訊息支援情況 | 欄位 | 文字 | 檔案 | 圖片 | |-------|------|------|-------| | `messages` | 選填 | 不支援 ❌ | 選填 | #### 選填 | 參數 | 類型 | 範圍 | 說明 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 輸出 token 數上限。無預設上限。 | ### 請求範例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-image-to-text', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe the image and extract any visible text.' }, { type: 'image_url', image_url: { url: 'https://example.com/sample-image.jpg' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Web Search ### 端點 ```http POST /api/v1/chat/completions ``` ### 請求參數 #### 必填 | 參數 | 類型 | 說明 | |-----------|------|-------------| | `model` | string | 必須為 `"gpt-6-sol-web-search"`。 | | `messages` | array | 依序排列的訊息。請參閱 LLM API 與訊息附件。 | | `stream` | boolean | `true` 表示 SSE,`false` 表示單一 JSON 回應。 | #### 訊息支援情況 | 欄位 | 文字 | 檔案 | 圖片 | |-------|------|------|-------| | `messages` | 必填 ✅ | 選填 | 選填 | #### 選填 | 參數 | 類型 | 範圍 | 說明 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 輸出 token 數上限。無預設上限。 | ### 請求範例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol File Analysis ### 端點 ```http POST /api/v1/chat/completions ``` ### 請求參數 #### 必填 | 參數 | 類型 | 說明 | |-----------|------|-------------| | `model` | string | 必須為 `"gpt-6-sol-file-analysis"`。 | | `messages` | array | 依序排列的訊息。請參閱 LLM API 與訊息附件。 | | `stream` | boolean | `true` 表示 SSE,`false` 表示單一 JSON 回應。 | #### 訊息支援情況 | 欄位 | 文字 | 檔案 | 圖片 | |-------|------|------|-------| | `messages` | 選填 | 選填 | 選填 | #### 選填 | 參數 | 類型 | 範圍 | 說明 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 輸出 token 數上限。無預設上限。 | ### 請求範例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document and list the key action items.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## 回應格式 GPT 6 Sol LLM 模型傳回與 OpenAI 相容的補全回應。設定 `stream: true` 時,回應為伺服器傳送事件(SSE);設定 `stream: false` 時,回應為單一 JSON 物件。 ### 成功回應 ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"content":"The image shows"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### 錯誤回應 ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## 最佳實務 1. **保持訊息結構:** 使用 `messages[]` 表示對話歷史,而非將上下文合併為單一提示詞。 2. **將檔案與圖片附加至訊息:** 將 `image_url` 和 `file` 內容區塊放入引入它們的那則訊息中。 3. **使用 SSE 解析:** 附加 `choices[0].delta.content` 以逐步顯示內容,並將 `data: [DONE]` 視為成功完成。 4. **僅傳送支援的輸入:** 確保文字、圖片與檔案內容區塊符合所選模型變體的要求。 5. **在本機儲存請求狀態:** 資料區塊包含補全回應的 `id`,但用戶端仍應透過目前作用中請求的狀態來分派資料區塊。