@ai-sdk/openai 1.0.0-canary.0 → 1.0.0-canary.2
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/CHANGELOG.md +20 -0
- package/dist/index.d.mts +1 -65
- package/dist/index.d.ts +1 -65
- package/dist/index.js +11 -63
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @ai-sdk/openai
|
|
2
2
|
|
|
3
|
+
## 1.0.0-canary.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [dce4158]
|
|
8
|
+
- Updated dependencies [dce4158]
|
|
9
|
+
- @ai-sdk/provider-utils@2.0.0-canary.2
|
|
10
|
+
|
|
11
|
+
## 1.0.0-canary.1
|
|
12
|
+
|
|
13
|
+
### Major Changes
|
|
14
|
+
|
|
15
|
+
- 79644e9: chore (provider/openai): remove OpenAI facade
|
|
16
|
+
- 0d3d3f5: chore (providers): remove baseUrl option
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [b1da952]
|
|
21
|
+
- @ai-sdk/provider-utils@2.0.0-canary.1
|
|
22
|
+
|
|
3
23
|
## 1.0.0-canary.0
|
|
4
24
|
|
|
5
25
|
### Major Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -67,31 +67,6 @@ interface OpenAIChatSettings {
|
|
|
67
67
|
downloadImages?: boolean;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
type OpenAIChatConfig = {
|
|
71
|
-
provider: string;
|
|
72
|
-
compatibility: 'strict' | 'compatible';
|
|
73
|
-
headers: () => Record<string, string | undefined>;
|
|
74
|
-
url: (options: {
|
|
75
|
-
modelId: string;
|
|
76
|
-
path: string;
|
|
77
|
-
}) => string;
|
|
78
|
-
fetch?: FetchFunction;
|
|
79
|
-
};
|
|
80
|
-
declare class OpenAIChatLanguageModel implements LanguageModelV1 {
|
|
81
|
-
readonly specificationVersion = "v1";
|
|
82
|
-
readonly modelId: OpenAIChatModelId;
|
|
83
|
-
readonly settings: OpenAIChatSettings;
|
|
84
|
-
private readonly config;
|
|
85
|
-
constructor(modelId: OpenAIChatModelId, settings: OpenAIChatSettings, config: OpenAIChatConfig);
|
|
86
|
-
get supportsStructuredOutputs(): boolean;
|
|
87
|
-
get defaultObjectGenerationMode(): "tool" | "json";
|
|
88
|
-
get provider(): string;
|
|
89
|
-
get supportsImageUrls(): boolean;
|
|
90
|
-
private getArgs;
|
|
91
|
-
doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
|
92
|
-
doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
70
|
type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
|
|
96
71
|
interface OpenAICompletionSettings {
|
|
97
72
|
/**
|
|
@@ -218,10 +193,6 @@ interface OpenAIProviderSettings {
|
|
|
218
193
|
*/
|
|
219
194
|
baseURL?: string;
|
|
220
195
|
/**
|
|
221
|
-
@deprecated Use `baseURL` instead.
|
|
222
|
-
*/
|
|
223
|
-
baseUrl?: string;
|
|
224
|
-
/**
|
|
225
196
|
API key for authenticating requests.
|
|
226
197
|
*/
|
|
227
198
|
apiKey?: string;
|
|
@@ -262,39 +233,4 @@ Default OpenAI provider instance. It uses 'strict' compatibility mode.
|
|
|
262
233
|
*/
|
|
263
234
|
declare const openai: OpenAIProvider;
|
|
264
235
|
|
|
265
|
-
|
|
266
|
-
@deprecated Use `createOpenAI` instead.
|
|
267
|
-
*/
|
|
268
|
-
declare class OpenAI {
|
|
269
|
-
/**
|
|
270
|
-
Use a different URL prefix for API calls, e.g. to use proxy servers.
|
|
271
|
-
The default prefix is `https://api.openai.com/v1`.
|
|
272
|
-
*/
|
|
273
|
-
readonly baseURL: string;
|
|
274
|
-
/**
|
|
275
|
-
API key that is being send using the `Authorization` header.
|
|
276
|
-
It defaults to the `OPENAI_API_KEY` environment variable.
|
|
277
|
-
*/
|
|
278
|
-
readonly apiKey?: string;
|
|
279
|
-
/**
|
|
280
|
-
OpenAI Organization.
|
|
281
|
-
*/
|
|
282
|
-
readonly organization?: string;
|
|
283
|
-
/**
|
|
284
|
-
OpenAI project.
|
|
285
|
-
*/
|
|
286
|
-
readonly project?: string;
|
|
287
|
-
/**
|
|
288
|
-
Custom headers to include in the requests.
|
|
289
|
-
*/
|
|
290
|
-
readonly headers?: Record<string, string>;
|
|
291
|
-
/**
|
|
292
|
-
* Creates a new OpenAI provider instance.
|
|
293
|
-
*/
|
|
294
|
-
constructor(options?: OpenAIProviderSettings);
|
|
295
|
-
private get baseConfig();
|
|
296
|
-
chat(modelId: OpenAIChatModelId, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
|
|
297
|
-
completion(modelId: OpenAICompletionModelId, settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
export { OpenAI, type OpenAIProvider, type OpenAIProviderSettings, createOpenAI, openai };
|
|
236
|
+
export { type OpenAIProvider, type OpenAIProviderSettings, createOpenAI, openai };
|
package/dist/index.d.ts
CHANGED
|
@@ -67,31 +67,6 @@ interface OpenAIChatSettings {
|
|
|
67
67
|
downloadImages?: boolean;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
type OpenAIChatConfig = {
|
|
71
|
-
provider: string;
|
|
72
|
-
compatibility: 'strict' | 'compatible';
|
|
73
|
-
headers: () => Record<string, string | undefined>;
|
|
74
|
-
url: (options: {
|
|
75
|
-
modelId: string;
|
|
76
|
-
path: string;
|
|
77
|
-
}) => string;
|
|
78
|
-
fetch?: FetchFunction;
|
|
79
|
-
};
|
|
80
|
-
declare class OpenAIChatLanguageModel implements LanguageModelV1 {
|
|
81
|
-
readonly specificationVersion = "v1";
|
|
82
|
-
readonly modelId: OpenAIChatModelId;
|
|
83
|
-
readonly settings: OpenAIChatSettings;
|
|
84
|
-
private readonly config;
|
|
85
|
-
constructor(modelId: OpenAIChatModelId, settings: OpenAIChatSettings, config: OpenAIChatConfig);
|
|
86
|
-
get supportsStructuredOutputs(): boolean;
|
|
87
|
-
get defaultObjectGenerationMode(): "tool" | "json";
|
|
88
|
-
get provider(): string;
|
|
89
|
-
get supportsImageUrls(): boolean;
|
|
90
|
-
private getArgs;
|
|
91
|
-
doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
|
92
|
-
doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
70
|
type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
|
|
96
71
|
interface OpenAICompletionSettings {
|
|
97
72
|
/**
|
|
@@ -218,10 +193,6 @@ interface OpenAIProviderSettings {
|
|
|
218
193
|
*/
|
|
219
194
|
baseURL?: string;
|
|
220
195
|
/**
|
|
221
|
-
@deprecated Use `baseURL` instead.
|
|
222
|
-
*/
|
|
223
|
-
baseUrl?: string;
|
|
224
|
-
/**
|
|
225
196
|
API key for authenticating requests.
|
|
226
197
|
*/
|
|
227
198
|
apiKey?: string;
|
|
@@ -262,39 +233,4 @@ Default OpenAI provider instance. It uses 'strict' compatibility mode.
|
|
|
262
233
|
*/
|
|
263
234
|
declare const openai: OpenAIProvider;
|
|
264
235
|
|
|
265
|
-
|
|
266
|
-
@deprecated Use `createOpenAI` instead.
|
|
267
|
-
*/
|
|
268
|
-
declare class OpenAI {
|
|
269
|
-
/**
|
|
270
|
-
Use a different URL prefix for API calls, e.g. to use proxy servers.
|
|
271
|
-
The default prefix is `https://api.openai.com/v1`.
|
|
272
|
-
*/
|
|
273
|
-
readonly baseURL: string;
|
|
274
|
-
/**
|
|
275
|
-
API key that is being send using the `Authorization` header.
|
|
276
|
-
It defaults to the `OPENAI_API_KEY` environment variable.
|
|
277
|
-
*/
|
|
278
|
-
readonly apiKey?: string;
|
|
279
|
-
/**
|
|
280
|
-
OpenAI Organization.
|
|
281
|
-
*/
|
|
282
|
-
readonly organization?: string;
|
|
283
|
-
/**
|
|
284
|
-
OpenAI project.
|
|
285
|
-
*/
|
|
286
|
-
readonly project?: string;
|
|
287
|
-
/**
|
|
288
|
-
Custom headers to include in the requests.
|
|
289
|
-
*/
|
|
290
|
-
readonly headers?: Record<string, string>;
|
|
291
|
-
/**
|
|
292
|
-
* Creates a new OpenAI provider instance.
|
|
293
|
-
*/
|
|
294
|
-
constructor(options?: OpenAIProviderSettings);
|
|
295
|
-
private get baseConfig();
|
|
296
|
-
chat(modelId: OpenAIChatModelId, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
|
|
297
|
-
completion(modelId: OpenAICompletionModelId, settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
export { OpenAI, type OpenAIProvider, type OpenAIProviderSettings, createOpenAI, openai };
|
|
236
|
+
export { type OpenAIProvider, type OpenAIProviderSettings, createOpenAI, openai };
|
package/dist/index.js
CHANGED
|
@@ -20,14 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
OpenAI: () => OpenAI,
|
|
24
23
|
createOpenAI: () => createOpenAI,
|
|
25
24
|
openai: () => openai
|
|
26
25
|
});
|
|
27
26
|
module.exports = __toCommonJS(src_exports);
|
|
28
27
|
|
|
29
|
-
// src/openai-
|
|
30
|
-
var
|
|
28
|
+
// src/openai-provider.ts
|
|
29
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
31
30
|
|
|
32
31
|
// src/openai-chat-language-model.ts
|
|
33
32
|
var import_provider3 = require("@ai-sdk/provider");
|
|
@@ -1286,59 +1285,9 @@ var openaiCompletionChunkSchema = import_zod3.z.union([
|
|
|
1286
1285
|
openAIErrorDataSchema
|
|
1287
1286
|
]);
|
|
1288
1287
|
|
|
1289
|
-
// src/openai-facade.ts
|
|
1290
|
-
var OpenAI = class {
|
|
1291
|
-
/**
|
|
1292
|
-
* Creates a new OpenAI provider instance.
|
|
1293
|
-
*/
|
|
1294
|
-
constructor(options = {}) {
|
|
1295
|
-
var _a, _b;
|
|
1296
|
-
this.baseURL = (_b = (0, import_provider_utils5.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : "https://api.openai.com/v1";
|
|
1297
|
-
this.apiKey = options.apiKey;
|
|
1298
|
-
this.organization = options.organization;
|
|
1299
|
-
this.project = options.project;
|
|
1300
|
-
this.headers = options.headers;
|
|
1301
|
-
}
|
|
1302
|
-
get baseConfig() {
|
|
1303
|
-
return {
|
|
1304
|
-
organization: this.organization,
|
|
1305
|
-
baseURL: this.baseURL,
|
|
1306
|
-
headers: () => ({
|
|
1307
|
-
Authorization: `Bearer ${(0, import_provider_utils5.loadApiKey)({
|
|
1308
|
-
apiKey: this.apiKey,
|
|
1309
|
-
environmentVariableName: "OPENAI_API_KEY",
|
|
1310
|
-
description: "OpenAI"
|
|
1311
|
-
})}`,
|
|
1312
|
-
"OpenAI-Organization": this.organization,
|
|
1313
|
-
"OpenAI-Project": this.project,
|
|
1314
|
-
...this.headers
|
|
1315
|
-
})
|
|
1316
|
-
};
|
|
1317
|
-
}
|
|
1318
|
-
chat(modelId, settings = {}) {
|
|
1319
|
-
return new OpenAIChatLanguageModel(modelId, settings, {
|
|
1320
|
-
provider: "openai.chat",
|
|
1321
|
-
...this.baseConfig,
|
|
1322
|
-
compatibility: "strict",
|
|
1323
|
-
url: ({ path }) => `${this.baseURL}${path}`
|
|
1324
|
-
});
|
|
1325
|
-
}
|
|
1326
|
-
completion(modelId, settings = {}) {
|
|
1327
|
-
return new OpenAICompletionLanguageModel(modelId, settings, {
|
|
1328
|
-
provider: "openai.completion",
|
|
1329
|
-
...this.baseConfig,
|
|
1330
|
-
compatibility: "strict",
|
|
1331
|
-
url: ({ path }) => `${this.baseURL}${path}`
|
|
1332
|
-
});
|
|
1333
|
-
}
|
|
1334
|
-
};
|
|
1335
|
-
|
|
1336
|
-
// src/openai-provider.ts
|
|
1337
|
-
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1338
|
-
|
|
1339
1288
|
// src/openai-embedding-model.ts
|
|
1340
1289
|
var import_provider6 = require("@ai-sdk/provider");
|
|
1341
|
-
var
|
|
1290
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
1342
1291
|
var import_zod4 = require("zod");
|
|
1343
1292
|
var OpenAIEmbeddingModel = class {
|
|
1344
1293
|
constructor(modelId, settings, config) {
|
|
@@ -1371,12 +1320,12 @@ var OpenAIEmbeddingModel = class {
|
|
|
1371
1320
|
values
|
|
1372
1321
|
});
|
|
1373
1322
|
}
|
|
1374
|
-
const { responseHeaders, value: response } = await (0,
|
|
1323
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils5.postJsonToApi)({
|
|
1375
1324
|
url: this.config.url({
|
|
1376
1325
|
path: "/embeddings",
|
|
1377
1326
|
modelId: this.modelId
|
|
1378
1327
|
}),
|
|
1379
|
-
headers: (0,
|
|
1328
|
+
headers: (0, import_provider_utils5.combineHeaders)(this.config.headers(), headers),
|
|
1380
1329
|
body: {
|
|
1381
1330
|
model: this.modelId,
|
|
1382
1331
|
input: values,
|
|
@@ -1385,7 +1334,7 @@ var OpenAIEmbeddingModel = class {
|
|
|
1385
1334
|
user: this.settings.user
|
|
1386
1335
|
},
|
|
1387
1336
|
failedResponseHandler: openaiFailedResponseHandler,
|
|
1388
|
-
successfulResponseHandler: (0,
|
|
1337
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
|
|
1389
1338
|
openaiTextEmbeddingResponseSchema
|
|
1390
1339
|
),
|
|
1391
1340
|
abortSignal,
|
|
@@ -1405,12 +1354,12 @@ var openaiTextEmbeddingResponseSchema = import_zod4.z.object({
|
|
|
1405
1354
|
|
|
1406
1355
|
// src/openai-provider.ts
|
|
1407
1356
|
function createOpenAI(options = {}) {
|
|
1408
|
-
var _a, _b, _c
|
|
1409
|
-
const baseURL = (
|
|
1410
|
-
const compatibility = (
|
|
1411
|
-
const providerName = (
|
|
1357
|
+
var _a, _b, _c;
|
|
1358
|
+
const baseURL = (_a = (0, import_provider_utils6.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.openai.com/v1";
|
|
1359
|
+
const compatibility = (_b = options.compatibility) != null ? _b : "compatible";
|
|
1360
|
+
const providerName = (_c = options.name) != null ? _c : "openai";
|
|
1412
1361
|
const getHeaders = () => ({
|
|
1413
|
-
Authorization: `Bearer ${(0,
|
|
1362
|
+
Authorization: `Bearer ${(0, import_provider_utils6.loadApiKey)({
|
|
1414
1363
|
apiKey: options.apiKey,
|
|
1415
1364
|
environmentVariableName: "OPENAI_API_KEY",
|
|
1416
1365
|
description: "OpenAI"
|
|
@@ -1470,7 +1419,6 @@ var openai = createOpenAI({
|
|
|
1470
1419
|
});
|
|
1471
1420
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1472
1421
|
0 && (module.exports = {
|
|
1473
|
-
OpenAI,
|
|
1474
1422
|
createOpenAI,
|
|
1475
1423
|
openai
|
|
1476
1424
|
});
|