@aalis/plugin-embedding-openai 0.12.0 → 0.13.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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -16
- package/dist/index.js.map +1 -1
- package/package.json +5 -6
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AA6FA,wBA2BG"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { embedding } from '@aalis/api-embedding';
|
|
2
2
|
import { config, definePlugin, lifecycle, logger, provide } from '@aalis/core';
|
|
3
|
-
import {
|
|
3
|
+
import { configError, defineConfig, parseConfig } from '@aalis/schema-config';
|
|
4
4
|
// ===== 配置 =====
|
|
5
|
-
const configSchema = {
|
|
6
|
-
apiKey: {
|
|
5
|
+
const configSchema = defineConfig({
|
|
6
|
+
apiKey: {
|
|
7
|
+
type: 'string',
|
|
8
|
+
label: 'API Key',
|
|
9
|
+
required: true,
|
|
10
|
+
secret: true,
|
|
11
|
+
onInvalid: 'error',
|
|
12
|
+
description: 'OpenAI API 密钥',
|
|
13
|
+
},
|
|
7
14
|
baseUrl: {
|
|
8
15
|
type: 'string',
|
|
9
16
|
label: 'API 地址',
|
|
10
17
|
default: 'https://api.openai.com/v1',
|
|
18
|
+
onInvalid: 'error',
|
|
11
19
|
description: 'API 端点完整前缀(含版本段);插件只在其后拼 /embeddings 与 /models',
|
|
12
20
|
},
|
|
13
21
|
model: {
|
|
@@ -23,7 +31,7 @@ const configSchema = {
|
|
|
23
31
|
default: 30000,
|
|
24
32
|
description: '单次 embedding 请求超时时间。不设上限时启动探测会把插件激活链整条钉住。',
|
|
25
33
|
},
|
|
26
|
-
};
|
|
34
|
+
});
|
|
27
35
|
// ===== 服务实现 =====
|
|
28
36
|
class OpenAIEmbeddingService {
|
|
29
37
|
modelId;
|
|
@@ -85,25 +93,22 @@ export default definePlugin({
|
|
|
85
93
|
provides: [embedding],
|
|
86
94
|
uses: { config, logger, lifecycle, provide },
|
|
87
95
|
async apply({ config, logger, lifecycle, provide }) {
|
|
88
|
-
const
|
|
89
|
-
if (!
|
|
90
|
-
throw
|
|
96
|
+
const cfg = parseConfig(configSchema, config.use, logger.use);
|
|
97
|
+
if (!URL.canParse(cfg.baseUrl) || new URL(cfg.baseUrl).username || new URL(cfg.baseUrl).password) {
|
|
98
|
+
throw configError('baseUrl 需为不带用户名或密码的完整 URL');
|
|
91
99
|
}
|
|
92
|
-
const
|
|
93
|
-
const model = config.model ?? 'text-embedding-3-small';
|
|
94
|
-
const timeoutMs = config.timeoutMs ?? 30000;
|
|
95
|
-
const service = new OpenAIEmbeddingService(baseUrl, model, apiKey, timeoutMs);
|
|
100
|
+
const service = new OpenAIEmbeddingService(cfg.baseUrl, cfg.model, cfg.apiKey, cfg.timeoutMs);
|
|
96
101
|
// 启动时检查连通性(失败不阻塞,只警告);停用或停机时中止
|
|
97
102
|
try {
|
|
98
|
-
await service.embed('ping', { signal: lifecycle.signal });
|
|
99
|
-
logger.info(`OpenAI Embedding 已就绪: ${model} @ ${baseUrl}`);
|
|
103
|
+
await service.embed('ping', { signal: lifecycle.use.signal });
|
|
104
|
+
logger.use.info(`OpenAI Embedding 已就绪: ${cfg.model} @ ${cfg.baseUrl}`);
|
|
100
105
|
}
|
|
101
106
|
catch (err) {
|
|
102
|
-
lifecycle.signal.throwIfAborted();
|
|
107
|
+
lifecycle.use.signal.throwIfAborted();
|
|
103
108
|
const msg = err instanceof Error ? err.message : String(err);
|
|
104
|
-
logger.warn(`OpenAI Embedding 连通性检查失败 (${baseUrl}, model=${model}): ${msg},服务仍将注册`);
|
|
109
|
+
logger.use.warn(`OpenAI Embedding 连通性检查失败 (${cfg.baseUrl}, model=${cfg.model}): ${msg},服务仍将注册`);
|
|
105
110
|
}
|
|
106
|
-
provide(embedding, service, { label: `OpenAI / ${model}` });
|
|
111
|
+
provide.use(embedding, service, { label: `OpenAI / ${cfg.model}` });
|
|
107
112
|
},
|
|
108
113
|
});
|
|
109
114
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
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.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,11 +26,10 @@
|
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
28
28
|
"typescript": "^5.7.0",
|
|
29
|
-
"@aalis/core": "0.
|
|
30
|
-
"@aalis/api-webui": "0.11.0"
|
|
29
|
+
"@aalis/core": "0.20.0"
|
|
31
30
|
},
|
|
32
31
|
"peerDependencies": {
|
|
33
|
-
"@aalis/core": ">=0.
|
|
32
|
+
"@aalis/core": ">=0.20.0 <1.0.0"
|
|
34
33
|
},
|
|
35
34
|
"aalis": {
|
|
36
35
|
"service": {
|
|
@@ -46,8 +45,8 @@
|
|
|
46
45
|
}
|
|
47
46
|
},
|
|
48
47
|
"dependencies": {
|
|
49
|
-
"@aalis/api-embedding": ">=0.
|
|
50
|
-
"@aalis/schema-config": ">=0.
|
|
48
|
+
"@aalis/api-embedding": ">=0.8.0 <1.0.0",
|
|
49
|
+
"@aalis/schema-config": ">=0.15.0 <1.0.0"
|
|
51
50
|
},
|
|
52
51
|
"scripts": {
|
|
53
52
|
"build": "tsc",
|