mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
fix: azure转发问题修复
This commit is contained in:
1698
package-lock.json
generated
1698
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -534,7 +534,8 @@ router.post('/api-keys', authenticateAdmin, async (req, res) => {
|
|||||||
weeklyOpusCostLimit,
|
weeklyOpusCostLimit,
|
||||||
tags,
|
tags,
|
||||||
activationDays, // 新增:激活后有效天数
|
activationDays, // 新增:激活后有效天数
|
||||||
expirationMode // 新增:过期模式
|
expirationMode, // 新增:过期模式
|
||||||
|
icon // 新增:图标
|
||||||
} = req.body
|
} = req.body
|
||||||
|
|
||||||
// 输入验证
|
// 输入验证
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
const axios = require('axios')
|
const axios = require('axios')
|
||||||
const ProxyHelper = require('../utils/proxyHelper')
|
const ProxyHelper = require('../utils/proxyHelper')
|
||||||
const logger = require('../utils/logger')
|
const logger = require('../utils/logger')
|
||||||
|
const config = require('../../config/config')
|
||||||
|
|
||||||
// 转换模型名称(去掉 azure/ 前缀)
|
// 转换模型名称(去掉 azure/ 前缀)
|
||||||
function normalizeModelName(model) {
|
function normalizeModelName(model) {
|
||||||
@@ -29,7 +30,7 @@ async function handleAzureOpenAIRequest({
|
|||||||
deploymentName = account.deploymentName || 'default'
|
deploymentName = account.deploymentName || 'default'
|
||||||
// Azure Responses API requires preview versions; fall back appropriately
|
// Azure Responses API requires preview versions; fall back appropriately
|
||||||
const apiVersion =
|
const apiVersion =
|
||||||
account.apiVersion || (endpoint === 'responses' ? '2024-10-01-preview' : '2024-02-01')
|
account.apiVersion || (endpoint === 'responses' ? '2025-04-01-preview' : '2024-02-01')
|
||||||
if (endpoint === 'chat/completions') {
|
if (endpoint === 'chat/completions') {
|
||||||
requestUrl = `${baseUrl}/openai/deployments/${deploymentName}/chat/completions?api-version=${apiVersion}`
|
requestUrl = `${baseUrl}/openai/deployments/${deploymentName}/chat/completions?api-version=${apiVersion}`
|
||||||
} else if (endpoint === 'responses') {
|
} else if (endpoint === 'responses') {
|
||||||
@@ -53,7 +54,9 @@ async function handleAzureOpenAIRequest({
|
|||||||
const processedBody = { ...requestBody }
|
const processedBody = { ...requestBody }
|
||||||
|
|
||||||
// 标准化模型名称
|
// 标准化模型名称
|
||||||
if (processedBody.model) {
|
if (endpoint === 'responses') {
|
||||||
|
processedBody.model = deploymentName
|
||||||
|
} else if (processedBody.model) {
|
||||||
processedBody.model = normalizeModelName(processedBody.model)
|
processedBody.model = normalizeModelName(processedBody.model)
|
||||||
} else {
|
} else {
|
||||||
processedBody.model = 'gpt-4'
|
processedBody.model = 'gpt-4'
|
||||||
@@ -68,7 +71,7 @@ async function handleAzureOpenAIRequest({
|
|||||||
url: requestUrl,
|
url: requestUrl,
|
||||||
headers: requestHeaders,
|
headers: requestHeaders,
|
||||||
data: processedBody,
|
data: processedBody,
|
||||||
timeout: 600000, // 10 minutes for Azure OpenAI
|
timeout: config.requestTimeout || 600000,
|
||||||
validateStatus: () => true,
|
validateStatus: () => true,
|
||||||
// 添加连接保活选项
|
// 添加连接保活选项
|
||||||
keepAlive: true,
|
keepAlive: true,
|
||||||
|
|||||||
2
web/admin-spa/package-lock.json
generated
2
web/admin-spa/package-lock.json
generated
@@ -5378,7 +5378,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/xlsx-js-style": {
|
"node_modules/xlsx-js-style": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/xlsx-js-style/-/xlsx-js-style-1.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/xlsx-js-style/-/xlsx-js-style-1.2.0.tgz",
|
||||||
"integrity": "sha512-DDT4FXFSWfT4DXMSok/m3TvmP1gvO3dn0Eu/c+eXHW5Kzmp7IczNkxg/iEPnImbG9X0Vb8QhROda5eatSR/97Q==",
|
"integrity": "sha512-DDT4FXFSWfT4DXMSok/m3TvmP1gvO3dn0Eu/c+eXHW5Kzmp7IczNkxg/iEPnImbG9X0Vb8QhROda5eatSR/97Q==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
Reference in New Issue
Block a user