@@ -28,7 +28,7 @@ function Api.chat_completions(custom_params, cb, should_stop)
2828 " -H" ,
2929 " Content-Type: application/json" ,
3030 " -H" ,
31- " Authorization: Bearer " .. Api .OPENAI_API_KEY ,
31+ Api .AUTHORIZATION_HEADER ,
3232 " -d" ,
3333 vim .json .encode (params ),
3434 },
@@ -103,7 +103,7 @@ function Api.make_call(url, params, cb)
103103 " -H" ,
104104 " Content-Type: application/json" ,
105105 " -H" ,
106- " Authorization: Bearer " .. Api .OPENAI_API_KEY ,
106+ Api .AUTHORIZATION_HEADER ,
107107 " -d" ,
108108 " @" .. TMP_MSG_FILENAME ,
109109 },
@@ -222,6 +222,31 @@ local function loadApiKey(envName, configName, optionName, callback, defaultValu
222222 end
223223end
224224
225+ local function loadAzureConfigs ()
226+ loadApiKey (" OPENAI_API_BASE" , " OPENAI_API_BASE" , " azure_api_base_cmd" , function (value )
227+ Api .OPENAI_API_BASE = value
228+ end )
229+ loadApiKey (" OPENAI_API_AZURE_ENGINE" , " OPENAI_API_AZURE_ENGINE" , " azure_api_engine_cmd" , function (value )
230+ Api .OPENAI_API_AZURE_ENGINE = value
231+ end )
232+ loadApiHost (" OPENAI_API_AZURE_VERSION" , " OPENAI_API_AZURE_VERSION" , " azure_api_version_cmd" , function (value )
233+ Api .OPENAI_API_AZURE_VERSION = value
234+ end , " 2023-05-15" )
235+
236+ if Api [" OPENAI_API_BASE" ] and Api [" OPENAI_API_AZURE_ENGINE" ] then
237+ Api .COMPLETIONS_URL = Api .OPENAI_API_BASE
238+ .. " /openai/deployments/"
239+ .. Api .OPENAI_API_AZURE_ENGINE
240+ .. " /completions?api-version="
241+ .. Api .OPENAI_API_AZURE_VERSION
242+ Api .CHAT_COMPLETIONS_URL = Api .OPENAI_API_BASE
243+ .. " /openai/deployments/"
244+ .. Api .OPENAI_API_AZURE_ENGINE
245+ .. " /chat/completions?api-version="
246+ .. Api .OPENAI_API_AZURE_VERSION
247+ end
248+ end
249+
225250function Api .setup ()
226251 loadApiHost (" OPENAI_API_HOST" , " OPENAI_API_HOST" , " api_host_cmd" , function (value )
227252 Api .OPENAI_API_HOST = value
@@ -233,6 +258,14 @@ function Api.setup()
233258 loadApiKey (" OPENAI_API_KEY" , " OPENAI_API_KEY" , " api_key_cmd" , function (value )
234259 Api .OPENAI_API_KEY = value
235260 end )
261+
262+ loadConfigFromEnv (" OPENAI_API_TYPE" , " OPENAI_API_TYPE" )
263+ if Api [" OPENAI_API_TYPE" ] == " azure" then
264+ loadAzureConfigs ()
265+ Api .AUTHORIZATION_HEADER = " api-key: " .. Api .OPENAI_API_KEY
266+ else
267+ Api .AUTHORIZATION_HEADER = " Authorization: Bearer " .. Api .OPENAI_API_KEY
268+ end
236269end
237270
238271function Api .exec (cmd , args , on_stdout_chunk , on_complete , should_stop , on_stop )
0 commit comments