diff --git a/src/renderer/src/aiCore/legacy/clients/openai/OpenAIResponseAPIClient.ts b/src/renderer/src/aiCore/legacy/clients/openai/OpenAIResponseAPIClient.ts index b9131be661..40cace50ea 100644 --- a/src/renderer/src/aiCore/legacy/clients/openai/OpenAIResponseAPIClient.ts +++ b/src/renderer/src/aiCore/legacy/clients/openai/OpenAIResponseAPIClient.ts @@ -90,7 +90,7 @@ export class OpenAIResponseAPIClient extends OpenAIBaseClient< if (isOpenAILLMModel(model) && !isOpenAIChatCompletionOnlyModel(model)) { if (this.provider.id === 'azure-openai' || this.provider.type === 'azure-openai') { this.provider = { ...this.provider, apiHost: this.formatApiHost() } - if (this.provider.apiVersion === 'preview') { + if (this.provider.apiVersion === 'preview' || this.provider.apiVersion === 'v1') { return this } else { return this.client diff --git a/src/renderer/src/aiCore/provider/providerConfig.ts b/src/renderer/src/aiCore/provider/providerConfig.ts index 4eb1ffeed7..07b4ceaa7d 100644 --- a/src/renderer/src/aiCore/provider/providerConfig.ts +++ b/src/renderer/src/aiCore/provider/providerConfig.ts @@ -189,9 +189,11 @@ export function providerToAiSdkConfig( } } // azure + // https://learn.microsoft.com/en-us/azure/ai-foundry/openai/latest + // https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/responses?tabs=python-key#responses-api if (aiSdkProviderId === 'azure' || actualProvider.type === 'azure-openai') { - // extraOptions.apiVersion = actualProvider.apiVersion 默认使用v1,不使用azure endpoint - if (actualProvider.apiVersion === 'preview') { + // extraOptions.apiVersion = actualProvider.apiVersion === 'preview' ? 'v1' : actualProvider.apiVersion 默认使用v1,不使用azure endpoint + if (actualProvider.apiVersion === 'preview' || actualProvider.apiVersion === 'v1') { extraOptions.mode = 'responses' } else { extraOptions.mode = 'chat' diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 1d41d6964e..47ebef1ffb 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "The API version of Azure OpenAI, if you want to use Response API, please enter the preview version" + "tip": "The API version of Azure OpenAI, if you want to use Response API, please enter the v1 version" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index a317aa931f..aaf337b39e 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Azure OpenAI 的 API 版本,如果想要使用 Response API,请输入 preview 版本" + "tip": "Azure OpenAI 的 API 版本,如果想要使用 Response API,请输入 v1 版本" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index c3420c4b38..fc5516b11f 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Azure OpenAI 的 API 版本,如果想要使用 Response API,請輸入 preview 版本" + "tip": "Azure OpenAI 的 API 版本,如果想要使用 Response API,請輸入 v1 版本" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/translate/el-gr.json b/src/renderer/src/i18n/translate/el-gr.json index 1ea17fc20c..ed87590ce0 100644 --- a/src/renderer/src/i18n/translate/el-gr.json +++ b/src/renderer/src/i18n/translate/el-gr.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Η έκδοση του API για Azure OpenAI. Αν θέλετε να χρησιμοποιήσετε το Response API, εισάγετε μια προεπισκόπηση έκδοσης" + "tip": "Η έκδοση του API για Azure OpenAI. Αν θέλετε να χρησιμοποιήσετε το Response API, εισάγετε μια v1 έκδοσης" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/translate/fr-fr.json b/src/renderer/src/i18n/translate/fr-fr.json index b0a0f0ef49..0c62faf907 100644 --- a/src/renderer/src/i18n/translate/fr-fr.json +++ b/src/renderer/src/i18n/translate/fr-fr.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Version de l'API Azure OpenAI, veuillez saisir une version preview si vous souhaitez utiliser l'API de réponse" + "tip": "Version de l'API Azure OpenAI, veuillez saisir une version v1 si vous souhaitez utiliser l'API de réponse" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/translate/ja-jp.json b/src/renderer/src/i18n/translate/ja-jp.json index 57c87ffde2..d67c26c968 100644 --- a/src/renderer/src/i18n/translate/ja-jp.json +++ b/src/renderer/src/i18n/translate/ja-jp.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Azure OpenAIのAPIバージョン。Response APIを使用する場合は、previewバージョンを入力してください" + "tip": "Azure OpenAIのAPIバージョン。Response APIを使用する場合は、v1バージョンを入力してください" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/translate/pt-pt.json b/src/renderer/src/i18n/translate/pt-pt.json index b8934b3f06..968167906b 100644 --- a/src/renderer/src/i18n/translate/pt-pt.json +++ b/src/renderer/src/i18n/translate/pt-pt.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Versão da API do Azure OpenAI. Se desejar usar a API de Resposta, insira a versão de visualização" + "tip": "Versão da API do Azure OpenAI. Se desejar usar a API de Resposta, insira a versão de v1" } }, "basic_auth": { diff --git a/src/renderer/src/i18n/translate/ru-ru.json b/src/renderer/src/i18n/translate/ru-ru.json index 5b66ef559a..5e60e7247c 100644 --- a/src/renderer/src/i18n/translate/ru-ru.json +++ b/src/renderer/src/i18n/translate/ru-ru.json @@ -4343,7 +4343,7 @@ }, "azure": { "apiversion": { - "tip": "Версия API Azure OpenAI. Если вы хотите использовать Response API, введите версию preview" + "tip": "Версия API Azure OpenAI. Если вы хотите использовать Response API, введите версию v1" } }, "basic_auth": { diff --git a/src/renderer/src/pages/home/Messages/MessageGroup.tsx b/src/renderer/src/pages/home/Messages/MessageGroup.tsx index 0f5a7e83f7..1e1eca27a1 100644 --- a/src/renderer/src/pages/home/Messages/MessageGroup.tsx +++ b/src/renderer/src/pages/home/Messages/MessageGroup.tsx @@ -11,7 +11,8 @@ import type { Topic } from '@renderer/types' import type { Message } from '@renderer/types/newMessage' import { classNames } from '@renderer/utils' import { Popover } from 'antd' -import { ComponentProps, memo, useCallback, useEffect, useMemo, useState } from 'react' +import type { ComponentProps } from 'react' +import { memo, useCallback, useEffect, useMemo, useState } from 'react' import styled from 'styled-components' import { useChatMaxWidth } from '../Chat'