@celljs/ai-openai 3.7.8 → 3.9.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/esm/common/api/api-protocol.d.ts +46 -0
- package/esm/common/api/api-protocol.js +3 -0
- package/esm/common/api/api-protocol.js.map +1 -0
- package/esm/common/api/chat-request.d.ts +203 -0
- package/esm/common/api/chat-request.js +236 -0
- package/esm/common/api/chat-request.js.map +1 -0
- package/esm/common/api/chat-response.d.ts +192 -0
- package/esm/common/api/chat-response.js +191 -0
- package/esm/common/api/chat-response.js.map +1 -0
- package/esm/common/api/embeddings-request.d.ts +62 -0
- package/esm/common/api/embeddings-request.js +85 -0
- package/esm/common/api/embeddings-request.js.map +1 -0
- package/esm/common/api/embeddings-response.d.ts +26 -0
- package/esm/common/api/embeddings-response.js +44 -0
- package/esm/common/api/embeddings-response.js.map +1 -0
- package/esm/common/api/index.d.ts +9 -0
- package/esm/common/api/index.js +10 -0
- package/esm/common/api/index.js.map +1 -0
- package/esm/common/api/message.d.ts +215 -0
- package/esm/common/api/message.js +250 -0
- package/esm/common/api/message.js.map +1 -0
- package/esm/common/api/openai-api.d.ts +18 -0
- package/esm/common/api/openai-api.js +118 -0
- package/esm/common/api/openai-api.js.map +1 -0
- package/esm/common/api/openai-model.d.ts +116 -0
- package/esm/common/api/openai-model.js +118 -0
- package/esm/common/api/openai-model.js.map +1 -0
- package/esm/common/api/response-format.d.ts +59 -0
- package/esm/common/api/response-format.js +107 -0
- package/esm/common/api/response-format.js.map +1 -0
- package/esm/common/api/usage.d.ts +78 -0
- package/esm/common/api/usage.js +106 -0
- package/esm/common/api/usage.js.map +1 -0
- package/esm/common/index.d.ts +3 -0
- package/esm/common/index.js +4 -0
- package/esm/common/index.js.map +1 -0
- package/esm/common/model/index.d.ts +4 -0
- package/esm/common/model/index.js +5 -0
- package/esm/common/model/index.js.map +1 -0
- package/esm/common/model/openai-chat-model.d.ts +36 -0
- package/esm/common/model/openai-chat-model.js +363 -0
- package/esm/common/model/openai-chat-model.js.map +1 -0
- package/esm/common/model/openai-chat-options.d.ts +169 -0
- package/esm/common/model/openai-chat-options.js +274 -0
- package/esm/common/model/openai-chat-options.js.map +1 -0
- package/esm/common/model/openai-embedding-model.d.ts +14 -0
- package/esm/common/model/openai-embedding-model.js +69 -0
- package/esm/common/model/openai-embedding-model.js.map +1 -0
- package/esm/common/model/openai-embedding-options.d.ts +34 -0
- package/esm/common/model/openai-embedding-options.js +72 -0
- package/esm/common/model/openai-embedding-options.js.map +1 -0
- package/esm/common/module.d.ts +3 -0
- package/esm/common/module.js +4 -0
- package/esm/common/module.js.map +1 -0
- package/esm/common/support/index.d.ts +2 -0
- package/esm/common/support/index.js +3 -0
- package/esm/common/support/index.js.map +1 -0
- package/esm/common/support/openai-api-response-headers.d.ts +33 -0
- package/esm/common/support/openai-api-response-headers.js +42 -0
- package/esm/common/support/openai-api-response-headers.js.map +1 -0
- package/esm/common/support/openai-response-header-extractor.d.ts +11 -0
- package/esm/common/support/openai-response-header-extractor.js +129 -0
- package/esm/common/support/openai-response-header-extractor.js.map +1 -0
- package/esm/common/test/mock-openai-api.d.ts +12 -0
- package/esm/common/test/mock-openai-api.js +53 -0
- package/esm/common/test/mock-openai-api.js.map +1 -0
- package/esm/common/test/test-container.d.ts +2 -0
- package/esm/common/test/test-container.js +12 -0
- package/esm/common/test/test-container.js.map +1 -0
- package/esm/package.json +3 -0
- package/lib/common/api/chat-request.d.ts.map +1 -1
- package/lib/common/api/chat-request.js.map +1 -1
- package/lib/common/api/chat-response.js.map +1 -1
- package/lib/common/api/embeddings-request.d.ts.map +1 -1
- package/lib/common/api/embeddings-request.js.map +1 -1
- package/lib/common/api/embeddings-response.d.ts.map +1 -1
- package/lib/common/api/embeddings-response.js.map +1 -1
- package/lib/common/api/message.d.ts.map +1 -1
- package/lib/common/api/message.js.map +1 -1
- package/lib/common/api/openai-api.d.ts.map +1 -1
- package/lib/common/api/openai-api.js.map +1 -1
- package/lib/common/api/openai-api.spec.d.ts.map +1 -1
- package/lib/common/api/openai-api.spec.js +14 -13
- package/lib/common/api/openai-api.spec.js.map +1 -1
- package/lib/common/api/openai-model.js.map +1 -1
- package/lib/common/api/response-format.d.ts.map +1 -1
- package/lib/common/api/response-format.js.map +1 -1
- package/lib/common/api/usage.d.ts.map +1 -1
- package/lib/common/api/usage.js.map +1 -1
- package/lib/common/model/openai-chat-model.d.ts.map +1 -1
- package/lib/common/model/openai-chat-model.js +12 -13
- package/lib/common/model/openai-chat-model.js.map +1 -1
- package/lib/common/model/openai-chat-model.spec.d.ts.map +1 -1
- package/lib/common/model/openai-chat-model.spec.js +9 -8
- package/lib/common/model/openai-chat-model.spec.js.map +1 -1
- package/lib/common/model/openai-chat-options.d.ts.map +1 -1
- package/lib/common/model/openai-chat-options.js.map +1 -1
- package/lib/common/model/openai-embedding-model.d.ts.map +1 -1
- package/lib/common/model/openai-embedding-model.js.map +1 -1
- package/lib/common/model/openai-embedding-model.spec.d.ts.map +1 -1
- package/lib/common/model/openai-embedding-model.spec.js +9 -8
- package/lib/common/model/openai-embedding-model.spec.js.map +1 -1
- package/lib/common/model/openai-embedding-options.d.ts.map +1 -1
- package/lib/common/model/openai-embedding-options.js.map +1 -1
- package/lib/common/module.d.ts.map +1 -1
- package/lib/common/module.js.map +1 -1
- package/lib/common/support/openai-api-response-headers.js.map +1 -1
- package/lib/common/support/openai-response-header-extractor.d.ts.map +1 -1
- package/lib/common/support/openai-response-header-extractor.js +4 -2
- package/lib/common/support/openai-response-header-extractor.js.map +1 -1
- package/lib/common/test/mock-openai-api.d.ts.map +1 -1
- package/lib/common/test/mock-openai-api.js.map +1 -1
- package/lib/common/test/test-container.js +5 -2
- package/lib/common/test/test-container.js.map +1 -1
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.js +5 -2
- package/lib/package.spec.js.map +1 -1
- package/package.json +48 -13
- package/src/common/api/openai-api.spec.ts +1 -0
- package/src/common/model/openai-chat-model.spec.ts +2 -1
- package/src/common/model/openai-embedding-model.spec.ts +2 -1
- package/src/package.spec.ts +1 -0
- package/LICENSE +0 -21
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Expose, Type } from 'class-transformer';
|
|
11
|
+
export var ChatCompletionFinishReason;
|
|
12
|
+
(function (ChatCompletionFinishReason) {
|
|
13
|
+
/**
|
|
14
|
+
* The model hit a natural stop point or a provided stop sequence.
|
|
15
|
+
*/
|
|
16
|
+
ChatCompletionFinishReason["STOP"] = "stop";
|
|
17
|
+
/**
|
|
18
|
+
* The maximum number of tokens specified in the request was reached.
|
|
19
|
+
*/
|
|
20
|
+
ChatCompletionFinishReason["LENGTH"] = "length";
|
|
21
|
+
/**
|
|
22
|
+
* The content was omitted due to a flag from our content filters.
|
|
23
|
+
*/
|
|
24
|
+
ChatCompletionFinishReason["CONTENT_FILTER"] = "content_filter";
|
|
25
|
+
/**
|
|
26
|
+
* The model called a tool.
|
|
27
|
+
*/
|
|
28
|
+
ChatCompletionFinishReason["TOOL_CALLS"] = "tool_calls";
|
|
29
|
+
/**
|
|
30
|
+
* Only for compatibility with Mistral AI API
|
|
31
|
+
*/
|
|
32
|
+
ChatCompletionFinishReason["TOOL_CALL"] = "tool_call";
|
|
33
|
+
})(ChatCompletionFinishReason || (ChatCompletionFinishReason = {}));
|
|
34
|
+
/**
|
|
35
|
+
* The role of the author of this message.
|
|
36
|
+
*/
|
|
37
|
+
export var Role;
|
|
38
|
+
(function (Role) {
|
|
39
|
+
/**
|
|
40
|
+
* System message.
|
|
41
|
+
*/
|
|
42
|
+
Role["SYSTEM"] = "system";
|
|
43
|
+
/**
|
|
44
|
+
* User message.
|
|
45
|
+
*/
|
|
46
|
+
Role["USER"] = "user";
|
|
47
|
+
/**
|
|
48
|
+
* Assistant message.
|
|
49
|
+
*/
|
|
50
|
+
Role["ASSISTANT"] = "assistant";
|
|
51
|
+
/**
|
|
52
|
+
* Tool message.
|
|
53
|
+
*/
|
|
54
|
+
Role["TOOL"] = "tool";
|
|
55
|
+
})(Role || (Role = {}));
|
|
56
|
+
/**
|
|
57
|
+
* The function definition.
|
|
58
|
+
*/
|
|
59
|
+
export class ChatCompletionFunction {
|
|
60
|
+
}
|
|
61
|
+
__decorate([
|
|
62
|
+
Expose(),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], ChatCompletionFunction.prototype, "name", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
Expose(),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], ChatCompletionFunction.prototype, "arguments", void 0);
|
|
69
|
+
/**
|
|
70
|
+
* The relevant tool call.
|
|
71
|
+
*/
|
|
72
|
+
export class ToolCall {
|
|
73
|
+
}
|
|
74
|
+
__decorate([
|
|
75
|
+
Expose(),
|
|
76
|
+
__metadata("design:type", Number)
|
|
77
|
+
], ToolCall.prototype, "index", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
Expose(),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], ToolCall.prototype, "id", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
Expose(),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], ToolCall.prototype, "type", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
Type(() => ChatCompletionFunction),
|
|
88
|
+
Expose(),
|
|
89
|
+
__metadata("design:type", ChatCompletionFunction)
|
|
90
|
+
], ToolCall.prototype, "function", void 0);
|
|
91
|
+
/**
|
|
92
|
+
* Audio response from the model.
|
|
93
|
+
*/
|
|
94
|
+
export class AudioOutput {
|
|
95
|
+
static create(id, data, expiresAt, transcript) {
|
|
96
|
+
const audio = new AudioOutput();
|
|
97
|
+
audio.id = id;
|
|
98
|
+
audio.data = data;
|
|
99
|
+
audio.expiresAt = expiresAt;
|
|
100
|
+
audio.transcript = transcript;
|
|
101
|
+
return audio;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
__decorate([
|
|
105
|
+
Expose(),
|
|
106
|
+
__metadata("design:type", String)
|
|
107
|
+
], AudioOutput.prototype, "id", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
Expose(),
|
|
110
|
+
__metadata("design:type", String)
|
|
111
|
+
], AudioOutput.prototype, "data", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
Expose({ name: 'expires_at' }),
|
|
114
|
+
__metadata("design:type", Number)
|
|
115
|
+
], AudioOutput.prototype, "expiresAt", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
Expose(),
|
|
118
|
+
__metadata("design:type", String)
|
|
119
|
+
], AudioOutput.prototype, "transcript", void 0);
|
|
120
|
+
/**
|
|
121
|
+
* The format of the encoded audio data. Currently supports "wav" and "mp3".
|
|
122
|
+
*/
|
|
123
|
+
export var Format;
|
|
124
|
+
(function (Format) {
|
|
125
|
+
/**
|
|
126
|
+
* MP3 audio format.
|
|
127
|
+
*/
|
|
128
|
+
Format["MP3"] = "mp3";
|
|
129
|
+
/**
|
|
130
|
+
* WAV audio format.
|
|
131
|
+
*/
|
|
132
|
+
Format["WAV"] = "wav";
|
|
133
|
+
})(Format || (Format = {}));
|
|
134
|
+
/**
|
|
135
|
+
* Audio input data.
|
|
136
|
+
*/
|
|
137
|
+
export class InputAudio {
|
|
138
|
+
}
|
|
139
|
+
__decorate([
|
|
140
|
+
Expose(),
|
|
141
|
+
__metadata("design:type", String)
|
|
142
|
+
], InputAudio.prototype, "data", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
Expose(),
|
|
145
|
+
__metadata("design:type", String)
|
|
146
|
+
], InputAudio.prototype, "format", void 0);
|
|
147
|
+
/**
|
|
148
|
+
* Image content.
|
|
149
|
+
*/
|
|
150
|
+
export class ImageUrl {
|
|
151
|
+
}
|
|
152
|
+
__decorate([
|
|
153
|
+
Expose(),
|
|
154
|
+
__metadata("design:type", String)
|
|
155
|
+
], ImageUrl.prototype, "url", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
Expose(),
|
|
158
|
+
__metadata("design:type", String)
|
|
159
|
+
], ImageUrl.prototype, "detail", void 0);
|
|
160
|
+
/**
|
|
161
|
+
* An array of content parts with a defined type. Each MediaContent can be of
|
|
162
|
+
* either "text", "image_url", or "input_audio" type. Only one option allowed.
|
|
163
|
+
*/
|
|
164
|
+
export class MediaContent {
|
|
165
|
+
static createText(text) {
|
|
166
|
+
const content = new MediaContent();
|
|
167
|
+
content.type = 'text';
|
|
168
|
+
content.text = text;
|
|
169
|
+
return content;
|
|
170
|
+
}
|
|
171
|
+
static createImageUrl(url, detail) {
|
|
172
|
+
const content = new MediaContent();
|
|
173
|
+
content.type = 'image_url';
|
|
174
|
+
content.imageUrl = new ImageUrl();
|
|
175
|
+
content.imageUrl.url = url;
|
|
176
|
+
content.imageUrl.detail = detail;
|
|
177
|
+
return content;
|
|
178
|
+
}
|
|
179
|
+
static createInputAudio(data, format) {
|
|
180
|
+
const content = new MediaContent();
|
|
181
|
+
content.type = 'input_audio';
|
|
182
|
+
content.inputAudio = new InputAudio();
|
|
183
|
+
content.inputAudio.data = data;
|
|
184
|
+
content.inputAudio.format = format;
|
|
185
|
+
return content;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
__decorate([
|
|
189
|
+
Expose(),
|
|
190
|
+
__metadata("design:type", String)
|
|
191
|
+
], MediaContent.prototype, "type", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
Expose(),
|
|
194
|
+
__metadata("design:type", String)
|
|
195
|
+
], MediaContent.prototype, "text", void 0);
|
|
196
|
+
__decorate([
|
|
197
|
+
Expose({ name: 'image_url' }),
|
|
198
|
+
Type(() => ImageUrl),
|
|
199
|
+
__metadata("design:type", ImageUrl)
|
|
200
|
+
], MediaContent.prototype, "imageUrl", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
Expose({ name: 'input_audio' }),
|
|
203
|
+
Type(() => InputAudio),
|
|
204
|
+
__metadata("design:type", InputAudio)
|
|
205
|
+
], MediaContent.prototype, "inputAudio", void 0);
|
|
206
|
+
export class ChatCompletionMessage {
|
|
207
|
+
/**
|
|
208
|
+
* 创建一个新的聊天消息实例。
|
|
209
|
+
*
|
|
210
|
+
* @param text - 消息内容。
|
|
211
|
+
* @param role - 消息角色,表示发送者的身份。
|
|
212
|
+
* @returns 返回一个包含指定内容和角色的 ChatCompletionMessage 实例。
|
|
213
|
+
*/
|
|
214
|
+
static create(text, role) {
|
|
215
|
+
const message = new ChatCompletionMessage();
|
|
216
|
+
message.content = text;
|
|
217
|
+
message.role = role;
|
|
218
|
+
return message;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
__decorate([
|
|
222
|
+
Expose({ name: 'content' }),
|
|
223
|
+
__metadata("design:type", Object)
|
|
224
|
+
], ChatCompletionMessage.prototype, "content", void 0);
|
|
225
|
+
__decorate([
|
|
226
|
+
Expose(),
|
|
227
|
+
__metadata("design:type", String)
|
|
228
|
+
], ChatCompletionMessage.prototype, "role", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
Expose(),
|
|
231
|
+
__metadata("design:type", String)
|
|
232
|
+
], ChatCompletionMessage.prototype, "name", void 0);
|
|
233
|
+
__decorate([
|
|
234
|
+
Expose({ name: 'tool_call_id' }),
|
|
235
|
+
__metadata("design:type", String)
|
|
236
|
+
], ChatCompletionMessage.prototype, "toolCallId", void 0);
|
|
237
|
+
__decorate([
|
|
238
|
+
Expose({ name: 'tool_calls' }),
|
|
239
|
+
__metadata("design:type", Array)
|
|
240
|
+
], ChatCompletionMessage.prototype, "toolCalls", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
Expose(),
|
|
243
|
+
__metadata("design:type", String)
|
|
244
|
+
], ChatCompletionMessage.prototype, "refusal", void 0);
|
|
245
|
+
__decorate([
|
|
246
|
+
Expose({ name: 'audio' }),
|
|
247
|
+
Type(() => AudioOutput),
|
|
248
|
+
__metadata("design:type", AudioOutput)
|
|
249
|
+
], ChatCompletionMessage.prototype, "audioOutput", void 0);
|
|
250
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/common/api/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ResponseEntity, RestOperations } from '@celljs/http';
|
|
3
|
+
import { ChatCompletionRequest } from './chat-request.js';
|
|
4
|
+
import { EmbeddingRequest } from './embeddings-request.js';
|
|
5
|
+
import { EmbeddingResponse } from './embeddings-response.js';
|
|
6
|
+
import { ChatCompletion, ChatCompletionChunk } from './chat-response.js';
|
|
7
|
+
import { OpenAIAPI, OpenAIAPIOptions } from './api-protocol.js';
|
|
8
|
+
export declare class OpenAIAPIImpl implements OpenAIAPI {
|
|
9
|
+
protected readonly restOperations: RestOperations;
|
|
10
|
+
protected readonly apiOptions: OpenAIAPIOptions;
|
|
11
|
+
protected readonly apiOptions2: OpenAIAPIOptions;
|
|
12
|
+
protected finalApiOptions: Required<OpenAIAPIOptions>;
|
|
13
|
+
protected readonly finalHeaders: Record<string, string>;
|
|
14
|
+
protected init(): void;
|
|
15
|
+
chat(chatRequest: ChatCompletionRequest, additionalHttpHeader?: Record<string, string>): Promise<ResponseEntity<ChatCompletion>>;
|
|
16
|
+
streamingChat(chatRequest: ChatCompletionRequest, additionalHttpHeader?: Record<string, string>): Promise<Observable<ResponseEntity<ChatCompletionChunk>>>;
|
|
17
|
+
embed<T>(embeddingRequest: EmbeddingRequest<T>): Promise<ResponseEntity<EmbeddingResponse>>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Assert, Autowired, Component, Optional, PostConstruct, Value } from '@celljs/core';
|
|
11
|
+
import { map } from 'rxjs/operators/index.js';
|
|
12
|
+
import { HttpHeaders, MediaType, RestOperations } from '@celljs/http';
|
|
13
|
+
import { EmbeddingResponse } from './embeddings-response.js';
|
|
14
|
+
import { ChatCompletion, ChatCompletionChunk } from './chat-response.js';
|
|
15
|
+
import { OpenAIAPI, OpenAIAPIOptions } from './api-protocol.js';
|
|
16
|
+
import { instanceToPlain, plainToInstance } from 'class-transformer';
|
|
17
|
+
import { SSEUtil } from '@celljs/ai-core';
|
|
18
|
+
let OpenAIAPIImpl = class OpenAIAPIImpl {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.finalHeaders = {};
|
|
21
|
+
}
|
|
22
|
+
init() {
|
|
23
|
+
this.finalApiOptions = {
|
|
24
|
+
baseUrl: 'https://api.openai.com',
|
|
25
|
+
apiKey: '',
|
|
26
|
+
completionsPath: '/v1/chat/completions',
|
|
27
|
+
embeddingsPath: '/v1/embeddings',
|
|
28
|
+
...this.apiOptions,
|
|
29
|
+
...this.apiOptions2
|
|
30
|
+
};
|
|
31
|
+
this.finalHeaders[HttpHeaders.CONTENT_TYPE] = MediaType.APPLICATION_JSON;
|
|
32
|
+
if (this.finalApiOptions.apiKey) {
|
|
33
|
+
this.finalHeaders[HttpHeaders.AUTHORIZATION] = `Bearer ${this.finalApiOptions.apiKey}`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async chat(chatRequest, additionalHttpHeader) {
|
|
37
|
+
Assert.isTrue(!chatRequest.stream, 'Request must set the stream property to false.');
|
|
38
|
+
const { data, status, headers } = await this.restOperations
|
|
39
|
+
.post(this.finalApiOptions.completionsPath, instanceToPlain(chatRequest, { excludeExtraneousValues: true }), {
|
|
40
|
+
baseURL: this.finalApiOptions.baseUrl,
|
|
41
|
+
headers: {
|
|
42
|
+
...this.finalHeaders,
|
|
43
|
+
...additionalHttpHeader
|
|
44
|
+
},
|
|
45
|
+
signal: chatRequest.signal,
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
status,
|
|
49
|
+
headers,
|
|
50
|
+
body: plainToInstance(ChatCompletion, data)
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async streamingChat(chatRequest, additionalHttpHeader) {
|
|
54
|
+
Assert.isTrue(!!chatRequest.stream, 'Request must set the stream property to true.');
|
|
55
|
+
const { data, status, headers } = await this.restOperations
|
|
56
|
+
.post(this.finalApiOptions.completionsPath, instanceToPlain(chatRequest, { excludeExtraneousValues: true }), {
|
|
57
|
+
baseURL: this.finalApiOptions.baseUrl,
|
|
58
|
+
headers: {
|
|
59
|
+
...this.finalHeaders,
|
|
60
|
+
[HttpHeaders.ACCEPT]: MediaType.TEXT_EVENT_STREAM,
|
|
61
|
+
...additionalHttpHeader
|
|
62
|
+
},
|
|
63
|
+
signal: chatRequest.signal,
|
|
64
|
+
responseType: 'stream'
|
|
65
|
+
});
|
|
66
|
+
return SSEUtil.toObservable(data).pipe(map(item => ({
|
|
67
|
+
status,
|
|
68
|
+
headers,
|
|
69
|
+
body: plainToInstance(ChatCompletionChunk, item.data)
|
|
70
|
+
})));
|
|
71
|
+
}
|
|
72
|
+
async embed(embeddingRequest) {
|
|
73
|
+
// Input text to embed, encoded as a string or array of tokens. To embed multiple
|
|
74
|
+
// inputs in a single
|
|
75
|
+
// request, pass an array of strings or array of token arrays.
|
|
76
|
+
Assert.notNull(embeddingRequest.input, 'The input can not be null.');
|
|
77
|
+
Assert.isTrue(typeof embeddingRequest.input === 'string' || Array.isArray(embeddingRequest.input), 'The input must be either a String, or a List of Strings or List of List of integers.');
|
|
78
|
+
// The input must not exceed the max input tokens for the model (8192 tokens for
|
|
79
|
+
// text-embedding-ada-002), cannot
|
|
80
|
+
// be an empty string, and any array must be 2048 dimensions or less.
|
|
81
|
+
if (Array.isArray(embeddingRequest.input)) {
|
|
82
|
+
Assert.isTrue(embeddingRequest.input.length > 0, 'The input list can not be empty.');
|
|
83
|
+
Assert.isTrue(embeddingRequest.input.length <= 2048, 'The list must be 2048 dimensions or less');
|
|
84
|
+
Assert.isTrue(typeof embeddingRequest.input[0] === 'string' || typeof embeddingRequest.input[0] === 'number' || Array.isArray(embeddingRequest.input[0]), 'The input must be either a String, or a List of Strings or list of list of integers.');
|
|
85
|
+
}
|
|
86
|
+
const { data, status, headers } = await this.restOperations
|
|
87
|
+
.post(this.finalApiOptions.embeddingsPath, instanceToPlain(embeddingRequest, { excludeExtraneousValues: true }), { baseURL: this.finalApiOptions.baseUrl, signal: embeddingRequest.signal });
|
|
88
|
+
return {
|
|
89
|
+
status,
|
|
90
|
+
headers,
|
|
91
|
+
body: plainToInstance(EmbeddingResponse, data)
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
__decorate([
|
|
96
|
+
Autowired(RestOperations),
|
|
97
|
+
__metadata("design:type", Function)
|
|
98
|
+
], OpenAIAPIImpl.prototype, "restOperations", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
Value('cell.ai.openai.api'),
|
|
101
|
+
__metadata("design:type", Object)
|
|
102
|
+
], OpenAIAPIImpl.prototype, "apiOptions", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
Autowired(OpenAIAPIOptions),
|
|
105
|
+
Optional(),
|
|
106
|
+
__metadata("design:type", Object)
|
|
107
|
+
], OpenAIAPIImpl.prototype, "apiOptions2", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
PostConstruct(),
|
|
110
|
+
__metadata("design:type", Function),
|
|
111
|
+
__metadata("design:paramtypes", []),
|
|
112
|
+
__metadata("design:returntype", void 0)
|
|
113
|
+
], OpenAIAPIImpl.prototype, "init", null);
|
|
114
|
+
OpenAIAPIImpl = __decorate([
|
|
115
|
+
Component(OpenAIAPI)
|
|
116
|
+
], OpenAIAPIImpl);
|
|
117
|
+
export { OpenAIAPIImpl };
|
|
118
|
+
//# sourceMappingURL=openai-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-api.js","sourceRoot":"","sources":["../../../src/common/api/openai-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Chat Completion Models:
|
|
3
|
+
*
|
|
4
|
+
* - [GPT-4o](https://platform.openai.com/docs/models/gpt-4o)
|
|
5
|
+
* - [GPT-4o mini](https://platform.openai.com/docs/models/gpt-4o-mini)
|
|
6
|
+
* - [GPT-4 and GPT-4 Turbo](https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo)
|
|
7
|
+
* - [GPT-3.5 Turbo](https://platform.openai.com/docs/models/gpt-3-5-turbo)
|
|
8
|
+
* - [DALL·E](https://platform.openai.com/docs/models/dall-e)
|
|
9
|
+
*/
|
|
10
|
+
export declare enum OpenAIModel {
|
|
11
|
+
/**
|
|
12
|
+
* Points to the most recent snapshot of the o1 model: o1-preview-2024-09-12
|
|
13
|
+
*/
|
|
14
|
+
O1_PREVIEW = "o1-preview",
|
|
15
|
+
/**
|
|
16
|
+
* Latest o1 model snapshot
|
|
17
|
+
*/
|
|
18
|
+
O1_PREVIEW_2024_09_12 = "o1-preview-2024-09-12",
|
|
19
|
+
/**
|
|
20
|
+
* Points to the most recent o1-mini snapshot: o1-mini-2024-09-12
|
|
21
|
+
*/
|
|
22
|
+
O1_MINI = "o1-mini",
|
|
23
|
+
/**
|
|
24
|
+
* Latest o1-mini model snapshot
|
|
25
|
+
*/
|
|
26
|
+
O1_MINI_2024_09_12 = "o1-mini-2024-09-12",
|
|
27
|
+
/**
|
|
28
|
+
* Multimodal flagship model that’s cheaper and faster than GPT-4 Turbo. Currently
|
|
29
|
+
* points to gpt-4o-2024-05-13.
|
|
30
|
+
*/
|
|
31
|
+
GPT_4_O = "gpt-4o",
|
|
32
|
+
/**
|
|
33
|
+
* Preview release for audio inputs in chat completions.
|
|
34
|
+
*/
|
|
35
|
+
GPT_4_O_AUDIO_PREVIEW = "gpt-4o-audio-preview",
|
|
36
|
+
/**
|
|
37
|
+
* Affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini
|
|
38
|
+
* is cheaper and more capable than GPT-3.5 Turbo. Currently points to
|
|
39
|
+
* gpt-4o-mini-2024-07-18.
|
|
40
|
+
*/
|
|
41
|
+
GPT_4_O_MINI = "gpt-4o-mini",
|
|
42
|
+
/**
|
|
43
|
+
* GPT-4 Turbo with Vision The latest GPT-4 Turbo model with vision capabilities.
|
|
44
|
+
* Vision requests can now use JSON mode and function calling. Currently points to
|
|
45
|
+
* gpt-4-turbo-2024-04-09.
|
|
46
|
+
*/
|
|
47
|
+
GPT_4_TURBO = "gpt-4-turbo",
|
|
48
|
+
/**
|
|
49
|
+
* GPT-4 Turbo with Vision model. Vision requests can now use JSON mode and
|
|
50
|
+
* function calling.
|
|
51
|
+
*/
|
|
52
|
+
GPT_4_TURBO_2024_04_09 = "gpt-4-turbo-2024-04-09",
|
|
53
|
+
/**
|
|
54
|
+
* (New) GPT-4 Turbo - latest GPT-4 model intended to reduce cases of “laziness”
|
|
55
|
+
* where the model doesn’t complete a task. Returns a maximum of 4,096 output
|
|
56
|
+
* tokens. Context window: 128k tokens
|
|
57
|
+
* Currently points to gpt-4-0125-preview
|
|
58
|
+
*/
|
|
59
|
+
GPT_4_0125_PREVIEW = "gpt-4-0125-preview",
|
|
60
|
+
/**
|
|
61
|
+
* Currently points to gpt-4-0125-preview - model featuring improved instruction
|
|
62
|
+
* following, JSON mode, reproducible outputs, parallel function calling, and
|
|
63
|
+
* more. Returns a maximum of 4,096 output tokens Context window: 128k tokens
|
|
64
|
+
*/
|
|
65
|
+
GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview",
|
|
66
|
+
/**
|
|
67
|
+
* Currently points to gpt-4-0613. Snapshot of gpt-4 from June 13th 2023 with
|
|
68
|
+
* improved function calling support. Context window: 8k tokens
|
|
69
|
+
* Returns a maximum of 4,096 output tokens Context window: 8k tokens
|
|
70
|
+
*/
|
|
71
|
+
GPT_4 = "gpt-4",
|
|
72
|
+
/**
|
|
73
|
+
* Currently points to gpt-3.5-turbo-0125. model with higher accuracy at
|
|
74
|
+
* responding in requested formats and a fix for a bug which caused a text
|
|
75
|
+
* encoding issue for non-English language function calls. Returns a maximum of
|
|
76
|
+
* 4,096 Context window: 16k tokens
|
|
77
|
+
*/
|
|
78
|
+
GPT_3_5_TURBO = "gpt-3.5-turbo",
|
|
79
|
+
/**
|
|
80
|
+
* Currently points to gpt-3.5-turbo-0125. model with higher accuracy at
|
|
81
|
+
* responding in requested formats and a fix for a bug which caused a text
|
|
82
|
+
* encoding issue for non-English language function calls. Returns a maximum of
|
|
83
|
+
* 4,096 Context window: 16k tokens
|
|
84
|
+
*/
|
|
85
|
+
GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
|
|
86
|
+
/**
|
|
87
|
+
* GPT-3.5 Turbo model with improved instruction following, JSON mode,
|
|
88
|
+
* reproducible outputs, parallel function calling, and more. Returns a maximum of
|
|
89
|
+
* 4,096 output tokens. Context window: 16k tokens.
|
|
90
|
+
*/
|
|
91
|
+
GPT_3_5_TURBO_1106 = "gpt-3.5-turbo-1106",
|
|
92
|
+
/**
|
|
93
|
+
* Most capable embedding model for both English and non-English tasks. DIMENSION:
|
|
94
|
+
* 3072
|
|
95
|
+
*/
|
|
96
|
+
TEXT_EMBEDDING_3_LARGE = "text-embedding-3-large",
|
|
97
|
+
/**
|
|
98
|
+
* Increased performance over 2nd generation ada embedding model. DIMENSION: 1536
|
|
99
|
+
*/
|
|
100
|
+
TEXT_EMBEDDING_3_SMALL = "text-embedding-3-small",
|
|
101
|
+
/**
|
|
102
|
+
* Most capable 2nd generation embedding model, replacing 16 first generation
|
|
103
|
+
* models. DIMENSION: 1536
|
|
104
|
+
*/
|
|
105
|
+
TEXT_EMBEDDING_ADA_002 = "text-embedding-ada-002",
|
|
106
|
+
/**
|
|
107
|
+
* The latest DALL·E model released in Nov 2023.
|
|
108
|
+
*/
|
|
109
|
+
DALL_E_3 = "dall-e-3",
|
|
110
|
+
/**
|
|
111
|
+
* The previous DALL·E model released in Nov 2022. The 2nd iteration of DALL·E
|
|
112
|
+
* with more realistic, accurate, and 4x greater resolution images than the
|
|
113
|
+
* original model.
|
|
114
|
+
*/
|
|
115
|
+
DALL_E_2 = "dall-e-2"
|
|
116
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Chat Completion Models:
|
|
3
|
+
*
|
|
4
|
+
* - [GPT-4o](https://platform.openai.com/docs/models/gpt-4o)
|
|
5
|
+
* - [GPT-4o mini](https://platform.openai.com/docs/models/gpt-4o-mini)
|
|
6
|
+
* - [GPT-4 and GPT-4 Turbo](https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo)
|
|
7
|
+
* - [GPT-3.5 Turbo](https://platform.openai.com/docs/models/gpt-3-5-turbo)
|
|
8
|
+
* - [DALL·E](https://platform.openai.com/docs/models/dall-e)
|
|
9
|
+
*/
|
|
10
|
+
export var OpenAIModel;
|
|
11
|
+
(function (OpenAIModel) {
|
|
12
|
+
/**
|
|
13
|
+
* Points to the most recent snapshot of the o1 model: o1-preview-2024-09-12
|
|
14
|
+
*/
|
|
15
|
+
OpenAIModel["O1_PREVIEW"] = "o1-preview";
|
|
16
|
+
/**
|
|
17
|
+
* Latest o1 model snapshot
|
|
18
|
+
*/
|
|
19
|
+
OpenAIModel["O1_PREVIEW_2024_09_12"] = "o1-preview-2024-09-12";
|
|
20
|
+
/**
|
|
21
|
+
* Points to the most recent o1-mini snapshot: o1-mini-2024-09-12
|
|
22
|
+
*/
|
|
23
|
+
OpenAIModel["O1_MINI"] = "o1-mini";
|
|
24
|
+
/**
|
|
25
|
+
* Latest o1-mini model snapshot
|
|
26
|
+
*/
|
|
27
|
+
OpenAIModel["O1_MINI_2024_09_12"] = "o1-mini-2024-09-12";
|
|
28
|
+
/**
|
|
29
|
+
* Multimodal flagship model that’s cheaper and faster than GPT-4 Turbo. Currently
|
|
30
|
+
* points to gpt-4o-2024-05-13.
|
|
31
|
+
*/
|
|
32
|
+
OpenAIModel["GPT_4_O"] = "gpt-4o";
|
|
33
|
+
/**
|
|
34
|
+
* Preview release for audio inputs in chat completions.
|
|
35
|
+
*/
|
|
36
|
+
OpenAIModel["GPT_4_O_AUDIO_PREVIEW"] = "gpt-4o-audio-preview";
|
|
37
|
+
/**
|
|
38
|
+
* Affordable and intelligent small model for fast, lightweight tasks. GPT-4o mini
|
|
39
|
+
* is cheaper and more capable than GPT-3.5 Turbo. Currently points to
|
|
40
|
+
* gpt-4o-mini-2024-07-18.
|
|
41
|
+
*/
|
|
42
|
+
OpenAIModel["GPT_4_O_MINI"] = "gpt-4o-mini";
|
|
43
|
+
/**
|
|
44
|
+
* GPT-4 Turbo with Vision The latest GPT-4 Turbo model with vision capabilities.
|
|
45
|
+
* Vision requests can now use JSON mode and function calling. Currently points to
|
|
46
|
+
* gpt-4-turbo-2024-04-09.
|
|
47
|
+
*/
|
|
48
|
+
OpenAIModel["GPT_4_TURBO"] = "gpt-4-turbo";
|
|
49
|
+
/**
|
|
50
|
+
* GPT-4 Turbo with Vision model. Vision requests can now use JSON mode and
|
|
51
|
+
* function calling.
|
|
52
|
+
*/
|
|
53
|
+
OpenAIModel["GPT_4_TURBO_2024_04_09"] = "gpt-4-turbo-2024-04-09";
|
|
54
|
+
/**
|
|
55
|
+
* (New) GPT-4 Turbo - latest GPT-4 model intended to reduce cases of “laziness”
|
|
56
|
+
* where the model doesn’t complete a task. Returns a maximum of 4,096 output
|
|
57
|
+
* tokens. Context window: 128k tokens
|
|
58
|
+
* Currently points to gpt-4-0125-preview
|
|
59
|
+
*/
|
|
60
|
+
OpenAIModel["GPT_4_0125_PREVIEW"] = "gpt-4-0125-preview";
|
|
61
|
+
/**
|
|
62
|
+
* Currently points to gpt-4-0125-preview - model featuring improved instruction
|
|
63
|
+
* following, JSON mode, reproducible outputs, parallel function calling, and
|
|
64
|
+
* more. Returns a maximum of 4,096 output tokens Context window: 128k tokens
|
|
65
|
+
*/
|
|
66
|
+
OpenAIModel["GPT_4_TURBO_PREVIEW"] = "gpt-4-turbo-preview";
|
|
67
|
+
/**
|
|
68
|
+
* Currently points to gpt-4-0613. Snapshot of gpt-4 from June 13th 2023 with
|
|
69
|
+
* improved function calling support. Context window: 8k tokens
|
|
70
|
+
* Returns a maximum of 4,096 output tokens Context window: 8k tokens
|
|
71
|
+
*/
|
|
72
|
+
OpenAIModel["GPT_4"] = "gpt-4";
|
|
73
|
+
/**
|
|
74
|
+
* Currently points to gpt-3.5-turbo-0125. model with higher accuracy at
|
|
75
|
+
* responding in requested formats and a fix for a bug which caused a text
|
|
76
|
+
* encoding issue for non-English language function calls. Returns a maximum of
|
|
77
|
+
* 4,096 Context window: 16k tokens
|
|
78
|
+
*/
|
|
79
|
+
OpenAIModel["GPT_3_5_TURBO"] = "gpt-3.5-turbo";
|
|
80
|
+
/**
|
|
81
|
+
* Currently points to gpt-3.5-turbo-0125. model with higher accuracy at
|
|
82
|
+
* responding in requested formats and a fix for a bug which caused a text
|
|
83
|
+
* encoding issue for non-English language function calls. Returns a maximum of
|
|
84
|
+
* 4,096 Context window: 16k tokens
|
|
85
|
+
*/
|
|
86
|
+
OpenAIModel["GPT_3_5_TURBO_0125"] = "gpt-3.5-turbo-0125";
|
|
87
|
+
/**
|
|
88
|
+
* GPT-3.5 Turbo model with improved instruction following, JSON mode,
|
|
89
|
+
* reproducible outputs, parallel function calling, and more. Returns a maximum of
|
|
90
|
+
* 4,096 output tokens. Context window: 16k tokens.
|
|
91
|
+
*/
|
|
92
|
+
OpenAIModel["GPT_3_5_TURBO_1106"] = "gpt-3.5-turbo-1106";
|
|
93
|
+
/**
|
|
94
|
+
* Most capable embedding model for both English and non-English tasks. DIMENSION:
|
|
95
|
+
* 3072
|
|
96
|
+
*/
|
|
97
|
+
OpenAIModel["TEXT_EMBEDDING_3_LARGE"] = "text-embedding-3-large";
|
|
98
|
+
/**
|
|
99
|
+
* Increased performance over 2nd generation ada embedding model. DIMENSION: 1536
|
|
100
|
+
*/
|
|
101
|
+
OpenAIModel["TEXT_EMBEDDING_3_SMALL"] = "text-embedding-3-small";
|
|
102
|
+
/**
|
|
103
|
+
* Most capable 2nd generation embedding model, replacing 16 first generation
|
|
104
|
+
* models. DIMENSION: 1536
|
|
105
|
+
*/
|
|
106
|
+
OpenAIModel["TEXT_EMBEDDING_ADA_002"] = "text-embedding-ada-002";
|
|
107
|
+
/**
|
|
108
|
+
* The latest DALL·E model released in Nov 2023.
|
|
109
|
+
*/
|
|
110
|
+
OpenAIModel["DALL_E_3"] = "dall-e-3";
|
|
111
|
+
/**
|
|
112
|
+
* The previous DALL·E model released in Nov 2022. The 2nd iteration of DALL·E
|
|
113
|
+
* with more realistic, accurate, and 4x greater resolution images than the
|
|
114
|
+
* original model.
|
|
115
|
+
*/
|
|
116
|
+
OpenAIModel["DALL_E_2"] = "dall-e-2";
|
|
117
|
+
})(OpenAIModel || (OpenAIModel = {}));
|
|
118
|
+
//# sourceMappingURL=openai-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-model.js","sourceRoot":"","sources":["../../../src/common/api/openai-model.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,WA8HX;AA9HD,WAAY,WAAW;IAEnB;;OAEG;IACH,wCAAyB,CAAA;IAEzB;;OAEG;IACH,8DAA+C,CAAA;IAE/C;;OAEG;IACH,kCAAmB,CAAA;IAEnB;;OAEG;IACH,wDAAyC,CAAA;IAEzC;;;OAGG;IACH,iCAAkB,CAAA;IAElB;;OAEG;IACH,6DAA8C,CAAA;IAE9C;;;;OAIG;IACH,2CAA4B,CAAA;IAE5B;;;;OAIG;IACH,0CAA2B,CAAA;IAE3B;;;OAGG;IACH,gEAAiD,CAAA;IAEjD;;;;;OAKG;IACH,wDAAyC,CAAA;IAEzC;;;;OAIG;IACH,0DAA2C,CAAA;IAE3C;;;;OAIG;IACH,8BAAe,CAAA;IAEf;;;;;OAKG;IACH,8CAA+B,CAAA;IAE/B;;;;;OAKG;IACH,wDAAyC,CAAA;IAEzC;;;;OAIG;IACH,wDAAyC,CAAA;IAEzC;;;OAGG;IACH,gEAAiD,CAAA;IAEjD;;OAEG;IACH,gEAAiD,CAAA;IAEjD;;;OAGG;IACH,gEAAiD,CAAA;IAEjD;;OAEG;IACH,oCAAqB,CAAA;IAErB;;;;OAIG;IACH,oCAAqB,CAAA;AACzB,CAAC,EA9HW,WAAW,KAAX,WAAW,QA8HtB"}
|