🪰 fix: Azure Parsing and Assistants Payload (#2133)

* fix(azure): fix regex to prevent edge cases

* fix(assistants): pass relevant endpoint options to avoid sending them to API
This commit is contained in:
Danny Avila 2024-03-18 19:48:42 -04:00 committed by GitHub
parent 7cddd943d0
commit f51ac74e12
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 8 additions and 5 deletions

View file

@ -236,7 +236,7 @@ class ChatGPTClient extends BaseClient {
baseURL: this.langchainProxy,
azureOptions: this.azure,
})
: this.azureEndpoint.split(/\/(chat|completion)/)[0];
: this.azureEndpoint.split(/(?<!\/)\/(chat|completion)\//)[0];
if (this.options.forcePrompt) {
baseURL += '/completions';

View file

@ -744,9 +744,10 @@ class OpenAIClient extends BaseClient {
/** @type {TAzureConfig | undefined} */
const azureConfig = this.options?.req?.app?.locals?.[EModelEndpoint.azureOpenAI];
const resetTitleOptions =
const resetTitleOptions = !!(
(this.azure && azureConfig) ||
(azureConfig && this.options.endpoint === EModelEndpoint.azureOpenAI);
(azureConfig && this.options.endpoint === EModelEndpoint.azureOpenAI)
);
if (resetTitleOptions) {
const { modelGroupMap, groupMap } = azureConfig;
@ -1064,7 +1065,8 @@ ${convo}
baseURL: this.langchainProxy,
azureOptions: this.azure,
})
: this.azureEndpoint.split(/\/(chat|completion)/)[0];
: this.azureEndpoint.split(/(?<!\/)\/(chat|completion)\//)[0];
opts.defaultQuery = { 'api-version': this.azure.azureOpenAIApiVersion };
opts.defaultHeaders = { ...opts.defaultHeaders, 'api-key': this.apiKey };
}

View file

@ -1,9 +1,10 @@
const buildOptions = (endpoint, parsedBody) => {
// eslint-disable-next-line no-unused-vars
const { promptPrefix, chatGptLabel, resendImages, imageDetail, ...rest } = parsedBody;
const { promptPrefix, assistant_id, ...rest } = parsedBody;
const endpointOption = {
endpoint,
promptPrefix,
assistant_id,
modelOptions: {
...rest,
},