Spaces:
Paused
Paused
Upload 14 files
Browse files- src/lib/model-map.js +14 -13
- src/routes/chat.js +4 -1
src/lib/model-map.js
CHANGED
|
@@ -68,19 +68,19 @@ const modelMap = {
|
|
| 68 |
}
|
| 69 |
}
|
| 70 |
},
|
| 71 |
-
"
|
| 72 |
"provider": "openai",
|
| 73 |
-
"name": "
|
| 74 |
"model_config_display_name": null,
|
| 75 |
"parameters": {
|
| 76 |
"response_format": {
|
| 77 |
"type": "text"
|
| 78 |
},
|
| 79 |
-
"reasoning_effort": "
|
| 80 |
"max_completion_tokens": 100000
|
| 81 |
}
|
| 82 |
},
|
| 83 |
-
"o4-mini
|
| 84 |
"provider": "openai",
|
| 85 |
"name": "o4-mini",
|
| 86 |
"model_config_display_name": null,
|
|
@@ -88,23 +88,23 @@ const modelMap = {
|
|
| 88 |
"response_format": {
|
| 89 |
"type": "text"
|
| 90 |
},
|
| 91 |
-
"reasoning_effort": "
|
| 92 |
"max_completion_tokens": 100000
|
| 93 |
}
|
| 94 |
},
|
| 95 |
-
"
|
| 96 |
"provider": "openai",
|
| 97 |
-
"name": "
|
| 98 |
"model_config_display_name": null,
|
| 99 |
"parameters": {
|
| 100 |
"response_format": {
|
| 101 |
"type": "text"
|
| 102 |
},
|
| 103 |
-
"reasoning_effort": "
|
| 104 |
"max_completion_tokens": 100000
|
| 105 |
}
|
| 106 |
},
|
| 107 |
-
"o3
|
| 108 |
"provider": "openai",
|
| 109 |
"name": "o3",
|
| 110 |
"model_config_display_name": null,
|
|
@@ -116,9 +116,9 @@ const modelMap = {
|
|
| 116 |
"max_completion_tokens": 100000
|
| 117 |
}
|
| 118 |
},
|
| 119 |
-
"
|
| 120 |
"provider": "openai",
|
| 121 |
-
"name": "
|
| 122 |
"model_config_display_name": null,
|
| 123 |
"parameters": {
|
| 124 |
"response_format": {
|
|
@@ -128,9 +128,9 @@ const modelMap = {
|
|
| 128 |
"max_completion_tokens": 100000
|
| 129 |
}
|
| 130 |
},
|
| 131 |
-
"
|
| 132 |
"provider": "openai",
|
| 133 |
-
"name": "
|
| 134 |
"model_config_display_name": null,
|
| 135 |
"parameters": {
|
| 136 |
"response_format": {
|
|
@@ -177,6 +177,7 @@ const modelMap = {
|
|
| 177 |
"presence_penalty": 0
|
| 178 |
}
|
| 179 |
}
|
|
|
|
| 180 |
}
|
| 181 |
|
| 182 |
module.exports = modelMap
|
|
|
|
| 68 |
}
|
| 69 |
}
|
| 70 |
},
|
| 71 |
+
"o1": {
|
| 72 |
"provider": "openai",
|
| 73 |
+
"name": "o1",
|
| 74 |
"model_config_display_name": null,
|
| 75 |
"parameters": {
|
| 76 |
"response_format": {
|
| 77 |
"type": "text"
|
| 78 |
},
|
| 79 |
+
"reasoning_effort": "high",
|
| 80 |
"max_completion_tokens": 100000
|
| 81 |
}
|
| 82 |
},
|
| 83 |
+
"o4-mini": {
|
| 84 |
"provider": "openai",
|
| 85 |
"name": "o4-mini",
|
| 86 |
"model_config_display_name": null,
|
|
|
|
| 88 |
"response_format": {
|
| 89 |
"type": "text"
|
| 90 |
},
|
| 91 |
+
"reasoning_effort": "medium",
|
| 92 |
"max_completion_tokens": 100000
|
| 93 |
}
|
| 94 |
},
|
| 95 |
+
"o4-mini-high": {
|
| 96 |
"provider": "openai",
|
| 97 |
+
"name": "o4-mini",
|
| 98 |
"model_config_display_name": null,
|
| 99 |
"parameters": {
|
| 100 |
"response_format": {
|
| 101 |
"type": "text"
|
| 102 |
},
|
| 103 |
+
"reasoning_effort": "high",
|
| 104 |
"max_completion_tokens": 100000
|
| 105 |
}
|
| 106 |
},
|
| 107 |
+
"o3": {
|
| 108 |
"provider": "openai",
|
| 109 |
"name": "o3",
|
| 110 |
"model_config_display_name": null,
|
|
|
|
| 116 |
"max_completion_tokens": 100000
|
| 117 |
}
|
| 118 |
},
|
| 119 |
+
"o3-mini": {
|
| 120 |
"provider": "openai",
|
| 121 |
+
"name": "o3",
|
| 122 |
"model_config_display_name": null,
|
| 123 |
"parameters": {
|
| 124 |
"response_format": {
|
|
|
|
| 128 |
"max_completion_tokens": 100000
|
| 129 |
}
|
| 130 |
},
|
| 131 |
+
"o3-mini-high": {
|
| 132 |
"provider": "openai",
|
| 133 |
+
"name": "o3",
|
| 134 |
"model_config_display_name": null,
|
| 135 |
"parameters": {
|
| 136 |
"response_format": {
|
|
|
|
| 177 |
"presence_penalty": 0
|
| 178 |
}
|
| 179 |
}
|
| 180 |
+
|
| 181 |
}
|
| 182 |
|
| 183 |
module.exports = modelMap
|
src/routes/chat.js
CHANGED
|
@@ -394,6 +394,9 @@ router.post('/v1/chat/completions', verify, parseMessages, async (req, res) => {
|
|
| 394 |
})
|
| 395 |
})
|
| 396 |
|
|
|
|
|
|
|
|
|
|
| 397 |
setTimeout(() => {
|
| 398 |
if (ws.readyState === WebSocket.OPEN) {
|
| 399 |
ws.close()
|
|
@@ -409,7 +412,7 @@ router.post('/v1/chat/completions', verify, parseMessages, async (req, res) => {
|
|
| 409 |
})
|
| 410 |
}
|
| 411 |
}
|
| 412 |
-
},
|
| 413 |
|
| 414 |
} catch (error) {
|
| 415 |
console.error("错误:", error)
|
|
|
|
| 394 |
})
|
| 395 |
})
|
| 396 |
|
| 397 |
+
const longTimeoutModels = ["o1", "o3", "o3-mini", "o3-mini-high", "o4-mini", "o4-mini-high"];
|
| 398 |
+
const timeoutDuration = longTimeoutModels.includes(req.body.model) ? 30 * 60 * 1000 : 300 * 1000;
|
| 399 |
+
|
| 400 |
setTimeout(() => {
|
| 401 |
if (ws.readyState === WebSocket.OPEN) {
|
| 402 |
ws.close()
|
|
|
|
| 412 |
})
|
| 413 |
}
|
| 414 |
}
|
| 415 |
+
}, timeoutDuration)
|
| 416 |
|
| 417 |
} catch (error) {
|
| 418 |
console.error("错误:", error)
|