@theia/ai-openai 1.66.0-next.73 → 1.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/openai-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/openai-frontend-application-contribution.js +11 -4
- package/lib/browser/openai-frontend-application-contribution.js.map +1 -1
- package/lib/common/openai-language-models-manager.d.ts +6 -0
- package/lib/common/openai-language-models-manager.d.ts.map +1 -1
- package/lib/common/openai-preferences.d.ts +1 -0
- package/lib/common/openai-preferences.d.ts.map +1 -1
- package/lib/common/openai-preferences.js +17 -1
- package/lib/common/openai-preferences.js.map +1 -1
- package/lib/node/openai-backend-module.d.ts.map +1 -1
- package/lib/node/openai-backend-module.js +2 -0
- package/lib/node/openai-backend-module.js.map +1 -1
- package/lib/node/openai-language-model.d.ts +8 -2
- package/lib/node/openai-language-model.d.ts.map +1 -1
- package/lib/node/openai-language-model.js +43 -42
- package/lib/node/openai-language-model.js.map +1 -1
- package/lib/node/openai-language-models-manager-impl.d.ts +2 -0
- package/lib/node/openai-language-models-manager-impl.d.ts.map +1 -1
- package/lib/node/openai-language-models-manager-impl.js +9 -2
- package/lib/node/openai-language-models-manager-impl.js.map +1 -1
- package/lib/node/openai-model-utils.spec.d.ts +1 -3
- package/lib/node/openai-model-utils.spec.d.ts.map +1 -1
- package/lib/node/openai-model-utils.spec.js +250 -23
- package/lib/node/openai-model-utils.spec.js.map +1 -1
- package/lib/node/openai-request-api-context.d.ts +4 -0
- package/lib/node/openai-request-api-context.d.ts.map +1 -0
- package/lib/node/openai-request-api-context.js +18 -0
- package/lib/node/openai-request-api-context.js.map +1 -0
- package/lib/node/openai-response-api-utils.d.ts +42 -0
- package/lib/node/openai-response-api-utils.d.ts.map +1 -0
- package/lib/node/openai-response-api-utils.js +677 -0
- package/lib/node/openai-response-api-utils.js.map +1 -0
- package/package.json +7 -7
- package/src/browser/openai-frontend-application-contribution.ts +10 -4
- package/src/common/openai-language-models-manager.ts +6 -0
- package/src/common/openai-preferences.ts +18 -0
- package/src/node/openai-backend-module.ts +2 -0
- package/src/node/openai-language-model.ts +59 -42
- package/src/node/openai-language-models-manager-impl.ts +8 -1
- package/src/node/openai-model-utils.spec.ts +257 -22
- package/src/node/openai-request-api-context.ts +23 -0
- package/src/node/openai-response-api-utils.ts +801 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-response-api-utils.js","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-openai",
|
|
3
|
-
"version": "1.66.0
|
|
3
|
+
"version": "1.66.0",
|
|
4
4
|
"description": "Theia - OpenAI Integration",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-core": "1.66.0
|
|
7
|
-
"@theia/core": "1.66.0
|
|
8
|
-
"@theia/filesystem": "1.66.0
|
|
9
|
-
"@theia/workspace": "1.66.0
|
|
6
|
+
"@theia/ai-core": "1.66.0",
|
|
7
|
+
"@theia/core": "1.66.0",
|
|
8
|
+
"@theia/filesystem": "1.66.0",
|
|
9
|
+
"@theia/workspace": "1.66.0",
|
|
10
10
|
"openai": "^6.3.0",
|
|
11
11
|
"tslib": "^2.6.2",
|
|
12
12
|
"undici": "^7.16.0"
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"watch": "theiaext watch"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@theia/ext-scripts": "1.
|
|
48
|
+
"@theia/ext-scripts": "1.66.0"
|
|
49
49
|
},
|
|
50
50
|
"nyc": {
|
|
51
51
|
"extends": "../../configs/nyc.json"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "dc03613006449e67b722a8c2e75c9a62585d5da8"
|
|
54
54
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
18
18
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
19
|
import { OpenAiLanguageModelsManager, OpenAiModelDescription, OPENAI_PROVIDER_ID } from '../common';
|
|
20
|
-
import { API_KEY_PREF, CUSTOM_ENDPOINTS_PREF, MODELS_PREF } from '../common/openai-preferences';
|
|
20
|
+
import { API_KEY_PREF, CUSTOM_ENDPOINTS_PREF, MODELS_PREF, USE_RESPONSE_API_PREF } from '../common/openai-preferences';
|
|
21
21
|
import { AICorePreferences, PREFERENCE_NAME_MAX_RETRIES } from '@theia/ai-core/lib/common/ai-core-preferences';
|
|
22
22
|
import { PreferenceService } from '@theia/core';
|
|
23
23
|
|
|
@@ -60,6 +60,8 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
60
60
|
this.handleModelChanges(event.newValue as string[]);
|
|
61
61
|
} else if (event.preferenceName === CUSTOM_ENDPOINTS_PREF) {
|
|
62
62
|
this.handleCustomModelChanges(event.newValue as Partial<OpenAiModelDescription>[]);
|
|
63
|
+
} else if (event.preferenceName === USE_RESPONSE_API_PREF) {
|
|
64
|
+
this.updateAllModels();
|
|
63
65
|
} else if (event.preferenceName === 'http.proxy') {
|
|
64
66
|
this.manager.setProxyUrl(event.newValue as string);
|
|
65
67
|
}
|
|
@@ -100,7 +102,8 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
100
102
|
model.apiVersion === newModel.apiVersion &&
|
|
101
103
|
model.developerMessageSettings === newModel.developerMessageSettings &&
|
|
102
104
|
model.supportsStructuredOutput === newModel.supportsStructuredOutput &&
|
|
103
|
-
model.enableStreaming === newModel.enableStreaming
|
|
105
|
+
model.enableStreaming === newModel.enableStreaming &&
|
|
106
|
+
model.useResponseApi === newModel.useResponseApi));
|
|
104
107
|
|
|
105
108
|
this.manager.removeLanguageModels(...modelsToRemove.map(model => model.id));
|
|
106
109
|
this.manager.createOrUpdateLanguageModels(...modelsToAddOrUpdate);
|
|
@@ -118,6 +121,7 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
118
121
|
protected createOpenAIModelDescription(modelId: string): OpenAiModelDescription {
|
|
119
122
|
const id = `${OPENAI_PROVIDER_ID}/${modelId}`;
|
|
120
123
|
const maxRetries = this.aiCorePreferences.get(PREFERENCE_NAME_MAX_RETRIES) ?? 3;
|
|
124
|
+
const useResponseApi = this.preferenceService.get<boolean>(USE_RESPONSE_API_PREF, false);
|
|
121
125
|
return {
|
|
122
126
|
id: id,
|
|
123
127
|
model: modelId,
|
|
@@ -126,7 +130,8 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
126
130
|
developerMessageSettings: openAIModelsNotSupportingDeveloperMessages.includes(modelId) ? 'user' : 'developer',
|
|
127
131
|
enableStreaming: !openAIModelsWithDisabledStreaming.includes(modelId),
|
|
128
132
|
supportsStructuredOutput: !openAIModelsWithoutStructuredOutput.includes(modelId),
|
|
129
|
-
maxRetries: maxRetries
|
|
133
|
+
maxRetries: maxRetries,
|
|
134
|
+
useResponseApi: useResponseApi
|
|
130
135
|
};
|
|
131
136
|
}
|
|
132
137
|
|
|
@@ -151,7 +156,8 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
151
156
|
developerMessageSettings: pref.developerMessageSettings ?? 'developer',
|
|
152
157
|
supportsStructuredOutput: pref.supportsStructuredOutput ?? true,
|
|
153
158
|
enableStreaming: pref.enableStreaming ?? true,
|
|
154
|
-
maxRetries: pref.maxRetries ?? maxRetries
|
|
159
|
+
maxRetries: pref.maxRetries ?? maxRetries,
|
|
160
|
+
useResponseApi: pref.useResponseApi ?? false
|
|
155
161
|
}
|
|
156
162
|
];
|
|
157
163
|
}, []);
|
|
@@ -62,6 +62,12 @@ export interface OpenAiModelDescription {
|
|
|
62
62
|
* Maximum number of retry attempts when a request fails. Default is 3.
|
|
63
63
|
*/
|
|
64
64
|
maxRetries: number;
|
|
65
|
+
/**
|
|
66
|
+
* Flag to configure whether to use the newer OpenAI Response API instead of the Chat Completion API.
|
|
67
|
+
* For official OpenAI models, this defaults to `true`. For custom providers, users must explicitly enable it.
|
|
68
|
+
* Default is `false` for custom models.
|
|
69
|
+
*/
|
|
70
|
+
useResponseApi?: boolean;
|
|
65
71
|
}
|
|
66
72
|
export interface OpenAiLanguageModelsManager {
|
|
67
73
|
apiKey: string | undefined;
|
|
@@ -19,6 +19,7 @@ import { nls, PreferenceSchema } from '@theia/core';
|
|
|
19
19
|
|
|
20
20
|
export const API_KEY_PREF = 'ai-features.openAiOfficial.openAiApiKey';
|
|
21
21
|
export const MODELS_PREF = 'ai-features.openAiOfficial.officialOpenAiModels';
|
|
22
|
+
export const USE_RESPONSE_API_PREF = 'ai-features.openAiOfficial.useResponseApi';
|
|
22
23
|
export const CUSTOM_ENDPOINTS_PREF = 'ai-features.openAiCustom.customOpenAiModels';
|
|
23
24
|
|
|
24
25
|
export const OpenAiPreferencesSchema: PreferenceSchema = {
|
|
@@ -52,6 +53,15 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
52
53
|
type: 'string'
|
|
53
54
|
}
|
|
54
55
|
},
|
|
56
|
+
[USE_RESPONSE_API_PREF]: {
|
|
57
|
+
type: 'boolean',
|
|
58
|
+
default: false,
|
|
59
|
+
title: AI_CORE_PREFERENCES_TITLE,
|
|
60
|
+
markdownDescription: nls.localize('theia/ai/openai/useResponseApi/mdDescription',
|
|
61
|
+
'Use the newer OpenAI Response API instead of the Chat Completion API for official OpenAI models. \
|
|
62
|
+
\
|
|
63
|
+
This setting only applies to official OpenAI models - custom providers must configure this individually.')
|
|
64
|
+
},
|
|
55
65
|
[CUSTOM_ENDPOINTS_PREF]: {
|
|
56
66
|
type: 'array',
|
|
57
67
|
title: AI_CORE_PREFERENCES_TITLE,
|
|
@@ -77,6 +87,8 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
77
87
|
\n\
|
|
78
88
|
- specify `enableStreaming: false` to indicate that streaming shall not be used.\
|
|
79
89
|
\n\
|
|
90
|
+
- specify `useResponseApi: true` to use the newer OpenAI Response API instead of the Chat Completion API (requires compatible endpoint).\
|
|
91
|
+
\n\
|
|
80
92
|
Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.'),
|
|
81
93
|
default: [],
|
|
82
94
|
items: {
|
|
@@ -127,6 +139,12 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
127
139
|
type: 'boolean',
|
|
128
140
|
title: nls.localize('theia/ai/openai/customEndpoints/enableStreaming/title',
|
|
129
141
|
'Indicates whether the streaming API shall be used. `true` by default.'),
|
|
142
|
+
},
|
|
143
|
+
useResponseApi: {
|
|
144
|
+
type: 'boolean',
|
|
145
|
+
title: nls.localize('theia/ai/openai/customEndpoints/useResponseApi/title',
|
|
146
|
+
'Use the newer OpenAI Response API instead of the Chat Completion API. `false` by default for custom providers.'
|
|
147
|
+
+ 'Note: Will automatically fall back to Chat Completions API when tools are used.'),
|
|
130
148
|
}
|
|
131
149
|
}
|
|
132
150
|
}
|
|
@@ -20,6 +20,7 @@ import { ConnectionHandler, PreferenceContribution, RpcConnectionHandler } from
|
|
|
20
20
|
import { OpenAiLanguageModelsManagerImpl } from './openai-language-models-manager-impl';
|
|
21
21
|
import { ConnectionContainerModule } from '@theia/core/lib/node/messaging/connection-container-module';
|
|
22
22
|
import { OpenAiModelUtils } from './openai-language-model';
|
|
23
|
+
import { OpenAiResponseApiUtils } from './openai-response-api-utils';
|
|
23
24
|
import { OpenAiPreferencesSchema } from '../common/openai-preferences';
|
|
24
25
|
|
|
25
26
|
export const OpenAiModelFactory = Symbol('OpenAiModelFactory');
|
|
@@ -36,5 +37,6 @@ const openAiConnectionModule = ConnectionContainerModule.create(({ bind, bindBac
|
|
|
36
37
|
export default new ContainerModule(bind => {
|
|
37
38
|
bind(PreferenceContribution).toConstantValue({ schema: OpenAiPreferencesSchema });
|
|
38
39
|
bind(OpenAiModelUtils).toSelf().inSingletonScope();
|
|
40
|
+
bind(OpenAiResponseApiUtils).toSelf().inSingletonScope();
|
|
39
41
|
bind(ConnectionContainerModule).toConstantValue(openAiConnectionModule);
|
|
40
42
|
});
|
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
LanguageModelMessage,
|
|
22
22
|
LanguageModelResponse,
|
|
23
23
|
LanguageModelTextResponse,
|
|
24
|
-
TextMessage,
|
|
25
24
|
TokenUsageService,
|
|
26
25
|
UserRequest,
|
|
27
26
|
ImageContent,
|
|
@@ -37,24 +36,28 @@ import { StreamingAsyncIterator } from './openai-streaming-iterator';
|
|
|
37
36
|
import { OPENAI_PROVIDER_ID } from '../common';
|
|
38
37
|
import type { FinalRequestOptions } from 'openai/internal/request-options';
|
|
39
38
|
import type { RunnerOptions } from 'openai/lib/AbstractChatCompletionRunner';
|
|
39
|
+
import { OpenAiResponseApiUtils, processSystemMessages } from './openai-response-api-utils';
|
|
40
40
|
import * as undici from 'undici';
|
|
41
41
|
|
|
42
42
|
export class MistralFixedOpenAI extends OpenAI {
|
|
43
43
|
protected override async prepareOptions(options: FinalRequestOptions): Promise<void> {
|
|
44
|
-
(options.body as { messages: Array<ChatCompletionMessageParam> }).messages
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
const messages = (options.body as { messages: Array<ChatCompletionMessageParam> }).messages;
|
|
45
|
+
if (Array.isArray(messages)) {
|
|
46
|
+
(options.body as { messages: Array<ChatCompletionMessageParam> }).messages.forEach(m => {
|
|
47
|
+
if (m.role === 'assistant' && m.tool_calls) {
|
|
48
|
+
// Mistral OpenAI Endpoint expects refusal to be undefined and not null for optional properties
|
|
49
|
+
// eslint-disable-next-line no-null/no-null
|
|
50
|
+
if (m.refusal === null) {
|
|
51
|
+
m.refusal = undefined;
|
|
52
|
+
}
|
|
53
|
+
// Mistral OpenAI Endpoint expects parsed to be undefined and not null for optional properties
|
|
54
|
+
// eslint-disable-next-line no-null/no-null
|
|
55
|
+
if ((m as unknown as { parsed: null | undefined }).parsed === null) {
|
|
56
|
+
(m as unknown as { parsed: null | undefined }).parsed = undefined;
|
|
57
|
+
}
|
|
55
58
|
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
58
61
|
return super.prepareOptions(options);
|
|
59
62
|
};
|
|
60
63
|
}
|
|
@@ -84,6 +87,7 @@ export class OpenAiModel implements LanguageModel {
|
|
|
84
87
|
* @param developerMessageSettings how to handle system messages
|
|
85
88
|
* @param url the OpenAI API compatible endpoint where the model is hosted. If not provided the default OpenAI endpoint will be used.
|
|
86
89
|
* @param maxRetries the maximum number of retry attempts when a request fails
|
|
90
|
+
* @param useResponseApi whether to use the newer OpenAI Response API instead of the Chat Completion API
|
|
87
91
|
*/
|
|
88
92
|
constructor(
|
|
89
93
|
public readonly id: string,
|
|
@@ -96,8 +100,10 @@ export class OpenAiModel implements LanguageModel {
|
|
|
96
100
|
public url: string | undefined,
|
|
97
101
|
public deployment: string | undefined,
|
|
98
102
|
public openAiModelUtils: OpenAiModelUtils,
|
|
103
|
+
public responseApiUtils: OpenAiResponseApiUtils,
|
|
99
104
|
public developerMessageSettings: DeveloperMessageSettings = 'developer',
|
|
100
105
|
public maxRetries: number = 3,
|
|
106
|
+
public useResponseApi: boolean = false,
|
|
101
107
|
protected readonly tokenUsageService?: TokenUsageService,
|
|
102
108
|
protected proxy?: string
|
|
103
109
|
) { }
|
|
@@ -107,9 +113,16 @@ export class OpenAiModel implements LanguageModel {
|
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
async request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
|
|
110
|
-
const settings = this.getSettings(request);
|
|
111
116
|
const openai = this.initializeOpenAi();
|
|
112
117
|
|
|
118
|
+
return this.useResponseApi ?
|
|
119
|
+
this.handleResponseApiRequest(openai, request, cancellationToken)
|
|
120
|
+
: this.handleChatCompletionsRequest(openai, request, cancellationToken);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
protected async handleChatCompletionsRequest(openai: OpenAI, request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
|
|
124
|
+
const settings = this.getSettings(request);
|
|
125
|
+
|
|
113
126
|
if (request.response_format?.type === 'json_schema' && this.supportsStructuredOutput) {
|
|
114
127
|
return this.handleStructuredOutputRequest(openai, request);
|
|
115
128
|
}
|
|
@@ -170,7 +183,6 @@ export class OpenAiModel implements LanguageModel {
|
|
|
170
183
|
outputTokens: response.usage.completion_tokens,
|
|
171
184
|
requestId: request.requestId
|
|
172
185
|
}
|
|
173
|
-
|
|
174
186
|
);
|
|
175
187
|
}
|
|
176
188
|
|
|
@@ -252,6 +264,34 @@ export class OpenAiModel implements LanguageModel {
|
|
|
252
264
|
}
|
|
253
265
|
}
|
|
254
266
|
|
|
267
|
+
protected async handleResponseApiRequest(openai: OpenAI, request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
|
|
268
|
+
const settings = this.getSettings(request);
|
|
269
|
+
const isStreamingRequest = this.enableStreaming && !(typeof settings.stream === 'boolean' && !settings.stream);
|
|
270
|
+
|
|
271
|
+
try {
|
|
272
|
+
return await this.responseApiUtils.handleRequest(
|
|
273
|
+
openai,
|
|
274
|
+
request,
|
|
275
|
+
settings,
|
|
276
|
+
this.model,
|
|
277
|
+
this.openAiModelUtils,
|
|
278
|
+
this.developerMessageSettings,
|
|
279
|
+
this.runnerOptions,
|
|
280
|
+
this.id,
|
|
281
|
+
isStreamingRequest,
|
|
282
|
+
this.tokenUsageService,
|
|
283
|
+
cancellationToken
|
|
284
|
+
);
|
|
285
|
+
} catch (error) {
|
|
286
|
+
// If Response API fails, fall back to Chat Completions API
|
|
287
|
+
if (error instanceof Error) {
|
|
288
|
+
console.warn(`Response API failed for model ${this.id}, falling back to Chat Completions API:`, error.message);
|
|
289
|
+
return this.handleChatCompletionsRequest(openai, request, cancellationToken);
|
|
290
|
+
}
|
|
291
|
+
throw error;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
255
295
|
protected processMessages(messages: LanguageModelMessage[]): ChatCompletionMessageParam[] {
|
|
256
296
|
return this.openAiModelUtils.processMessages(messages, this.developerMessageSettings, this.model);
|
|
257
297
|
}
|
|
@@ -269,31 +309,7 @@ export class OpenAiModelUtils {
|
|
|
269
309
|
messages: LanguageModelMessage[],
|
|
270
310
|
developerMessageSettings: DeveloperMessageSettings
|
|
271
311
|
): LanguageModelMessage[] {
|
|
272
|
-
|
|
273
|
-
return messages.filter(message => message.actor !== 'system');
|
|
274
|
-
} else if (developerMessageSettings === 'mergeWithFollowingUserMessage') {
|
|
275
|
-
const updated = messages.slice();
|
|
276
|
-
for (let i = updated.length - 1; i >= 0; i--) {
|
|
277
|
-
if (updated[i].actor === 'system') {
|
|
278
|
-
const systemMessage = updated[i] as TextMessage;
|
|
279
|
-
if (i + 1 < updated.length && updated[i + 1].actor === 'user') {
|
|
280
|
-
// Merge system message with the next user message
|
|
281
|
-
const userMessage = updated[i + 1] as TextMessage;
|
|
282
|
-
updated[i + 1] = {
|
|
283
|
-
...updated[i + 1],
|
|
284
|
-
text: systemMessage.text + '\n' + userMessage.text
|
|
285
|
-
} as TextMessage;
|
|
286
|
-
updated.splice(i, 1);
|
|
287
|
-
} else {
|
|
288
|
-
// The message directly after is not a user message (or none exists), so create a new user message right after
|
|
289
|
-
updated.splice(i + 1, 0, { actor: 'user', type: 'text', text: systemMessage.text });
|
|
290
|
-
updated.splice(i, 1);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
return updated;
|
|
295
|
-
}
|
|
296
|
-
return messages;
|
|
312
|
+
return processSystemMessages(messages, developerMessageSettings);
|
|
297
313
|
}
|
|
298
314
|
|
|
299
315
|
protected toOpenAiRole(
|
|
@@ -367,9 +383,10 @@ export class OpenAiModelUtils {
|
|
|
367
383
|
processMessages(
|
|
368
384
|
messages: LanguageModelMessage[],
|
|
369
385
|
developerMessageSettings: DeveloperMessageSettings,
|
|
370
|
-
model
|
|
386
|
+
model?: string
|
|
371
387
|
): ChatCompletionMessageParam[] {
|
|
372
388
|
const processed = this.processSystemMessages(messages, developerMessageSettings);
|
|
373
389
|
return processed.filter(m => m.type !== 'thinking').map(m => this.toOpenAIMessage(m, developerMessageSettings));
|
|
374
390
|
}
|
|
391
|
+
|
|
375
392
|
}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { LanguageModelRegistry, LanguageModelStatus, TokenUsageService } from '@theia/ai-core';
|
|
18
18
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
19
|
import { OpenAiModel, OpenAiModelUtils } from './openai-language-model';
|
|
20
|
+
import { OpenAiResponseApiUtils } from './openai-response-api-utils';
|
|
20
21
|
import { OpenAiLanguageModelsManager, OpenAiModelDescription } from '../common';
|
|
21
22
|
|
|
22
23
|
@injectable()
|
|
@@ -25,6 +26,9 @@ export class OpenAiLanguageModelsManagerImpl implements OpenAiLanguageModelsMana
|
|
|
25
26
|
@inject(OpenAiModelUtils)
|
|
26
27
|
protected readonly openAiModelUtils: OpenAiModelUtils;
|
|
27
28
|
|
|
29
|
+
@inject(OpenAiResponseApiUtils)
|
|
30
|
+
protected readonly responseApiUtils: OpenAiResponseApiUtils;
|
|
31
|
+
|
|
28
32
|
protected _apiKey: string | undefined;
|
|
29
33
|
protected _apiVersion: string | undefined;
|
|
30
34
|
protected _proxyUrl: string | undefined;
|
|
@@ -117,7 +121,8 @@ export class OpenAiLanguageModelsManagerImpl implements OpenAiLanguageModelsMana
|
|
|
117
121
|
developerMessageSettings: modelDescription.developerMessageSettings || 'developer',
|
|
118
122
|
supportsStructuredOutput: modelDescription.supportsStructuredOutput,
|
|
119
123
|
status,
|
|
120
|
-
maxRetries: modelDescription.maxRetries
|
|
124
|
+
maxRetries: modelDescription.maxRetries,
|
|
125
|
+
useResponseApi: modelDescription.useResponseApi ?? false
|
|
121
126
|
});
|
|
122
127
|
} else {
|
|
123
128
|
this.languageModelRegistry.addLanguageModels([
|
|
@@ -132,8 +137,10 @@ export class OpenAiLanguageModelsManagerImpl implements OpenAiLanguageModelsMana
|
|
|
132
137
|
modelDescription.url,
|
|
133
138
|
modelDescription.deployment,
|
|
134
139
|
this.openAiModelUtils,
|
|
140
|
+
this.responseApiUtils,
|
|
135
141
|
modelDescription.developerMessageSettings,
|
|
136
142
|
modelDescription.maxRetries,
|
|
143
|
+
modelDescription.useResponseApi ?? false,
|
|
137
144
|
this.tokenUsageService,
|
|
138
145
|
proxyUrlProvider(modelDescription.url)
|
|
139
146
|
)
|