Skip to content

Commit

Permalink
Merge pull request #250 from arbs-io/feature/20240526-FixingAzureGpt-…
Browse files Browse the repository at this point in the history
…4oListingIssue

Feature/20240526 fixing azure gpt 4o listing issue
  • Loading branch information
arbs-io authored May 26, 2024
2 parents d9a3db0 + 6ecdc17 commit 60b9a11
Show file tree
Hide file tree
Showing 13 changed files with 403 additions and 501 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ To configure your azure openai instance, you need to enter the following configu

- **Base URL:** The instance name. For example `https://<instance-name>.openai.azure.com/openai`
- **Deployment Name:** The name of the azure deployment. This will be used within inference calls
- **API Version:** The version of the azure api. Note that `2023-05-15` onward is required for chat conversations
- **API Version:** The version of the azure api. Note that `2024-02-01` onward is required for chat conversations

![vscode-openai-configuration.png](images/vscode-openai-configuration.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<value>{{azure-openai-apikey}}</value>
</set-header>
<set-query-parameter name="api-version" exists-action="override">
<value>2023-05-15</value>
<value>2024-02-01</value>
</set-query-parameter>
</inbound>
<backend>
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "vscode-openai",
"displayName": "vscode-openai",
"description": "vscode-openai seamlessly incorporates OpenAI features into VSCode, providing integration with SCM, Code Editor and Chat.",
"version": "1.6.1",
"version": "1.6.2",
"publisher": "AndrewButson",
"icon": "images/logo_128x128.png",
"private": true,
Expand Down Expand Up @@ -228,10 +228,10 @@
},
"vscode-openai.azureApiVersion": {
"type": "string",
"default": "2023-05-15",
"default": "2024-02-01",
"markdownDescription": "The api version used by Azure deployment (model). Only applies when `#vscode-openai.serviceProvider#` is `Azure-OpenAI`. Note: limited to versions that support chat completion.",
"enum": [
"2023-05-15"
"2024-02-01"
],
"enumDescriptions": [
"The initial azure api that support chat completion."
Expand Down
13 changes: 8 additions & 5 deletions src/apis/openai/api/listModelsAzureOpenAI.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ export async function listModelsAzureOpenAI(
baseURL: baseUrl,
})

const response = await openai.models.list({
const respModels = await openai.models.list({
headers: { ...headers, 'api-key': apiKey },
query: { 'api-version': '2023-05-15' },
query: { 'api-version': '2024-02-01' },
})

const models = new Array<string>()
response.data.forEach((model: any) => {
respModels.data.forEach((model: any) => {
if (
(modelCapabiliy == ModelCapability.ChatCompletion &&
model.capabilities.chat_completion) ||
Expand All @@ -42,16 +42,19 @@ export async function listModelsAzureOpenAI(
}
})

// ms has ended support for model/deployment api, post gpt-4o. This is a hack/fix
if (modelCapabiliy == ModelCapability.ChatCompletion) models.push('gpt-4o')

//Get all deployments
const request = new HttpRequest(
'GET',
apiKey,
`${baseUrl}/deployments?api-version=2022-12-01`
)
const resp = await request.send()
const respDeployments = await request.send()

const deployments = new Array<IDeploymentModel>()
resp.data.forEach((deployment: any) => {
respDeployments.data.forEach((deployment: any) => {
if (models.includes(deployment.model)) {
const deploymentModel: IDeploymentModel = {
deployment: deployment.id,
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/quickPicks/quickPickSetupAzureOpenai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -247,5 +247,5 @@ export async function quickPickSetupAzureOpenai(
ConfigurationSettingService.scmDeployment = scmDeploy
ConfigurationSettingService.embeddingModel = embeddingModel
ConfigurationSettingService.embeddingsDeployment = embeddingDeploy
ConfigurationSettingService.azureApiVersion = '2023-05-15'
ConfigurationSettingService.azureApiVersion = '2024-02-01'
}
2 changes: 1 addition & 1 deletion src/utilities/quickPicks/quickPickSetupCredalOpenai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,5 +139,5 @@ export async function quickPickSetupCredalOpenai(
ConfigurationSettingService.scmDeployment = 'setup-required'
ConfigurationSettingService.embeddingModel = 'setup-required'
ConfigurationSettingService.embeddingsDeployment = 'setup-required'
ConfigurationSettingService.azureApiVersion = '2023-05-15'
ConfigurationSettingService.azureApiVersion = '2024-02-01'
}
2 changes: 1 addition & 1 deletion src/utilities/quickPicks/quickPickSetupCustomOpenai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,5 @@ export async function quickPickSetupCustomOpenai(
ConfigurationSettingService.scmDeployment = 'setup-required'
ConfigurationSettingService.embeddingModel = 'setup-required'
ConfigurationSettingService.embeddingsDeployment = 'setup-required'
ConfigurationSettingService.azureApiVersion = '2023-05-15'
ConfigurationSettingService.azureApiVersion = '2024-02-01'
}
2 changes: 1 addition & 1 deletion src/utilities/quickPicks/quickPickSetupOpenai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -240,5 +240,5 @@ export async function quickPickSetupOpenai(
ConfigurationSettingService.scmDeployment = 'setup-required'
ConfigurationSettingService.embeddingModel = embeddingModel
ConfigurationSettingService.embeddingsDeployment = 'setup-required'
ConfigurationSettingService.azureApiVersion = '2023-05-15'
ConfigurationSettingService.azureApiVersion = '2024-02-01'
}
10 changes: 5 additions & 5 deletions src/utilities/quickPicks/quickPickSetupVscodeOpenai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,11 @@ export async function quickPickSetupVscodeOpenai(
await SecretStorageService.instance.setAuthApiKey(accessToken)
ConfigurationSettingService.serviceProvider = 'VSCode-OpenAI'
ConfigurationSettingService.baseUrl = `https://api.arbs.io/openai/inference/v1`
ConfigurationSettingService.defaultModel = 'gpt-35-turbo'
ConfigurationSettingService.azureDeployment = 'gpt-35-turbo'
ConfigurationSettingService.scmModel = 'gpt-35-turbo'
ConfigurationSettingService.scmDeployment = 'gpt-35-turbo'
ConfigurationSettingService.defaultModel = 'gpt-4o'
ConfigurationSettingService.azureDeployment = 'gpt-4o'
ConfigurationSettingService.scmModel = 'gpt-4o'
ConfigurationSettingService.scmDeployment = 'gpt-4o'
ConfigurationSettingService.embeddingModel = 'text-embedding-ada-002'
ConfigurationSettingService.embeddingsDeployment = 'text-embedding-ada-002'
ConfigurationSettingService.azureApiVersion = '2023-05-15'
ConfigurationSettingService.azureApiVersion = '2024-02-01'
}
4 changes: 2 additions & 2 deletions webview-ui/conversationsWebview/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webview-ui/messageWebview/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 60b9a11

Please sign in to comment.