@xsai/embed 0.0.7 → 0.0.9
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/dist/index.d.ts +15 -20
- package/dist/index.js +40 -26
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -3,35 +3,30 @@ import { CommonRequestOptions } from '@xsai/shared';
|
|
|
3
3
|
type EmbedModel = 'all-minilm' | 'mxbai-embed-large' | 'nomic-embed-text' | ({} & string);
|
|
4
4
|
interface EmbedOptions extends CommonRequestOptions<'embeddings'> {
|
|
5
5
|
[key: string]: unknown;
|
|
6
|
-
input: string
|
|
6
|
+
input: string;
|
|
7
7
|
model: EmbedModel;
|
|
8
8
|
}
|
|
9
|
-
interface EmbedResponse {
|
|
10
|
-
data: {
|
|
11
|
-
embedding: number[];
|
|
12
|
-
index: number;
|
|
13
|
-
object: 'embedding';
|
|
14
|
-
}[];
|
|
15
|
-
model: string;
|
|
16
|
-
object: 'list' | ({} & string);
|
|
17
|
-
system_fingerprint?: string;
|
|
18
|
-
usage: EmbedResponseUsage;
|
|
19
|
-
}
|
|
20
9
|
interface EmbedResponseUsage {
|
|
21
10
|
prompt_tokens: number;
|
|
22
11
|
total_tokens: number;
|
|
23
12
|
}
|
|
24
13
|
interface EmbedResult {
|
|
25
14
|
embedding: number[];
|
|
26
|
-
|
|
27
|
-
response: Response;
|
|
15
|
+
input: string;
|
|
28
16
|
usage: EmbedResponseUsage;
|
|
29
17
|
}
|
|
30
|
-
declare const embed: (options: EmbedOptions) => Promise<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
declare const embed: (options: EmbedOptions) => Promise<EmbedResult>;
|
|
19
|
+
|
|
20
|
+
interface EmbedManyOptions extends CommonRequestOptions<'embeddings'> {
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
input: string[];
|
|
23
|
+
model: EmbedModel;
|
|
24
|
+
}
|
|
25
|
+
interface EmbedManyResult {
|
|
26
|
+
embeddings: number[][];
|
|
27
|
+
input: string[];
|
|
34
28
|
usage: EmbedResponseUsage;
|
|
35
|
-
}
|
|
29
|
+
}
|
|
30
|
+
declare const embedMany: (options: EmbedManyOptions) => Promise<EmbedManyResult>;
|
|
36
31
|
|
|
37
|
-
export { type
|
|
32
|
+
export { type EmbedManyOptions, type EmbedManyResult, type EmbedModel, type EmbedOptions, type EmbedResponseUsage, type EmbedResult, embed as default, embed, embedMany };
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,43 @@
|
|
|
1
1
|
import { requestUrl, clean } from '@xsai/shared';
|
|
2
2
|
|
|
3
|
-
const embed = async (options) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
embedding: json.data[0].embedding,
|
|
23
|
-
request,
|
|
24
|
-
response,
|
|
25
|
-
usage: json.usage
|
|
26
|
-
};
|
|
27
|
-
};
|
|
3
|
+
const embed = async (options) => await fetch(requestUrl(options.path ?? "embeddings", options.base), {
|
|
4
|
+
body: JSON.stringify(clean({
|
|
5
|
+
...options,
|
|
6
|
+
abortSignal: void 0,
|
|
7
|
+
base: void 0,
|
|
8
|
+
headers: void 0,
|
|
9
|
+
path: void 0
|
|
10
|
+
})),
|
|
11
|
+
headers: {
|
|
12
|
+
"Content-Type": "application/json",
|
|
13
|
+
...options.headers
|
|
14
|
+
},
|
|
15
|
+
method: "POST",
|
|
16
|
+
signal: options.abortSignal
|
|
17
|
+
}).then((res) => res.json()).then(({ data, usage }) => ({
|
|
18
|
+
embedding: data[0].embedding,
|
|
19
|
+
input: options.input,
|
|
20
|
+
usage
|
|
21
|
+
}));
|
|
28
22
|
|
|
29
|
-
|
|
23
|
+
const embedMany = async (options) => await fetch(requestUrl(options.path ?? "embeddings", options.base), {
|
|
24
|
+
body: JSON.stringify(clean({
|
|
25
|
+
...options,
|
|
26
|
+
abortSignal: void 0,
|
|
27
|
+
base: void 0,
|
|
28
|
+
headers: void 0,
|
|
29
|
+
path: void 0
|
|
30
|
+
})),
|
|
31
|
+
headers: {
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
...options.headers
|
|
34
|
+
},
|
|
35
|
+
method: "POST",
|
|
36
|
+
signal: options.abortSignal
|
|
37
|
+
}).then((res) => res.json()).then(({ data, usage }) => ({
|
|
38
|
+
embeddings: data.map((data2) => data2.embedding),
|
|
39
|
+
input: options.input,
|
|
40
|
+
usage
|
|
41
|
+
}));
|
|
42
|
+
|
|
43
|
+
export { embed as default, embed, embedMany };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xsai/embed",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "藍+85CD",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dist"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@xsai/shared": "^0.0.
|
|
26
|
+
"@xsai/shared": "^0.0.9"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "pkgroll",
|