diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 2ea378014..85b8622d4 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -274,6 +274,8 @@ "apiBaseURL": "API Base URL", "apiBaseURLTip": "The base address of the request, such as https://api.openai.com/v1", "apiUserAgentTip": "The user agent that initiated the request, that is, the HTTP header User-Agent", + "apiProvider": "API Provider", + "apiProviderTip": "Use the selected API provider to implement AI-related functions", "skip": "Skip", "nextRound": "Next round", "save": "Save", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 927a24ada..59c25e9eb 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -274,6 +274,8 @@ "apiBaseURL": "URL base de la API", "apiBaseURLTip": "La dirección base de la solicitud, como https://api.openai.com/v1", "apiUserAgentTip": "El agente de usuario que inició la solicitud, es decir, el encabezado HTTP User-Agent", + "apiProvider": "API proveedor", + "apiProviderTip": "Utilice el proveedor de API seleccionado para implementar funciones relacionadas con la IA", "skip": "barco", "nextRound": "Siguiente ronda", "save": "Ahorrar", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 8eee1e94a..b5cc7d9f1 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -274,6 +274,8 @@ "apiBaseURL": "URL de base de l'API", "apiBaseURLTip": "L'adresse de base de la requête, telle que https://api.openai.com/v1", "apiUserAgentTip": "L'agent utilisateur qui a initié la requête, c'est-à-dire l'en-tête HTTP User-Agent", + "apiProvider": "API du fournisseur", + "apiProviderTip": "Utiliser le fournisseur d'API sélectionné pour implémenter les fonctions liées à l'IA", "skip": "Navire", "nextRound": "Prochain tour", "save": "Sauvegarder", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index adb08de6b..46067e612 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -274,6 +274,8 @@ "apiBaseURL": "API 基礎地址", "apiBaseURLTip": "發起請求的基礎地址,如 https://api.openai.com/v1", "apiUserAgentTip": "發起請求的使用者代理,即 HTTP 標頭 User-Agent", + "apiProvider": "API 提供商", + "apiProviderTip": "選擇後將使用該提供商的 API 服務實現 AI 相關功能", "skip": "跳過", "nextRound": "下一輪", "save": "保存", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 486e2c737..7dbde13d2 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -274,6 +274,8 @@ "apiBaseURL": "API 基础地址", "apiBaseURLTip": "发起请求的基础地址,如 https://api.openai.com/v1", "apiUserAgentTip": "发起请求的用户代理,即 HTTP 标头 User-Agent", + "apiProvider": "API 提供商", + "apiProviderTip": "选择后将使用该提供商的 API 服务实现 AI 相关功能", "skip": "跳过", "nextRound": "下一轮", "save": "保存", diff --git a/app/src/config/ai.ts b/app/src/config/ai.ts index 19d19d112..0cd2291f6 100644 --- a/app/src/config/ai.ts +++ b/app/src/config/ai.ts @@ -6,10 +6,16 @@ export const ai = { let responsiveHTML = ""; /// #if MOBILE responsiveHTML = `
- ${window.siyuan.languages.apiTimeout} -
- -
${window.siyuan.languages.apiTimeoutTip}
+ ${window.siyuan.languages.apiProvider} +
+ ${window.siyuan.languages.apiProviderTip} +
+
+ +
${window.siyuan.languages.apiModel} @@ -27,6 +33,12 @@ export const ai = {
+
+ ${window.siyuan.languages.apiTimeout} +
+ +
${window.siyuan.languages.apiTimeoutTip}
+
${window.siyuan.languages.apiMaxTokens}
@@ -58,13 +70,16 @@ export const ai = {
${window.siyuan.languages.apiUserAgentTip}
`; /// #else - responsiveHTML = `
+ responsiveHTML = `
- ${window.siyuan.languages.apiTimeout} -
${window.siyuan.languages.apiTimeoutTip}
+ ${window.siyuan.languages.apiProvider} +
${window.siyuan.languages.apiProviderTip}
- +
@@ -81,6 +96,14 @@ export const ai = {
+
+
+ ${window.siyuan.languages.apiTimeout} +
${window.siyuan.languages.apiTimeoutTip}
+
+ + +
${window.siyuan.languages.apiMaxTokens} diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index ebd85a02e..502c2577c 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -722,6 +722,7 @@ interface IConfig { } ai: { openAI: { + apiProvider: string // OpenAI, Azure apiUserAgent: string apiBaseURL: string apiKey: string diff --git a/kernel/conf/ai.go b/kernel/conf/ai.go index 4a2abbb67..0d5f8759a 100644 --- a/kernel/conf/ai.go +++ b/kernel/conf/ai.go @@ -36,6 +36,7 @@ type OpenAI struct { APIMaxTokens int `json:"apiMaxTokens"` APIBaseURL string `json:"apiBaseURL"` APIUserAgent string `json:"apiUserAgent"` + APIProvider string `json:"apiProvider"` // OpenAI, Azure } func NewAI() *AI { @@ -44,6 +45,7 @@ func NewAI() *AI { APIModel: openai.GPT3Dot5Turbo, APIBaseURL: "https://api.openai.com/v1", APIUserAgent: util.UserAgent, + APIProvider: "OpenAI", } openAI.APIKey = os.Getenv("SIYUAN_OPENAI_API_KEY") diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 024f7446a..a961ebb98 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -408,6 +408,9 @@ func InitConf() { if "" == Conf.AI.OpenAI.APIUserAgent { Conf.AI.OpenAI.APIUserAgent = util.UserAgent } + if "" == Conf.AI.OpenAI.APIProvider { + Conf.AI.OpenAI.APIProvider = "OpenAI" + } if "" != Conf.AI.OpenAI.APIKey { logging.LogInfof("OpenAI API enabled\n"+