@aalis/plugin-embedding-openai 0.10.0 → 0.10.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/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAgB,CAAC;AACtC,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAgB,CAAC;AACtC,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,YAqB1B,CAAC;AAwDF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BxF"}
|
package/dist/index.js
CHANGED
|
@@ -19,18 +19,28 @@ export const configSchema = {
|
|
|
19
19
|
dynamicOptions: 'embedding',
|
|
20
20
|
description: '用于生成文本向量的模型',
|
|
21
21
|
},
|
|
22
|
+
timeoutMs: {
|
|
23
|
+
type: 'number',
|
|
24
|
+
label: '请求超时 (ms)',
|
|
25
|
+
default: 30000,
|
|
26
|
+
description: '单次 embedding 请求超时时间。不设上限时启动探测会把插件激活链整条钉住。',
|
|
27
|
+
},
|
|
22
28
|
};
|
|
23
29
|
// ===== 服务实现 =====
|
|
24
30
|
class OpenAIEmbeddingService {
|
|
25
31
|
baseUrl;
|
|
26
32
|
model;
|
|
27
33
|
apiKey;
|
|
28
|
-
|
|
34
|
+
timeoutMs;
|
|
35
|
+
constructor(baseUrl, model, apiKey, timeoutMs = 30000) {
|
|
29
36
|
this.baseUrl = baseUrl.replace(/\/+$/, '');
|
|
30
37
|
this.model = model;
|
|
31
38
|
this.apiKey = apiKey;
|
|
39
|
+
this.timeoutMs = Math.max(1000, timeoutMs);
|
|
32
40
|
}
|
|
33
|
-
async embed(text) {
|
|
41
|
+
async embed(text, options) {
|
|
42
|
+
options?.signal?.throwIfAborted();
|
|
43
|
+
const timeoutSignal = AbortSignal.timeout(this.timeoutMs);
|
|
34
44
|
const res = await fetch(`${this.baseUrl}/embeddings`, {
|
|
35
45
|
method: 'POST',
|
|
36
46
|
headers: {
|
|
@@ -38,6 +48,10 @@ class OpenAIEmbeddingService {
|
|
|
38
48
|
Authorization: `Bearer ${this.apiKey}`,
|
|
39
49
|
},
|
|
40
50
|
body: JSON.stringify({ model: this.model, input: text }),
|
|
51
|
+
// 没有 signal 的话这次请求永不自行了结:apply 的启动探测 await 它,而插件激活是串行的
|
|
52
|
+
// (PluginManager.recompute 逐个 await activatePlugin),一个卡住的 apply 会钉住整条引导链;
|
|
53
|
+
// 索引路径上则是 memory-vector 的一个并发槽被无限期占用。
|
|
54
|
+
signal: options?.signal ? AbortSignal.any([timeoutSignal, options.signal]) : timeoutSignal,
|
|
41
55
|
});
|
|
42
56
|
if (!res.ok) {
|
|
43
57
|
throw new Error(`OpenAI embedding 请求失败: ${res.status} ${res.statusText}`);
|
|
@@ -49,6 +63,7 @@ class OpenAIEmbeddingService {
|
|
|
49
63
|
try {
|
|
50
64
|
const res = await fetch(`${this.baseUrl}/models`, {
|
|
51
65
|
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
66
|
+
signal: AbortSignal.timeout(this.timeoutMs),
|
|
52
67
|
});
|
|
53
68
|
if (!res.ok)
|
|
54
69
|
return [];
|
|
@@ -74,7 +89,8 @@ export async function apply(ctx, config) {
|
|
|
74
89
|
baseUrl = 'https://api.openai.com/v1';
|
|
75
90
|
}
|
|
76
91
|
const model = config.model ?? 'text-embedding-3-small';
|
|
77
|
-
const
|
|
92
|
+
const timeoutMs = config.timeoutMs ?? 30000;
|
|
93
|
+
const service = new OpenAIEmbeddingService(baseUrl, model, apiKey, timeoutMs);
|
|
78
94
|
// 启动时检查连通性(失败不阻塞,只警告)
|
|
79
95
|
try {
|
|
80
96
|
await service.embed('ping');
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,oBAAoB;AAEpB,MAAM,CAAC,MAAM,IAAI,GAAG,gCAAgC,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;IACxG,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,gDAAgD;KAC9D;IACD,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,wBAAwB;QACjC,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC;AAEF,mBAAmB;AAEnB,MAAM,sBAAsB;IAClB,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-embedding-openai",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
28
28
|
"typescript": "^5.7.0",
|
|
29
|
-
"@aalis/core": "0.12.
|
|
30
|
-
"@aalis/api-
|
|
31
|
-
"@aalis/api-
|
|
29
|
+
"@aalis/core": "0.12.1",
|
|
30
|
+
"@aalis/api-embedding": "0.5.1",
|
|
31
|
+
"@aalis/api-webui": "0.9.2"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@aalis/core": ">=0.11.0 <1.0.0"
|