@celljs/ai-openai 3.8.0 → 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.
Files changed (71) hide show
  1. package/esm/common/api/api-protocol.d.ts +46 -0
  2. package/esm/common/api/api-protocol.js +3 -0
  3. package/esm/common/api/api-protocol.js.map +1 -0
  4. package/esm/common/api/chat-request.d.ts +203 -0
  5. package/esm/common/api/chat-request.js +236 -0
  6. package/esm/common/api/chat-request.js.map +1 -0
  7. package/esm/common/api/chat-response.d.ts +192 -0
  8. package/esm/common/api/chat-response.js +191 -0
  9. package/esm/common/api/chat-response.js.map +1 -0
  10. package/esm/common/api/embeddings-request.d.ts +62 -0
  11. package/esm/common/api/embeddings-request.js +85 -0
  12. package/esm/common/api/embeddings-request.js.map +1 -0
  13. package/esm/common/api/embeddings-response.d.ts +26 -0
  14. package/esm/common/api/embeddings-response.js +44 -0
  15. package/esm/common/api/embeddings-response.js.map +1 -0
  16. package/esm/common/api/index.d.ts +9 -0
  17. package/esm/common/api/index.js +10 -0
  18. package/esm/common/api/index.js.map +1 -0
  19. package/esm/common/api/message.d.ts +215 -0
  20. package/esm/common/api/message.js +250 -0
  21. package/esm/common/api/message.js.map +1 -0
  22. package/esm/common/api/openai-api.d.ts +18 -0
  23. package/esm/common/api/openai-api.js +118 -0
  24. package/esm/common/api/openai-api.js.map +1 -0
  25. package/esm/common/api/openai-model.d.ts +116 -0
  26. package/esm/common/api/openai-model.js +118 -0
  27. package/esm/common/api/openai-model.js.map +1 -0
  28. package/esm/common/api/response-format.d.ts +59 -0
  29. package/esm/common/api/response-format.js +107 -0
  30. package/esm/common/api/response-format.js.map +1 -0
  31. package/esm/common/api/usage.d.ts +78 -0
  32. package/esm/common/api/usage.js +106 -0
  33. package/esm/common/api/usage.js.map +1 -0
  34. package/esm/common/index.d.ts +3 -0
  35. package/esm/common/index.js +4 -0
  36. package/esm/common/index.js.map +1 -0
  37. package/esm/common/model/index.d.ts +4 -0
  38. package/esm/common/model/index.js +5 -0
  39. package/esm/common/model/index.js.map +1 -0
  40. package/esm/common/model/openai-chat-model.d.ts +36 -0
  41. package/esm/common/model/openai-chat-model.js +363 -0
  42. package/esm/common/model/openai-chat-model.js.map +1 -0
  43. package/esm/common/model/openai-chat-options.d.ts +169 -0
  44. package/esm/common/model/openai-chat-options.js +274 -0
  45. package/esm/common/model/openai-chat-options.js.map +1 -0
  46. package/esm/common/model/openai-embedding-model.d.ts +14 -0
  47. package/esm/common/model/openai-embedding-model.js +69 -0
  48. package/esm/common/model/openai-embedding-model.js.map +1 -0
  49. package/esm/common/model/openai-embedding-options.d.ts +34 -0
  50. package/esm/common/model/openai-embedding-options.js +72 -0
  51. package/esm/common/model/openai-embedding-options.js.map +1 -0
  52. package/esm/common/module.d.ts +3 -0
  53. package/esm/common/module.js +4 -0
  54. package/esm/common/module.js.map +1 -0
  55. package/esm/common/support/index.d.ts +2 -0
  56. package/esm/common/support/index.js +3 -0
  57. package/esm/common/support/index.js.map +1 -0
  58. package/esm/common/support/openai-api-response-headers.d.ts +33 -0
  59. package/esm/common/support/openai-api-response-headers.js +42 -0
  60. package/esm/common/support/openai-api-response-headers.js.map +1 -0
  61. package/esm/common/support/openai-response-header-extractor.d.ts +11 -0
  62. package/esm/common/support/openai-response-header-extractor.js +129 -0
  63. package/esm/common/support/openai-response-header-extractor.js.map +1 -0
  64. package/esm/common/test/mock-openai-api.d.ts +12 -0
  65. package/esm/common/test/mock-openai-api.js +53 -0
  66. package/esm/common/test/mock-openai-api.js.map +1 -0
  67. package/esm/common/test/test-container.d.ts +2 -0
  68. package/esm/common/test/test-container.js +12 -0
  69. package/esm/common/test/test-container.js.map +1 -0
  70. package/esm/package.json +3 -0
  71. package/package.json +46 -6
