@theia/ai-openai 1.63.0-next.24 → 1.63.0-next.52
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 +3 -0
- package/lib/browser/openai-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/openai-frontend-application-contribution.js +25 -3
- package/lib/browser/openai-frontend-application-contribution.js.map +1 -1
- package/lib/common/openai-language-models-manager.d.ts +4 -0
- package/lib/common/openai-language-models-manager.d.ts.map +1 -1
- package/lib/node/openai-language-model.d.ts +3 -1
- package/lib/node/openai-language-model.d.ts.map +1 -1
- package/lib/node/openai-language-model.js +17 -2
- package/lib/node/openai-language-model.js.map +1 -1
- package/lib/node/openai-language-models-manager-impl.d.ts.map +1 -1
- package/lib/node/openai-language-models-manager-impl.js +2 -1
- package/lib/node/openai-language-models-manager-impl.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/openai-frontend-application-contribution.ts +24 -2
- package/src/common/openai-language-models-manager.ts +4 -0
- package/src/node/openai-language-model.ts +19 -2
- package/src/node/openai-language-models-manager-impl.ts +2 -0
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { FrontendApplicationContribution, PreferenceService } from '@theia/core/lib/browser';
|
|
2
2
|
import { OpenAiLanguageModelsManager, OpenAiModelDescription } from '../common';
|
|
3
|
+
import { AICorePreferences } from '@theia/ai-core/lib/browser/ai-core-preferences';
|
|
3
4
|
export declare class OpenAiFrontendApplicationContribution implements FrontendApplicationContribution {
|
|
4
5
|
protected preferenceService: PreferenceService;
|
|
5
6
|
protected manager: OpenAiLanguageModelsManager;
|
|
7
|
+
protected aiCorePreferences: AICorePreferences;
|
|
6
8
|
protected prevModels: string[];
|
|
7
9
|
protected prevCustomModels: Partial<OpenAiModelDescription>[];
|
|
8
10
|
onStart(): void;
|
|
9
11
|
protected handleModelChanges(newModels: string[]): void;
|
|
10
12
|
protected handleCustomModelChanges(newCustomModels: Partial<OpenAiModelDescription>[]): void;
|
|
13
|
+
protected updateAllModelsWithNewRetries(): void;
|
|
11
14
|
protected createOpenAIModelDescription(modelId: string): OpenAiModelDescription;
|
|
12
15
|
protected createCustomModelDescriptionsFromPreferences(preferences: Partial<OpenAiModelDescription>[]): OpenAiModelDescription[];
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAsB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAsB,MAAM,WAAW,CAAC;AAEpG,OAAO,EAAE,iBAAiB,EAA+B,MAAM,gDAAgD,CAAC;AAEhH,qBACa,qCAAsC,YAAW,+BAA+B;IAGzF,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAG/C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACpC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAM;IAEnE,OAAO,IAAI,IAAI;IA+Bf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAAG,IAAI;IAqB5F,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAQ/C,SAAS,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAe/E,SAAS,CAAC,4CAA4C,CAClD,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAC/C,sBAAsB,EAAE;CAuB9B"}
|
|
@@ -21,6 +21,7 @@ const browser_1 = require("@theia/core/lib/browser");
|
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
22
|
const common_1 = require("../common");
|
|
23
23
|
const openai_preferences_1 = require("./openai-preferences");
|
|
24
|
+
const ai_core_preferences_1 = require("@theia/ai-core/lib/browser/ai-core-preferences");
|
|
24
25
|
let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContribution {
|
|
25
26
|
constructor() {
|
|
26
27
|
this.prevModels = [];
|
|
@@ -47,6 +48,11 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
|
|
|
47
48
|
this.handleCustomModelChanges(event.newValue);
|
|
48
49
|
}
|
|
49
50
|
});
|
|
51
|
+
this.aiCorePreferences.onPreferenceChanged(event => {
|
|
52
|
+
if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
|
|
53
|
+
this.updateAllModelsWithNewRetries();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
50
56
|
});
|
|
51
57
|
}
|
|
52
58
|
handleModelChanges(newModels) {
|
|
@@ -74,8 +80,16 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
|
|
|
74
80
|
this.manager.createOrUpdateLanguageModels(...modelsToAddOrUpdate);
|
|
75
81
|
this.prevCustomModels = [...newCustomModels];
|
|
76
82
|
}
|
|
83
|
+
updateAllModelsWithNewRetries() {
|
|
84
|
+
const models = this.preferenceService.get(openai_preferences_1.MODELS_PREF, []);
|
|
85
|
+
this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createOpenAIModelDescription(modelId)));
|
|
86
|
+
const customModels = this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
|
|
87
|
+
this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
|
|
88
|
+
}
|
|
77
89
|
createOpenAIModelDescription(modelId) {
|
|
90
|
+
var _a;
|
|
78
91
|
const id = `${common_1.OPENAI_PROVIDER_ID}/${modelId}`;
|
|
92
|
+
const maxRetries = (_a = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES)) !== null && _a !== void 0 ? _a : 3;
|
|
79
93
|
return {
|
|
80
94
|
id: id,
|
|
81
95
|
model: modelId,
|
|
@@ -83,12 +97,15 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
|
|
|
83
97
|
apiVersion: true,
|
|
84
98
|
developerMessageSettings: openAIModelsNotSupportingDeveloperMessages.includes(modelId) ? 'user' : 'developer',
|
|
85
99
|
enableStreaming: !openAIModelsWithDisabledStreaming.includes(modelId),
|
|
86
|
-
supportsStructuredOutput: !openAIModelsWithoutStructuredOutput.includes(modelId)
|
|
100
|
+
supportsStructuredOutput: !openAIModelsWithoutStructuredOutput.includes(modelId),
|
|
101
|
+
maxRetries: maxRetries
|
|
87
102
|
};
|
|
88
103
|
}
|
|
89
104
|
createCustomModelDescriptionsFromPreferences(preferences) {
|
|
105
|
+
var _a;
|
|
106
|
+
const maxRetries = (_a = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES)) !== null && _a !== void 0 ? _a : 3;
|
|
90
107
|
return preferences.reduce((acc, pref) => {
|
|
91
|
-
var _a, _b, _c;
|
|
108
|
+
var _a, _b, _c, _d;
|
|
92
109
|
if (!pref.model || !pref.url || typeof pref.model !== 'string' || typeof pref.url !== 'string') {
|
|
93
110
|
return acc;
|
|
94
111
|
}
|
|
@@ -102,7 +119,8 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
|
|
|
102
119
|
apiVersion: typeof pref.apiVersion === 'string' || pref.apiVersion === true ? pref.apiVersion : undefined,
|
|
103
120
|
developerMessageSettings: (_a = pref.developerMessageSettings) !== null && _a !== void 0 ? _a : 'developer',
|
|
104
121
|
supportsStructuredOutput: (_b = pref.supportsStructuredOutput) !== null && _b !== void 0 ? _b : true,
|
|
105
|
-
enableStreaming: (_c = pref.enableStreaming) !== null && _c !== void 0 ? _c : true
|
|
122
|
+
enableStreaming: (_c = pref.enableStreaming) !== null && _c !== void 0 ? _c : true,
|
|
123
|
+
maxRetries: (_d = pref.maxRetries) !== null && _d !== void 0 ? _d : maxRetries
|
|
106
124
|
}
|
|
107
125
|
];
|
|
108
126
|
}, []);
|
|
@@ -117,6 +135,10 @@ tslib_1.__decorate([
|
|
|
117
135
|
(0, inversify_1.inject)(common_1.OpenAiLanguageModelsManager),
|
|
118
136
|
tslib_1.__metadata("design:type", Object)
|
|
119
137
|
], OpenAiFrontendApplicationContribution.prototype, "manager", void 0);
|
|
138
|
+
tslib_1.__decorate([
|
|
139
|
+
(0, inversify_1.inject)(ai_core_preferences_1.AICorePreferences),
|
|
140
|
+
tslib_1.__metadata("design:type", Object)
|
|
141
|
+
], OpenAiFrontendApplicationContribution.prototype, "aiCorePreferences", void 0);
|
|
120
142
|
exports.OpenAiFrontendApplicationContribution = OpenAiFrontendApplicationContribution = tslib_1.__decorate([
|
|
121
143
|
(0, inversify_1.injectable)()
|
|
122
144
|
], OpenAiFrontendApplicationContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,qDAA6F;AAC7F,4DAAkE;AAClE,sCAAoG;AACpG,6DAAwF;
|
|
1
|
+
{"version":3,"file":"openai-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,10 @@ export interface OpenAiModelDescription {
|
|
|
37
37
|
* Flag to configure whether the OpenAPI model supports structured output. Default is `true`.
|
|
38
38
|
*/
|
|
39
39
|
supportsStructuredOutput: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Maximum number of retry attempts when a request fails. Default is 3.
|
|
42
|
+
*/
|
|
43
|
+
maxRetries: number;
|
|
40
44
|
}
|
|
41
45
|
export interface OpenAiLanguageModelsManager {
|
|
42
46
|
apiKey: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/openai-language-models-manager.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mCAAmC,6CAA6C,CAAC;AAC9F,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,+BAA+B,GAAG,MAAM,CAAC;IACtG;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/openai-language-models-manager.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mCAAmC,6CAA6C,CAAC;AAC9F,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,+BAA+B,GAAG,MAAM,CAAC;IACtG;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,4BAA4B,CAAC,GAAG,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACpD"}
|
|
@@ -20,6 +20,7 @@ export declare class OpenAiModel implements LanguageModel {
|
|
|
20
20
|
url: string | undefined;
|
|
21
21
|
openAiModelUtils: OpenAiModelUtils;
|
|
22
22
|
developerMessageSettings: DeveloperMessageSettings;
|
|
23
|
+
maxRetries: number;
|
|
23
24
|
protected readonly tokenUsageService?: TokenUsageService | undefined;
|
|
24
25
|
/**
|
|
25
26
|
* The options for the OpenAI runner.
|
|
@@ -33,8 +34,9 @@ export declare class OpenAiModel implements LanguageModel {
|
|
|
33
34
|
* @param apiVersion a function that returns the OpenAPI version to use for this model, called on each request
|
|
34
35
|
* @param developerMessageSettings how to handle system messages
|
|
35
36
|
* @param url the OpenAI API compatible endpoint where the model is hosted. If not provided the default OpenAI endpoint will be used.
|
|
37
|
+
* @param maxRetries the maximum number of retry attempts when a request fails
|
|
36
38
|
*/
|
|
37
|
-
constructor(id: string, model: string, enableStreaming: boolean, apiKey: () => string | undefined, apiVersion: () => string | undefined, supportsStructuredOutput: boolean, url: string | undefined, openAiModelUtils: OpenAiModelUtils, developerMessageSettings?: DeveloperMessageSettings, tokenUsageService?: TokenUsageService | undefined);
|
|
39
|
+
constructor(id: string, model: string, enableStreaming: boolean, apiKey: () => string | undefined, apiVersion: () => string | undefined, supportsStructuredOutput: boolean, url: string | undefined, openAiModelUtils: OpenAiModelUtils, developerMessageSettings?: DeveloperMessageSettings, maxRetries?: number, tokenUsageService?: TokenUsageService | undefined);
|
|
38
40
|
protected getSettings(request: LanguageModelRequest): Record<string, unknown>;
|
|
39
41
|
request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
|
|
40
42
|
protected handleNonStreamingRequest(openai: OpenAI, request: UserRequest): Promise<LanguageModelTextResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAEzB,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,9 @@ class OpenAiModel {
|
|
|
53
53
|
* @param apiVersion a function that returns the OpenAPI version to use for this model, called on each request
|
|
54
54
|
* @param developerMessageSettings how to handle system messages
|
|
55
55
|
* @param url the OpenAI API compatible endpoint where the model is hosted. If not provided the default OpenAI endpoint will be used.
|
|
56
|
+
* @param maxRetries the maximum number of retry attempts when a request fails
|
|
56
57
|
*/
|
|
57
|
-
constructor(id, model, enableStreaming, apiKey, apiVersion, supportsStructuredOutput, url, openAiModelUtils, developerMessageSettings = 'developer', tokenUsageService) {
|
|
58
|
+
constructor(id, model, enableStreaming, apiKey, apiVersion, supportsStructuredOutput, url, openAiModelUtils, developerMessageSettings = 'developer', maxRetries = 3, tokenUsageService) {
|
|
58
59
|
this.id = id;
|
|
59
60
|
this.model = model;
|
|
60
61
|
this.enableStreaming = enableStreaming;
|
|
@@ -64,6 +65,7 @@ class OpenAiModel {
|
|
|
64
65
|
this.url = url;
|
|
65
66
|
this.openAiModelUtils = openAiModelUtils;
|
|
66
67
|
this.developerMessageSettings = developerMessageSettings;
|
|
68
|
+
this.maxRetries = maxRetries;
|
|
67
69
|
this.tokenUsageService = tokenUsageService;
|
|
68
70
|
/**
|
|
69
71
|
* The options for the OpenAI runner.
|
|
@@ -106,7 +108,7 @@ class OpenAiModel {
|
|
|
106
108
|
tool_choice: 'auto',
|
|
107
109
|
...settings
|
|
108
110
|
}, {
|
|
109
|
-
...this.runnerOptions,
|
|
111
|
+
...this.runnerOptions, maxRetries: this.maxRetries
|
|
110
112
|
});
|
|
111
113
|
}
|
|
112
114
|
else {
|
|
@@ -271,6 +273,19 @@ let OpenAiModelUtils = class OpenAiModelUtils {
|
|
|
271
273
|
content: ''
|
|
272
274
|
};
|
|
273
275
|
}
|
|
276
|
+
if (ai_core_1.LanguageModelMessage.isImageMessage(message) && message.actor === 'user') {
|
|
277
|
+
return {
|
|
278
|
+
role: 'user',
|
|
279
|
+
content: [{
|
|
280
|
+
type: 'image_url',
|
|
281
|
+
image_url: {
|
|
282
|
+
url: ai_core_1.ImageContent.isBase64(message.image) ?
|
|
283
|
+
`data:${message.image.mimeType};base64,${message.image.base64data}` :
|
|
284
|
+
message.image.url
|
|
285
|
+
}
|
|
286
|
+
}]
|
|
287
|
+
};
|
|
288
|
+
}
|
|
274
289
|
throw new Error(`Unknown message type:'${JSON.stringify(message)}'`);
|
|
275
290
|
}
|
|
276
291
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAe,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEhF,qBACa,+BAAgC,YAAW,2BAA2B;IAG/E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAIK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAe,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEhF,qBACa,+BAAgC,YAAW,2BAA2B;IAG/E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAIK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDjG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ3C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAOtD"}
|
|
@@ -64,10 +64,11 @@ let OpenAiLanguageModelsManagerImpl = class OpenAiLanguageModelsManagerImpl {
|
|
|
64
64
|
model.apiVersion = apiVersionProvider;
|
|
65
65
|
model.developerMessageSettings = modelDescription.developerMessageSettings || 'developer';
|
|
66
66
|
model.supportsStructuredOutput = modelDescription.supportsStructuredOutput;
|
|
67
|
+
model.maxRetries = modelDescription.maxRetries;
|
|
67
68
|
}
|
|
68
69
|
else {
|
|
69
70
|
this.languageModelRegistry.addLanguageModels([
|
|
70
|
-
new openai_language_model_1.OpenAiModel(modelDescription.id, modelDescription.model, modelDescription.enableStreaming, apiKeyProvider, apiVersionProvider, modelDescription.supportsStructuredOutput, modelDescription.url, this.openAiModelUtils, modelDescription.developerMessageSettings, this.tokenUsageService)
|
|
71
|
+
new openai_language_model_1.OpenAiModel(modelDescription.id, modelDescription.model, modelDescription.enableStreaming, apiKeyProvider, apiVersionProvider, modelDescription.supportsStructuredOutput, modelDescription.url, this.openAiModelUtils, modelDescription.developerMessageSettings, modelDescription.maxRetries, this.tokenUsageService)
|
|
71
72
|
]);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/openai-language-models-manager-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4CAA0E;AAC1E,4DAAkE;AAClE,mEAAwE;AAIjE,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAcxC,IAAI,MAAM;;QACN,OAAO,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACtD,CAAC;IAED,IAAI,UAAU;;QACV,OAAO,MAAA,IAAI,CAAC,WAAW,mCAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9D,CAAC;IAED,6EAA6E;IAC7E,6CAA6C;IAC7C,KAAK,CAAC,4BAA4B,CAAC,GAAG,iBAA2C;QAC7E,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,GAAG,EAAE;gBACxB,IAAI,gBAAgB,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC;gBACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC1B,OAAO,gBAAgB,CAAC,MAAM,CAAC;gBACnC,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;YACF,MAAM,kBAAkB,GAAG,GAAG,EAAE;gBAC5B,IAAI,gBAAgB,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC,UAAU,CAAC;gBAC3B,CAAC;gBACD,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;oBAC9B,OAAO,gBAAgB,CAAC,UAAU,CAAC;gBACvC,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;YAEF,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,KAAK,YAAY,mCAAW,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,iBAAiB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,CAAC;oBAC5E,SAAS;gBACb,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBACrC,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;gBACzD,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC;gBACjC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAC9B,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC;gBACtC,KAAK,CAAC,wBAAwB,GAAG,gBAAgB,CAAC,wBAAwB,IAAI,WAAW,CAAC;gBAC1F,KAAK,CAAC,wBAAwB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/openai-language-models-manager-impl.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.63.0-next.
|
|
3
|
+
"version": "1.63.0-next.52+176018e53",
|
|
4
4
|
"description": "Theia - OpenAI Integration",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-core": "1.63.0-next.
|
|
7
|
-
"@theia/core": "1.63.0-next.
|
|
8
|
-
"@theia/filesystem": "1.63.0-next.
|
|
9
|
-
"@theia/workspace": "1.63.0-next.
|
|
6
|
+
"@theia/ai-core": "1.63.0-next.52+176018e53",
|
|
7
|
+
"@theia/core": "1.63.0-next.52+176018e53",
|
|
8
|
+
"@theia/filesystem": "1.63.0-next.52+176018e53",
|
|
9
|
+
"@theia/workspace": "1.63.0-next.52+176018e53",
|
|
10
10
|
"minimatch": "^5.1.0",
|
|
11
11
|
"openai": "^5.0.1",
|
|
12
12
|
"tslib": "^2.6.2"
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"nyc": {
|
|
51
51
|
"extends": "../../configs/nyc.json"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "176018e53e62cafec9b25b23ac9f0b4826b6d0f7"
|
|
54
54
|
}
|
|
@@ -18,6 +18,7 @@ import { FrontendApplicationContribution, PreferenceService } from '@theia/core/
|
|
|
18
18
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
19
|
import { OpenAiLanguageModelsManager, OpenAiModelDescription, OPENAI_PROVIDER_ID } from '../common';
|
|
20
20
|
import { API_KEY_PREF, CUSTOM_ENDPOINTS_PREF, MODELS_PREF } from './openai-preferences';
|
|
21
|
+
import { AICorePreferences, PREFERENCE_NAME_MAX_RETRIES } from '@theia/ai-core/lib/browser/ai-core-preferences';
|
|
21
22
|
|
|
22
23
|
@injectable()
|
|
23
24
|
export class OpenAiFrontendApplicationContribution implements FrontendApplicationContribution {
|
|
@@ -28,6 +29,9 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
28
29
|
@inject(OpenAiLanguageModelsManager)
|
|
29
30
|
protected manager: OpenAiLanguageModelsManager;
|
|
30
31
|
|
|
32
|
+
@inject(AICorePreferences)
|
|
33
|
+
protected aiCorePreferences: AICorePreferences;
|
|
34
|
+
|
|
31
35
|
protected prevModels: string[] = [];
|
|
32
36
|
protected prevCustomModels: Partial<OpenAiModelDescription>[] = [];
|
|
33
37
|
|
|
@@ -53,6 +57,12 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
53
57
|
this.handleCustomModelChanges(event.newValue as Partial<OpenAiModelDescription>[]);
|
|
54
58
|
}
|
|
55
59
|
});
|
|
60
|
+
|
|
61
|
+
this.aiCorePreferences.onPreferenceChanged(event => {
|
|
62
|
+
if (event.preferenceName === PREFERENCE_NAME_MAX_RETRIES) {
|
|
63
|
+
this.updateAllModelsWithNewRetries();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
56
66
|
});
|
|
57
67
|
}
|
|
58
68
|
|
|
@@ -89,8 +99,17 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
89
99
|
this.prevCustomModels = [...newCustomModels];
|
|
90
100
|
}
|
|
91
101
|
|
|
102
|
+
protected updateAllModelsWithNewRetries(): void {
|
|
103
|
+
const models = this.preferenceService.get<string[]>(MODELS_PREF, []);
|
|
104
|
+
this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createOpenAIModelDescription(modelId)));
|
|
105
|
+
|
|
106
|
+
const customModels = this.preferenceService.get<Partial<OpenAiModelDescription>[]>(CUSTOM_ENDPOINTS_PREF, []);
|
|
107
|
+
this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
|
|
108
|
+
}
|
|
109
|
+
|
|
92
110
|
protected createOpenAIModelDescription(modelId: string): OpenAiModelDescription {
|
|
93
111
|
const id = `${OPENAI_PROVIDER_ID}/${modelId}`;
|
|
112
|
+
const maxRetries = this.aiCorePreferences.get(PREFERENCE_NAME_MAX_RETRIES) ?? 3;
|
|
94
113
|
return {
|
|
95
114
|
id: id,
|
|
96
115
|
model: modelId,
|
|
@@ -98,13 +117,15 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
98
117
|
apiVersion: true,
|
|
99
118
|
developerMessageSettings: openAIModelsNotSupportingDeveloperMessages.includes(modelId) ? 'user' : 'developer',
|
|
100
119
|
enableStreaming: !openAIModelsWithDisabledStreaming.includes(modelId),
|
|
101
|
-
supportsStructuredOutput: !openAIModelsWithoutStructuredOutput.includes(modelId)
|
|
120
|
+
supportsStructuredOutput: !openAIModelsWithoutStructuredOutput.includes(modelId),
|
|
121
|
+
maxRetries: maxRetries
|
|
102
122
|
};
|
|
103
123
|
}
|
|
104
124
|
|
|
105
125
|
protected createCustomModelDescriptionsFromPreferences(
|
|
106
126
|
preferences: Partial<OpenAiModelDescription>[]
|
|
107
127
|
): OpenAiModelDescription[] {
|
|
128
|
+
const maxRetries = this.aiCorePreferences.get(PREFERENCE_NAME_MAX_RETRIES) ?? 3;
|
|
108
129
|
return preferences.reduce((acc, pref) => {
|
|
109
130
|
if (!pref.model || !pref.url || typeof pref.model !== 'string' || typeof pref.url !== 'string') {
|
|
110
131
|
return acc;
|
|
@@ -120,7 +141,8 @@ export class OpenAiFrontendApplicationContribution implements FrontendApplicatio
|
|
|
120
141
|
apiVersion: typeof pref.apiVersion === 'string' || pref.apiVersion === true ? pref.apiVersion : undefined,
|
|
121
142
|
developerMessageSettings: pref.developerMessageSettings ?? 'developer',
|
|
122
143
|
supportsStructuredOutput: pref.supportsStructuredOutput ?? true,
|
|
123
|
-
enableStreaming: pref.enableStreaming ?? true
|
|
144
|
+
enableStreaming: pref.enableStreaming ?? true,
|
|
145
|
+
maxRetries: pref.maxRetries ?? maxRetries
|
|
124
146
|
}
|
|
125
147
|
];
|
|
126
148
|
}, []);
|
|
@@ -54,6 +54,10 @@ export interface OpenAiModelDescription {
|
|
|
54
54
|
* Flag to configure whether the OpenAPI model supports structured output. Default is `true`.
|
|
55
55
|
*/
|
|
56
56
|
supportsStructuredOutput: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Maximum number of retry attempts when a request fails. Default is 3.
|
|
59
|
+
*/
|
|
60
|
+
maxRetries: number;
|
|
57
61
|
}
|
|
58
62
|
export interface OpenAiLanguageModelsManager {
|
|
59
63
|
apiKey: string | undefined;
|
|
@@ -23,7 +23,8 @@ import {
|
|
|
23
23
|
LanguageModelTextResponse,
|
|
24
24
|
TextMessage,
|
|
25
25
|
TokenUsageService,
|
|
26
|
-
UserRequest
|
|
26
|
+
UserRequest,
|
|
27
|
+
ImageContent
|
|
27
28
|
} from '@theia/ai-core';
|
|
28
29
|
import { CancellationToken } from '@theia/core';
|
|
29
30
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -80,6 +81,7 @@ export class OpenAiModel implements LanguageModel {
|
|
|
80
81
|
* @param apiVersion a function that returns the OpenAPI version to use for this model, called on each request
|
|
81
82
|
* @param developerMessageSettings how to handle system messages
|
|
82
83
|
* @param url the OpenAI API compatible endpoint where the model is hosted. If not provided the default OpenAI endpoint will be used.
|
|
84
|
+
* @param maxRetries the maximum number of retry attempts when a request fails
|
|
83
85
|
*/
|
|
84
86
|
constructor(
|
|
85
87
|
public readonly id: string,
|
|
@@ -91,6 +93,7 @@ export class OpenAiModel implements LanguageModel {
|
|
|
91
93
|
public url: string | undefined,
|
|
92
94
|
public openAiModelUtils: OpenAiModelUtils,
|
|
93
95
|
public developerMessageSettings: DeveloperMessageSettings = 'developer',
|
|
96
|
+
public maxRetries: number = 3,
|
|
94
97
|
protected readonly tokenUsageService?: TokenUsageService
|
|
95
98
|
) { }
|
|
96
99
|
|
|
@@ -129,7 +132,7 @@ export class OpenAiModel implements LanguageModel {
|
|
|
129
132
|
tool_choice: 'auto',
|
|
130
133
|
...settings
|
|
131
134
|
}, {
|
|
132
|
-
...this.runnerOptions,
|
|
135
|
+
...this.runnerOptions, maxRetries: this.maxRetries
|
|
133
136
|
});
|
|
134
137
|
} else {
|
|
135
138
|
runner = openai.chat.completions.stream({
|
|
@@ -319,6 +322,20 @@ export class OpenAiModelUtils {
|
|
|
319
322
|
content: ''
|
|
320
323
|
};
|
|
321
324
|
}
|
|
325
|
+
if (LanguageModelMessage.isImageMessage(message) && message.actor === 'user') {
|
|
326
|
+
return {
|
|
327
|
+
role: 'user',
|
|
328
|
+
content: [{
|
|
329
|
+
type: 'image_url',
|
|
330
|
+
image_url: {
|
|
331
|
+
url:
|
|
332
|
+
ImageContent.isBase64(message.image) ?
|
|
333
|
+
`data:${message.image.mimeType};base64,${message.image.base64data}` :
|
|
334
|
+
message.image.url
|
|
335
|
+
}
|
|
336
|
+
}]
|
|
337
|
+
};
|
|
338
|
+
}
|
|
322
339
|
throw new Error(`Unknown message type:'${JSON.stringify(message)}'`);
|
|
323
340
|
}
|
|
324
341
|
|
|
@@ -78,6 +78,7 @@ export class OpenAiLanguageModelsManagerImpl implements OpenAiLanguageModelsMana
|
|
|
78
78
|
model.apiVersion = apiVersionProvider;
|
|
79
79
|
model.developerMessageSettings = modelDescription.developerMessageSettings || 'developer';
|
|
80
80
|
model.supportsStructuredOutput = modelDescription.supportsStructuredOutput;
|
|
81
|
+
model.maxRetries = modelDescription.maxRetries;
|
|
81
82
|
} else {
|
|
82
83
|
this.languageModelRegistry.addLanguageModels([
|
|
83
84
|
new OpenAiModel(
|
|
@@ -90,6 +91,7 @@ export class OpenAiLanguageModelsManagerImpl implements OpenAiLanguageModelsMana
|
|
|
90
91
|
modelDescription.url,
|
|
91
92
|
this.openAiModelUtils,
|
|
92
93
|
modelDescription.developerMessageSettings,
|
|
94
|
+
modelDescription.maxRetries,
|
|
93
95
|
this.tokenUsageService
|
|
94
96
|
)
|
|
95
97
|
]);
|