mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-07 22:10:21 +08:00
chore: update OpenAI package to version 5.1.0 and adjust related patches (#6838)
* chore: update OpenAI package to version 5.1.0 and adjust related patches - Updated OpenAI dependency from version 4.96.0 to 5.1.0 in package.json and yarn.lock. - Removed obsolete patch for OpenAI 4.96.0 and added new patch for OpenAI 5.1.0. - Adjusted types for image handling in OpenAIResponseProvider to use Uploadable instead of FileLike. - Minor code refactoring for better clarity and maintainability. * refactor(OpenAIResponseProvider): remove logging for image generation process
This commit is contained in:
parent
34757ff7b2
commit
d383f77db7
85
.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch
vendored
85
.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch
vendored
@ -1,85 +0,0 @@
|
|||||||
diff --git a/core.js b/core.js
|
|
||||||
index 862d66101f441fb4f47dfc8cff5e2d39e1f5a11e..6464bebbf696c39d35f0368f061ea4236225c162 100644
|
|
||||||
--- a/core.js
|
|
||||||
+++ b/core.js
|
|
||||||
@@ -159,7 +159,7 @@ class APIClient {
|
|
||||||
Accept: 'application/json',
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
'User-Agent': this.getUserAgent(),
|
|
||||||
- ...getPlatformHeaders(),
|
|
||||||
+ // ...getPlatformHeaders(),
|
|
||||||
...this.authHeaders(opts),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
diff --git a/core.mjs b/core.mjs
|
|
||||||
index 05dbc6cfde51589a2b100d4e4b5b3c1a33b32b89..789fbb4985eb952a0349b779fa83b1a068af6e7e 100644
|
|
||||||
--- a/core.mjs
|
|
||||||
+++ b/core.mjs
|
|
||||||
@@ -152,7 +152,7 @@ export class APIClient {
|
|
||||||
Accept: 'application/json',
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
'User-Agent': this.getUserAgent(),
|
|
||||||
- ...getPlatformHeaders(),
|
|
||||||
+ // ...getPlatformHeaders(),
|
|
||||||
...this.authHeaders(opts),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
diff --git a/error.mjs b/error.mjs
|
|
||||||
index 7d19f5578040afa004bc887aab1725e8703d2bac..59ec725b6142299a62798ac4bdedb63ba7d9932c 100644
|
|
||||||
--- a/error.mjs
|
|
||||||
+++ b/error.mjs
|
|
||||||
@@ -36,7 +36,7 @@ export class APIError extends OpenAIError {
|
|
||||||
if (!status || !headers) {
|
|
||||||
return new APIConnectionError({ message, cause: castToError(errorResponse) });
|
|
||||||
}
|
|
||||||
- const error = errorResponse?.['error'];
|
|
||||||
+ const error = errorResponse?.['error'] || errorResponse;
|
|
||||||
if (status === 400) {
|
|
||||||
return new BadRequestError(status, error, message, headers);
|
|
||||||
}
|
|
||||||
diff --git a/resources/embeddings.js b/resources/embeddings.js
|
|
||||||
index aae578404cb2d09a39ac33fc416f1c215c45eecd..25c54b05bdae64d5c3b36fbb30dc7c8221b14034 100644
|
|
||||||
--- a/resources/embeddings.js
|
|
||||||
+++ b/resources/embeddings.js
|
|
||||||
@@ -36,6 +36,9 @@ class Embeddings extends resource_1.APIResource {
|
|
||||||
// No encoding_format specified, defaulting to base64 for performance reasons
|
|
||||||
// See https://github.com/openai/openai-node/pull/1312
|
|
||||||
let encoding_format = hasUserProvidedEncodingFormat ? body.encoding_format : 'base64';
|
|
||||||
+ if (body.model.includes('jina')) {
|
|
||||||
+ encoding_format = undefined;
|
|
||||||
+ }
|
|
||||||
if (hasUserProvidedEncodingFormat) {
|
|
||||||
Core.debug('Request', 'User defined encoding_format:', body.encoding_format);
|
|
||||||
}
|
|
||||||
@@ -47,7 +50,7 @@ class Embeddings extends resource_1.APIResource {
|
|
||||||
...options,
|
|
||||||
});
|
|
||||||
// if the user specified an encoding_format, return the response as-is
|
|
||||||
- if (hasUserProvidedEncodingFormat) {
|
|
||||||
+ if (hasUserProvidedEncodingFormat || body.model.includes('jina')) {
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
// in this stage, we are sure the user did not specify an encoding_format
|
|
||||||
diff --git a/resources/embeddings.mjs b/resources/embeddings.mjs
|
|
||||||
index 0df3c6cc79a520e54acb4c2b5f77c43b774035ff..aa488b8a11b2c413c0a663d9a6059d286d7b5faf 100644
|
|
||||||
--- a/resources/embeddings.mjs
|
|
||||||
+++ b/resources/embeddings.mjs
|
|
||||||
@@ -10,6 +10,9 @@ export class Embeddings extends APIResource {
|
|
||||||
// No encoding_format specified, defaulting to base64 for performance reasons
|
|
||||||
// See https://github.com/openai/openai-node/pull/1312
|
|
||||||
let encoding_format = hasUserProvidedEncodingFormat ? body.encoding_format : 'base64';
|
|
||||||
+ if (body.model.includes('jina')) {
|
|
||||||
+ encoding_format = undefined;
|
|
||||||
+ }
|
|
||||||
if (hasUserProvidedEncodingFormat) {
|
|
||||||
Core.debug('Request', 'User defined encoding_format:', body.encoding_format);
|
|
||||||
}
|
|
||||||
@@ -21,7 +24,7 @@ export class Embeddings extends APIResource {
|
|
||||||
...options,
|
|
||||||
});
|
|
||||||
// if the user specified an encoding_format, return the response as-is
|
|
||||||
- if (hasUserProvidedEncodingFormat) {
|
|
||||||
+ if (hasUserProvidedEncodingFormat || body.model.includes('jina')) {
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
// in this stage, we are sure the user did not specify an encoding_format
|
|
||||||
279
.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch
vendored
Normal file
279
.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch
vendored
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
diff --git a/client.js b/client.js
|
||||||
|
index 33b4ff6309d5f29187dab4e285d07dac20340bab..8f568637ee9e4677585931fb0284c8165a933f69 100644
|
||||||
|
--- a/client.js
|
||||||
|
+++ b/client.js
|
||||||
|
@@ -433,7 +433,7 @@ class OpenAI {
|
||||||
|
'User-Agent': this.getUserAgent(),
|
||||||
|
'X-Stainless-Retry-Count': String(retryCount),
|
||||||
|
...(options.timeout ? { 'X-Stainless-Timeout': String(Math.trunc(options.timeout / 1000)) } : {}),
|
||||||
|
- ...(0, detect_platform_1.getPlatformHeaders)(),
|
||||||
|
+ // ...(0, detect_platform_1.getPlatformHeaders)(),
|
||||||
|
'OpenAI-Organization': this.organization,
|
||||||
|
'OpenAI-Project': this.project,
|
||||||
|
},
|
||||||
|
diff --git a/client.mjs b/client.mjs
|
||||||
|
index c34c18213073540ebb296ea540b1d1ad39527906..1ce1a98256d7e90e26ca963582f235b23e996e73 100644
|
||||||
|
--- a/client.mjs
|
||||||
|
+++ b/client.mjs
|
||||||
|
@@ -430,7 +430,7 @@ export class OpenAI {
|
||||||
|
'User-Agent': this.getUserAgent(),
|
||||||
|
'X-Stainless-Retry-Count': String(retryCount),
|
||||||
|
...(options.timeout ? { 'X-Stainless-Timeout': String(Math.trunc(options.timeout / 1000)) } : {}),
|
||||||
|
- ...getPlatformHeaders(),
|
||||||
|
+ // ...getPlatformHeaders(),
|
||||||
|
'OpenAI-Organization': this.organization,
|
||||||
|
'OpenAI-Project': this.project,
|
||||||
|
},
|
||||||
|
diff --git a/core/error.js b/core/error.js
|
||||||
|
index a12d9d9ccd242050161adeb0f82e1b98d9e78e20..fe3a5462480558bc426deea147f864f12b36f9bd 100644
|
||||||
|
--- a/core/error.js
|
||||||
|
+++ b/core/error.js
|
||||||
|
@@ -40,7 +40,7 @@ class APIError extends OpenAIError {
|
||||||
|
if (!status || !headers) {
|
||||||
|
return new APIConnectionError({ message, cause: (0, errors_1.castToError)(errorResponse) });
|
||||||
|
}
|
||||||
|
- const error = errorResponse?.['error'];
|
||||||
|
+ const error = errorResponse?.['error'] || errorResponse;
|
||||||
|
if (status === 400) {
|
||||||
|
return new BadRequestError(status, error, message, headers);
|
||||||
|
}
|
||||||
|
diff --git a/core/error.mjs b/core/error.mjs
|
||||||
|
index 83cefbaffeb8c657536347322d8de9516af479a2..63334b7972ec04882aa4a0800c1ead5982345045 100644
|
||||||
|
--- a/core/error.mjs
|
||||||
|
+++ b/core/error.mjs
|
||||||
|
@@ -36,7 +36,7 @@ export class APIError extends OpenAIError {
|
||||||
|
if (!status || !headers) {
|
||||||
|
return new APIConnectionError({ message, cause: castToError(errorResponse) });
|
||||||
|
}
|
||||||
|
- const error = errorResponse?.['error'];
|
||||||
|
+ const error = errorResponse?.['error'] || errorResponse;
|
||||||
|
if (status === 400) {
|
||||||
|
return new BadRequestError(status, error, message, headers);
|
||||||
|
}
|
||||||
|
diff --git a/resources/embeddings.js b/resources/embeddings.js
|
||||||
|
index 2404264d4ba0204322548945ebb7eab3bea82173..8f1bc45cc45e0797d50989d96b51147b90ae6790 100644
|
||||||
|
--- a/resources/embeddings.js
|
||||||
|
+++ b/resources/embeddings.js
|
||||||
|
@@ -5,52 +5,64 @@ exports.Embeddings = void 0;
|
||||||
|
const resource_1 = require("../core/resource.js");
|
||||||
|
const utils_1 = require("../internal/utils.js");
|
||||||
|
class Embeddings extends resource_1.APIResource {
|
||||||
|
- /**
|
||||||
|
- * Creates an embedding vector representing the input text.
|
||||||
|
- *
|
||||||
|
- * @example
|
||||||
|
- * ```ts
|
||||||
|
- * const createEmbeddingResponse =
|
||||||
|
- * await client.embeddings.create({
|
||||||
|
- * input: 'The quick brown fox jumped over the lazy dog',
|
||||||
|
- * model: 'text-embedding-3-small',
|
||||||
|
- * });
|
||||||
|
- * ```
|
||||||
|
- */
|
||||||
|
- create(body, options) {
|
||||||
|
- const hasUserProvidedEncodingFormat = !!body.encoding_format;
|
||||||
|
- // No encoding_format specified, defaulting to base64 for performance reasons
|
||||||
|
- // See https://github.com/openai/openai-node/pull/1312
|
||||||
|
- let encoding_format = hasUserProvidedEncodingFormat ? body.encoding_format : 'base64';
|
||||||
|
- if (hasUserProvidedEncodingFormat) {
|
||||||
|
- (0, utils_1.loggerFor)(this._client).debug('embeddings/user defined encoding_format:', body.encoding_format);
|
||||||
|
- }
|
||||||
|
- const response = this._client.post('/embeddings', {
|
||||||
|
- body: {
|
||||||
|
- ...body,
|
||||||
|
- encoding_format: encoding_format,
|
||||||
|
- },
|
||||||
|
- ...options,
|
||||||
|
- });
|
||||||
|
- // if the user specified an encoding_format, return the response as-is
|
||||||
|
- if (hasUserProvidedEncodingFormat) {
|
||||||
|
- return response;
|
||||||
|
- }
|
||||||
|
- // in this stage, we are sure the user did not specify an encoding_format
|
||||||
|
- // and we defaulted to base64 for performance reasons
|
||||||
|
- // we are sure then that the response is base64 encoded, let's decode it
|
||||||
|
- // the returned result will be a float32 array since this is OpenAI API's default encoding
|
||||||
|
- (0, utils_1.loggerFor)(this._client).debug('embeddings/decoding base64 embeddings from base64');
|
||||||
|
- return response._thenUnwrap((response) => {
|
||||||
|
- if (response && response.data) {
|
||||||
|
- response.data.forEach((embeddingBase64Obj) => {
|
||||||
|
- const embeddingBase64Str = embeddingBase64Obj.embedding;
|
||||||
|
- embeddingBase64Obj.embedding = (0, utils_1.toFloat32Array)(embeddingBase64Str);
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
- return response;
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
+ /**
|
||||||
|
+ * Creates an embedding vector representing the input text.
|
||||||
|
+ *
|
||||||
|
+ * @example
|
||||||
|
+ * ```ts
|
||||||
|
+ * const createEmbeddingResponse =
|
||||||
|
+ * await client.embeddings.create({
|
||||||
|
+ * input: 'The quick brown fox jumped over the lazy dog',
|
||||||
|
+ * model: 'text-embedding-3-small',
|
||||||
|
+ * });
|
||||||
|
+ * ```
|
||||||
|
+ */
|
||||||
|
+ create(body, options) {
|
||||||
|
+ const hasUserProvidedEncodingFormat = !!body.encoding_format;
|
||||||
|
+ // No encoding_format specified, defaulting to base64 for performance reasons
|
||||||
|
+ // See https://github.com/openai/openai-node/pull/1312
|
||||||
|
+ let encoding_format = hasUserProvidedEncodingFormat
|
||||||
|
+ ? body.encoding_format
|
||||||
|
+ : "base64";
|
||||||
|
+ if (body.model.includes("jina")) {
|
||||||
|
+ encoding_format = undefined;
|
||||||
|
+ }
|
||||||
|
+ if (hasUserProvidedEncodingFormat) {
|
||||||
|
+ (0, utils_1.loggerFor)(this._client).debug(
|
||||||
|
+ "embeddings/user defined encoding_format:",
|
||||||
|
+ body.encoding_format
|
||||||
|
+ );
|
||||||
|
+ }
|
||||||
|
+ const response = this._client.post("/embeddings", {
|
||||||
|
+ body: {
|
||||||
|
+ ...body,
|
||||||
|
+ encoding_format: encoding_format,
|
||||||
|
+ },
|
||||||
|
+ ...options,
|
||||||
|
+ });
|
||||||
|
+ // if the user specified an encoding_format, return the response as-is
|
||||||
|
+ if (hasUserProvidedEncodingFormat || body.model.includes("jina")) {
|
||||||
|
+ return response;
|
||||||
|
+ }
|
||||||
|
+ // in this stage, we are sure the user did not specify an encoding_format
|
||||||
|
+ // and we defaulted to base64 for performance reasons
|
||||||
|
+ // we are sure then that the response is base64 encoded, let's decode it
|
||||||
|
+ // the returned result will be a float32 array since this is OpenAI API's default encoding
|
||||||
|
+ (0, utils_1.loggerFor)(this._client).debug(
|
||||||
|
+ "embeddings/decoding base64 embeddings from base64"
|
||||||
|
+ );
|
||||||
|
+ return response._thenUnwrap((response) => {
|
||||||
|
+ if (response && response.data) {
|
||||||
|
+ response.data.forEach((embeddingBase64Obj) => {
|
||||||
|
+ const embeddingBase64Str = embeddingBase64Obj.embedding;
|
||||||
|
+ embeddingBase64Obj.embedding = (0, utils_1.toFloat32Array)(
|
||||||
|
+ embeddingBase64Str
|
||||||
|
+ );
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
+ return response;
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
exports.Embeddings = Embeddings;
|
||||||
|
//# sourceMappingURL=embeddings.js.map
|
||||||
|
diff --git a/resources/embeddings.mjs b/resources/embeddings.mjs
|
||||||
|
index 19dcaef578c194a89759c4360073cfd4f7dd2cbf..0284e9cc615c900eff508eb595f7360a74bd9200 100644
|
||||||
|
--- a/resources/embeddings.mjs
|
||||||
|
+++ b/resources/embeddings.mjs
|
||||||
|
@@ -2,51 +2,61 @@
|
||||||
|
import { APIResource } from "../core/resource.mjs";
|
||||||
|
import { loggerFor, toFloat32Array } from "../internal/utils.mjs";
|
||||||
|
export class Embeddings extends APIResource {
|
||||||
|
- /**
|
||||||
|
- * Creates an embedding vector representing the input text.
|
||||||
|
- *
|
||||||
|
- * @example
|
||||||
|
- * ```ts
|
||||||
|
- * const createEmbeddingResponse =
|
||||||
|
- * await client.embeddings.create({
|
||||||
|
- * input: 'The quick brown fox jumped over the lazy dog',
|
||||||
|
- * model: 'text-embedding-3-small',
|
||||||
|
- * });
|
||||||
|
- * ```
|
||||||
|
- */
|
||||||
|
- create(body, options) {
|
||||||
|
- const hasUserProvidedEncodingFormat = !!body.encoding_format;
|
||||||
|
- // No encoding_format specified, defaulting to base64 for performance reasons
|
||||||
|
- // See https://github.com/openai/openai-node/pull/1312
|
||||||
|
- let encoding_format = hasUserProvidedEncodingFormat ? body.encoding_format : 'base64';
|
||||||
|
- if (hasUserProvidedEncodingFormat) {
|
||||||
|
- loggerFor(this._client).debug('embeddings/user defined encoding_format:', body.encoding_format);
|
||||||
|
- }
|
||||||
|
- const response = this._client.post('/embeddings', {
|
||||||
|
- body: {
|
||||||
|
- ...body,
|
||||||
|
- encoding_format: encoding_format,
|
||||||
|
- },
|
||||||
|
- ...options,
|
||||||
|
- });
|
||||||
|
- // if the user specified an encoding_format, return the response as-is
|
||||||
|
- if (hasUserProvidedEncodingFormat) {
|
||||||
|
- return response;
|
||||||
|
- }
|
||||||
|
- // in this stage, we are sure the user did not specify an encoding_format
|
||||||
|
- // and we defaulted to base64 for performance reasons
|
||||||
|
- // we are sure then that the response is base64 encoded, let's decode it
|
||||||
|
- // the returned result will be a float32 array since this is OpenAI API's default encoding
|
||||||
|
- loggerFor(this._client).debug('embeddings/decoding base64 embeddings from base64');
|
||||||
|
- return response._thenUnwrap((response) => {
|
||||||
|
- if (response && response.data) {
|
||||||
|
- response.data.forEach((embeddingBase64Obj) => {
|
||||||
|
- const embeddingBase64Str = embeddingBase64Obj.embedding;
|
||||||
|
- embeddingBase64Obj.embedding = toFloat32Array(embeddingBase64Str);
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
- return response;
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
+ /**
|
||||||
|
+ * Creates an embedding vector representing the input text.
|
||||||
|
+ *
|
||||||
|
+ * @example
|
||||||
|
+ * ```ts
|
||||||
|
+ * const createEmbeddingResponse =
|
||||||
|
+ * await client.embeddings.create({
|
||||||
|
+ * input: 'The quick brown fox jumped over the lazy dog',
|
||||||
|
+ * model: 'text-embedding-3-small',
|
||||||
|
+ * });
|
||||||
|
+ * ```
|
||||||
|
+ */
|
||||||
|
+ create(body, options) {
|
||||||
|
+ const hasUserProvidedEncodingFormat = !!body.encoding_format;
|
||||||
|
+ // No encoding_format specified, defaulting to base64 for performance reasons
|
||||||
|
+ // See https://github.com/openai/openai-node/pull/1312
|
||||||
|
+ let encoding_format = hasUserProvidedEncodingFormat
|
||||||
|
+ ? body.encoding_format
|
||||||
|
+ : "base64";
|
||||||
|
+ if (body.model.includes("jina")) {
|
||||||
|
+ encoding_format = undefined;
|
||||||
|
+ }
|
||||||
|
+ if (hasUserProvidedEncodingFormat) {
|
||||||
|
+ loggerFor(this._client).debug(
|
||||||
|
+ "embeddings/user defined encoding_format:",
|
||||||
|
+ body.encoding_format
|
||||||
|
+ );
|
||||||
|
+ }
|
||||||
|
+ const response = this._client.post("/embeddings", {
|
||||||
|
+ body: {
|
||||||
|
+ ...body,
|
||||||
|
+ encoding_format: encoding_format,
|
||||||
|
+ },
|
||||||
|
+ ...options,
|
||||||
|
+ });
|
||||||
|
+ // if the user specified an encoding_format, return the response as-is
|
||||||
|
+ if (hasUserProvidedEncodingFormat || body.model.includes("jina")) {
|
||||||
|
+ return response;
|
||||||
|
+ }
|
||||||
|
+ // in this stage, we are sure the user did not specify an encoding_format
|
||||||
|
+ // and we defaulted to base64 for performance reasons
|
||||||
|
+ // we are sure then that the response is base64 encoded, let's decode it
|
||||||
|
+ // the returned result will be a float32 array since this is OpenAI API's default encoding
|
||||||
|
+ loggerFor(this._client).debug(
|
||||||
|
+ "embeddings/decoding base64 embeddings from base64"
|
||||||
|
+ );
|
||||||
|
+ return response._thenUnwrap((response) => {
|
||||||
|
+ if (response && response.data) {
|
||||||
|
+ response.data.forEach((embeddingBase64Obj) => {
|
||||||
|
+ const embeddingBase64Str = embeddingBase64Obj.embedding;
|
||||||
|
+ embeddingBase64Obj.embedding = toFloat32Array(embeddingBase64Str);
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
+ return response;
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=embeddings.mjs.map
|
||||||
@ -178,7 +178,7 @@
|
|||||||
"mime": "^4.0.4",
|
"mime": "^4.0.4",
|
||||||
"motion": "^12.10.5",
|
"motion": "^12.10.5",
|
||||||
"npx-scope-finder": "^1.2.0",
|
"npx-scope-finder": "^1.2.0",
|
||||||
"openai": "patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch",
|
"openai": "patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch",
|
||||||
"p-queue": "^8.1.0",
|
"p-queue": "^8.1.0",
|
||||||
"playwright": "^1.52.0",
|
"playwright": "^1.52.0",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
@ -219,10 +219,10 @@
|
|||||||
"@langchain/openai@npm:^0.3.16": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
|
"@langchain/openai@npm:^0.3.16": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
|
||||||
"@langchain/openai@npm:>=0.1.0 <0.4.0": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
|
"@langchain/openai@npm:>=0.1.0 <0.4.0": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
|
||||||
"libsql@npm:^0.4.4": "patch:libsql@npm%3A0.4.7#~/.yarn/patches/libsql-npm-0.4.7-444e260fb1.patch",
|
"libsql@npm:^0.4.4": "patch:libsql@npm%3A0.4.7#~/.yarn/patches/libsql-npm-0.4.7-444e260fb1.patch",
|
||||||
"openai@npm:^4.77.0": "patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch",
|
"openai@npm:^4.77.0": "patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch",
|
||||||
"pkce-challenge@npm:^4.1.0": "patch:pkce-challenge@npm%3A4.1.0#~/.yarn/patches/pkce-challenge-npm-4.1.0-fbc51695a3.patch",
|
"pkce-challenge@npm:^4.1.0": "patch:pkce-challenge@npm%3A4.1.0#~/.yarn/patches/pkce-challenge-npm-4.1.0-fbc51695a3.patch",
|
||||||
"app-builder-lib@npm:26.0.13": "patch:app-builder-lib@npm%3A26.0.13#~/.yarn/patches/app-builder-lib-npm-26.0.13-a064c9e1d0.patch",
|
"app-builder-lib@npm:26.0.13": "patch:app-builder-lib@npm%3A26.0.13#~/.yarn/patches/app-builder-lib-npm-26.0.13-a064c9e1d0.patch",
|
||||||
"openai@npm:^4.87.3": "patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch",
|
"openai@npm:^4.87.3": "patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch",
|
||||||
"app-builder-lib@npm:26.0.15": "patch:app-builder-lib@npm%3A26.0.15#~/.yarn/patches/app-builder-lib-npm-26.0.15-360e5b0476.patch",
|
"app-builder-lib@npm:26.0.15": "patch:app-builder-lib@npm%3A26.0.15#~/.yarn/patches/app-builder-lib-npm-26.0.15-360e5b0476.patch",
|
||||||
"@langchain/core@npm:^0.3.26": "patch:@langchain/core@npm%3A0.3.44#~/.yarn/patches/@langchain-core-npm-0.3.44-41d5c3cb0a.patch"
|
"@langchain/core@npm:^0.3.26": "patch:@langchain/core@npm%3A0.3.44#~/.yarn/patches/@langchain-core-npm-0.3.44-41d5c3cb0a.patch"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -55,7 +55,7 @@ import mime from 'mime'
|
|||||||
import OpenAI from 'openai'
|
import OpenAI from 'openai'
|
||||||
import { ChatCompletionContentPart, ChatCompletionMessageParam } from 'openai/resources/chat/completions'
|
import { ChatCompletionContentPart, ChatCompletionMessageParam } from 'openai/resources/chat/completions'
|
||||||
import { Stream } from 'openai/streaming'
|
import { Stream } from 'openai/streaming'
|
||||||
import { FileLike, toFile } from 'openai/uploads'
|
import { toFile, Uploadable } from 'openai/uploads'
|
||||||
|
|
||||||
import { CompletionsParams } from '.'
|
import { CompletionsParams } from '.'
|
||||||
import BaseProvider from './BaseProvider'
|
import BaseProvider from './BaseProvider'
|
||||||
@ -1052,7 +1052,7 @@ export abstract class BaseOpenAIProvider extends BaseProvider {
|
|||||||
const { signal } = abortController
|
const { signal } = abortController
|
||||||
const content = getMainTextContent(lastUserMessage!)
|
const content = getMainTextContent(lastUserMessage!)
|
||||||
let response: OpenAI.Images.ImagesResponse | null = null
|
let response: OpenAI.Images.ImagesResponse | null = null
|
||||||
let images: FileLike[] = []
|
let images: Uploadable[] = []
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (lastUserMessage) {
|
if (lastUserMessage) {
|
||||||
@ -1084,7 +1084,7 @@ export abstract class BaseOpenAIProvider extends BaseProvider {
|
|||||||
return await toFile(bytes, fileName, { type: mimeType })
|
return await toFile(bytes, fileName, { type: mimeType })
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
images = images.concat(assistantImages.filter(Boolean) as FileLike[])
|
images = images.concat(assistantImages.filter(Boolean) as Uploadable[])
|
||||||
}
|
}
|
||||||
|
|
||||||
onChunk({
|
onChunk({
|
||||||
|
|||||||
34
yarn.lock
34
yarn.lock
@ -5639,7 +5639,7 @@ __metadata:
|
|||||||
node-stream-zip: "npm:^1.15.0"
|
node-stream-zip: "npm:^1.15.0"
|
||||||
npx-scope-finder: "npm:^1.2.0"
|
npx-scope-finder: "npm:^1.2.0"
|
||||||
officeparser: "npm:^4.1.1"
|
officeparser: "npm:^4.1.1"
|
||||||
openai: "patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch"
|
openai: "patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch"
|
||||||
os-proxy-config: "npm:^1.1.2"
|
os-proxy-config: "npm:^1.1.2"
|
||||||
p-queue: "npm:^8.1.0"
|
p-queue: "npm:^8.1.0"
|
||||||
playwright: "npm:^1.52.0"
|
playwright: "npm:^1.52.0"
|
||||||
@ -13993,17 +13993,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"openai@npm:4.96.0":
|
"openai@npm:5.1.0":
|
||||||
version: 4.96.0
|
version: 5.1.0
|
||||||
resolution: "openai@npm:4.96.0"
|
resolution: "openai@npm:5.1.0"
|
||||||
dependencies:
|
|
||||||
"@types/node": "npm:^18.11.18"
|
|
||||||
"@types/node-fetch": "npm:^2.6.4"
|
|
||||||
abort-controller: "npm:^3.0.0"
|
|
||||||
agentkeepalive: "npm:^4.2.1"
|
|
||||||
form-data-encoder: "npm:1.7.2"
|
|
||||||
formdata-node: "npm:^4.3.2"
|
|
||||||
node-fetch: "npm:^2.6.7"
|
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
ws: ^8.18.0
|
ws: ^8.18.0
|
||||||
zod: ^3.23.8
|
zod: ^3.23.8
|
||||||
@ -14014,21 +14006,13 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
openai: bin/cli
|
openai: bin/cli
|
||||||
checksum: 10c0/d4c3fa76374730c856f774e07f375b51041b8e8429ae2cbd8605b168bf81673017f5dd1c0e42419ca54d8d3fd7cd93d57830d6bc6b9dcd317e70109018d599ea
|
checksum: 10c0/d5882c95f95bfc4127ccbe494d298f43fe56cd3a9fd5711d1f02a040cfa6cdcc1e706ffe05f3d428421ec4caa526fe1b5ff50e1849dbfb3016d289853262ea3d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"openai@patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch":
|
"openai@patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch":
|
||||||
version: 4.96.0
|
version: 5.1.0
|
||||||
resolution: "openai@patch:openai@npm%3A4.96.0#~/.yarn/patches/openai-npm-4.96.0-0665b05cb9.patch::version=4.96.0&hash=6bc976"
|
resolution: "openai@patch:openai@npm%3A5.1.0#~/.yarn/patches/openai-npm-5.1.0-0e7b3ccb07.patch::version=5.1.0&hash=cf4b11"
|
||||||
dependencies:
|
|
||||||
"@types/node": "npm:^18.11.18"
|
|
||||||
"@types/node-fetch": "npm:^2.6.4"
|
|
||||||
abort-controller: "npm:^3.0.0"
|
|
||||||
agentkeepalive: "npm:^4.2.1"
|
|
||||||
form-data-encoder: "npm:1.7.2"
|
|
||||||
formdata-node: "npm:^4.3.2"
|
|
||||||
node-fetch: "npm:^2.6.7"
|
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
ws: ^8.18.0
|
ws: ^8.18.0
|
||||||
zod: ^3.23.8
|
zod: ^3.23.8
|
||||||
@ -14039,7 +14023,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
openai: bin/cli
|
openai: bin/cli
|
||||||
checksum: 10c0/e50e4b9b60e94fadaca541cf2c36a12c55221555dd2ce977738e13978b7187504263f2e31b4641f2b6e70fce562b4e1fa2affd68caeca21248ddfa8847eeb003
|
checksum: 10c0/26abab8311c5e130759d8b2a939ac408872d808c8e8b8f6a7bb5c85f2df0a66d61aece3af783dbf04a2aa401481cf20a6eddcb777b545b387f66220a6a6d25d7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user