@@ -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":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAN,IAAY,0BAqBX;AArBD,WAAY,0BAA0B;IAClC;;OAEG;IACH,2CAAa,CAAA;IACb;;OAEG;IACH,+CAAiB,CAAA;IACjB;;OAEG;IACH,+DAAiC,CAAA;IACjC;;OAEG;IACH,uDAAyB,CAAA;IACzB;;OAEG;IACH,qDAAuB,CAAA;AAC3B,CAAC,EArBW,0BAA0B,KAA1B,0BAA0B,QAqBrC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,IAiBX;AAjBD,WAAY,IAAI;IACZ;;OAEG;IACH,yBAAiB,CAAA;IACjB;;OAEG;IACH,qBAAa,CAAA;IACb;;OAEG;IACH,+BAAuB,CAAA;IACvB;;OAEG;IACH,qBAAa,CAAA;AACjB,CAAC,EAjBW,IAAI,KAAJ,IAAI,QAiBf;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;CAWlC;AANG;IADC,MAAM,EAAE;;oDACI;AAKb;IADC,MAAM,EAAE;;yDACS;AAGtB;;GAEG;AACH,MAAM,OAAO,QAAQ;CAyBpB;AAnBG;IADC,MAAM,EAAE;;uCACM;AAMf;IADC,MAAM,EAAE;;oCACE;AAMX;IADC,MAAM,EAAE;;sCACI;AAMb;IAFC,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAClC,MAAM,EAAE;8BACC,sBAAsB;0CAAC;AAGrC;;GAEG;AACH,MAAM,OAAO,WAAW;IAsBpB,MAAM,CAAC,MAAM,CAAC,EAAW,EAAE,IAAa,EAAE,SAAkB,EAAE,UAAmB;QAC7E,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAzBG;IADC,MAAM,EAAE;;uCACG;AAKZ;IADC,MAAM,EAAE;;yCACK;AAKd;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACZ;AAKnB;IADC,MAAM,EAAE;;+CACW;AAYxB;;GAEG;AACH,MAAM,CAAN,IAAY,MASX;AATD,WAAY,MAAM;IACd;;OAEG;IACH,qBAAW,CAAA;IACX;;OAEG;IACH,qBAAW,CAAA;AACf,CAAC,EATW,MAAM,KAAN,MAAM,QASjB;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;CAWtB;AANG;IADC,MAAM,EAAE;;wCACI;AAKb;IADC,MAAM,EAAE;;0CACM;AAGnB;;GAEG;AACH,MAAM,OAAO,QAAQ;CAapB;AANG;IADC,MAAM,EAAE;;qCACG;AAKZ;IADC,MAAM,EAAE;;wCACO;AAGpB;;;GAGG;AACH,MAAM,OAAO,YAAY;IA0BrB,MAAM,CAAC,UAAU,CAAC,IAAY;QAC1B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,MAAe;QAC9C,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,MAAc;QAChD,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;QAC7B,OAAO,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA7CG;IADC,MAAM,EAAE;;0CACI;AAKb;IADC,MAAM,EAAE;;0CACI;AAQb;IAFC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;8BACX,QAAQ;8CAAC;AAMnB;IAFC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;8BACX,UAAU;gDAAC;AA4B3B,MAAM,OAAO,qBAAqB;IA6C9B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAS,EAAE,IAAU;QAC/B,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC5C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,OAAO,CAAC;IACnB,CAAC;CAEJ;AArDG;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;sDACf;AAMb;IADC,MAAM,EAAE;;mDACE;AAOX;IADC,MAAM,EAAE;;mDACK;AAMd;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;yDACb;AAMpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;wDACR;AAMvB;IADC,MAAM,EAAE;;sDACQ;AAMjB;IAFC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;8BACV,WAAW;0DAAC"}
@@ -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"}