@aalis/plugin-embedding-ollama 0.9.2 → 0.9.4

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 CHANGED
@@ -5,6 +5,10 @@ export declare const displayName = "Ollama Embedding";
5
5
  export declare const subsystem = "embedding";
6
6
  export declare const provides: string[];
7
7
  export declare const reusable = true;
8
+ /** doctor 为可选依赖:服务注册成功 != 模型可用,健康状况经 registerCheck 上报 */
9
+ export declare const inject: {
10
+ optional: string[];
11
+ };
8
12
  export declare const configSchema: ConfigSchema;
9
13
  export declare function apply(ctx: Context, config: Record<string, unknown>): Promise<void>;
10
14
  //# sourceMappingURL=index.d.ts.map
@@ -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,YAgB1B,CAAC;AAmGF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,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;AAC7B,yDAAyD;AACzD,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAgB1B,CAAC;AAmKF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAmExF"}
package/dist/index.js CHANGED
@@ -1,9 +1,14 @@
1
+ import { useDoctorService } from '@aalis/api-doctor';
1
2
  // ===== 插件元数据 =====
2
3
  export const name = '@aalis/plugin-embedding-ollama';
3
4
  export const displayName = 'Ollama Embedding';
4
5
  export const subsystem = 'embedding';
5
6
  export const provides = ['embedding'];
6
7
  export const reusable = true;
8
+ /** doctor 为可选依赖:服务注册成功 != 模型可用,健康状况经 registerCheck 上报 */
9
+ export const inject = {
10
+ optional: ['doctor'],
11
+ };
7
12
  export const configSchema = {
8
13
  baseUrl: {
9
14
  type: 'string',
@@ -26,6 +31,39 @@ function formatError(err) {
26
31
  return err.message;
27
32
  return String(err);
28
33
  }
34
+ /**
35
+ * 把响应体里的 error 一并带进错误消息。
36
+ *
37
+ * Ollama 对「模型没 pull」与「端点不存在」都答 404,只有响应体能区分
38
+ * (前者是 `model "xxx" not found, try pulling it first`)。只报状态码的话,
39
+ * 日志里就只剩一句没有信息量的「404 Not Found」,把人引向端点/网络方向排查。
40
+ */
41
+ function statusError(res, endpoint) {
42
+ let detail = '';
43
+ if (res.text) {
44
+ try {
45
+ const parsed = JSON.parse(res.text);
46
+ detail = typeof parsed.error === 'string' ? parsed.error : res.text;
47
+ }
48
+ catch {
49
+ detail = res.text;
50
+ }
51
+ }
52
+ const tail = detail ? ` —— ${detail.slice(0, 200)}` : '';
53
+ return new HttpStatusError(res.status, `Ollama embedding 请求失败 (${endpoint}): ${res.status} ${res.statusText}${tail}`);
54
+ }
55
+ /** 带 HTTP 状态码的响应错误:新旧 API 探测据此区分「端点不存在」与瞬态故障 */
56
+ class HttpStatusError extends Error {
57
+ status;
58
+ constructor(status, message) {
59
+ super(message);
60
+ this.status = status;
61
+ }
62
+ }
63
+ /** 只有「这个端点不存在」才足以判定该 Ollama 是旧版 */
64
+ function isEndpointMissing(err) {
65
+ return err instanceof HttpStatusError && (err.status === 404 || err.status === 405);
66
+ }
29
67
  // ===== 服务实现 =====
30
68
  class OllamaEmbeddingService {
31
69
  baseUrl;
@@ -40,6 +78,14 @@ class OllamaEmbeddingService {
40
78
  this.timeoutMs = Math.max(1000, timeoutMs);
41
79
  this.retries = Math.max(0, Math.floor(retries));
42
80
  }
81
+ /**
82
+ * 发请求**并把响应体读完**,整体落在同一个超时窗口内。
83
+ *
84
+ * 不能把 Response 原样交还调用方:`return res` 时 finally 已 clearTimeout,之后的
85
+ * res.json()/res.text() 不再受 AbortController 保护,遇上「发完响应头却迟迟不发体」的
86
+ * 对端(模型正加载进显存、反代半死)会一直等到 undici 默认 bodyTimeout(300s),
87
+ * 配置的「请求超时」形同虚设,索引路径上的一个并发槽也跟着被占住。
88
+ */
43
89
  async postJson(path, body) {
44
90
  let lastErr;
45
91
  for (let attempt = 0; attempt <= this.retries; attempt++) {
@@ -52,8 +98,11 @@ class OllamaEmbeddingService {
52
98
  body: JSON.stringify(body),
53
99
  signal: controller.signal,
54
100
  });
55
- if (res.ok || res.status < 500 || attempt >= this.retries)
56
- return res;
101
+ if (res.ok || res.status < 500 || attempt >= this.retries) {
102
+ return { ok: res.ok, status: res.status, statusText: res.statusText, text: await res.text() };
103
+ }
104
+ // 要重试:主动取消被丢弃的响应体,否则 undici 侧套接字被钉住到 GC
105
+ await res.body?.cancel().catch(() => undefined);
57
106
  lastErr = new Error(`HTTP ${res.status} ${res.statusText}`);
58
107
  }
59
108
  catch (err) {
@@ -68,16 +117,24 @@ class OllamaEmbeddingService {
68
117
  throw new Error(`Ollama embedding 请求失败: ${formatError(lastErr)}`);
69
118
  }
70
119
  async embed(text) {
71
- // 如果还没检测过,先尝试新版 API
120
+ // 如果还没检测过,先尝试新版 API。
121
+ // 只有明确的 404/405(端点不存在)才值得试旧端点:网络不通/超时/5xx 是瞬态故障
122
+ // (典型场景是 Ollama 晚于 Aalis 起来,启动探测正好撞上),原样抛出并保持 null,
123
+ // 下次调用重探——否则一次瞬态失败会把整个生命周期钉在已弃用端点上。
124
+ // 新端点 404 本身也不足以判定是旧版:模型没 pull 时新旧两个端点都答 404。
125
+ // 所以结论只在旧端点真答上来之后才钉成「旧版」,否则连同错误一起抛出、保持 null。
72
126
  if (this.useNewApi === null) {
73
127
  try {
74
128
  const vec = await this.embedNew(text);
75
129
  this.useNewApi = true;
76
130
  return vec;
77
131
  }
78
- catch {
132
+ catch (err) {
133
+ if (!isEndpointMissing(err))
134
+ throw err;
135
+ const vec = await this.embedLegacy(text);
79
136
  this.useNewApi = false;
80
- return this.embedLegacy(text);
137
+ return vec;
81
138
  }
82
139
  }
83
140
  return this.useNewApi ? this.embedNew(text) : this.embedLegacy(text);
@@ -86,18 +143,18 @@ class OllamaEmbeddingService {
86
143
  async embedNew(text) {
87
144
  const res = await this.postJson('/api/embed', { model: this.model, input: text });
88
145
  if (!res.ok) {
89
- throw new Error(`Ollama embedding 请求失败: ${res.status} ${res.statusText}`);
146
+ throw statusError(res, '/api/embed');
90
147
  }
91
- const data = (await res.json());
148
+ const data = JSON.parse(res.text);
92
149
  return data.embeddings[0];
93
150
  }
94
151
  /** 旧版 Ollama API: POST /api/embeddings */
95
152
  async embedLegacy(text) {
96
153
  const res = await this.postJson('/api/embeddings', { model: this.model, prompt: text });
97
154
  if (!res.ok) {
98
- throw new Error(`Ollama embedding 请求失败: ${res.status} ${res.statusText}`);
155
+ throw statusError(res, '/api/embeddings');
99
156
  }
100
- const data = (await res.json());
157
+ const data = JSON.parse(res.text);
101
158
  return data.embedding;
102
159
  }
103
160
  async listModels() {
@@ -106,8 +163,11 @@ class OllamaEmbeddingService {
106
163
  if (!res.ok)
107
164
  return [];
108
165
  const data = (await res.json());
109
- // 过滤出 embedding 类模型(名称中包含 embed 的)
110
- // 如果没有特征可辨别,返回全部让用户自己选
166
+ // 原样返回本机全部模型,不按名字筛。曾改成「筛出名称含 embed 的、筛空回退全量」,
167
+ // 判否:混合场景(同时有 nomic-embed-text 与 bge-m3)会把后者从下拉里剔掉,而本字段
168
+ // 是 select、没有自由输入(allowCustom 只在 multiselect 分支实现),用户除了手改
169
+ // 配置文件没有别的出路。选错模型的代价小于选不到模型,且模型不可用现在由
170
+ // doctor 检查项直接报出来,不再依赖候选列表去做引导。
111
171
  return data.models.map(m => m.name);
112
172
  }
113
173
  catch {
@@ -132,5 +192,56 @@ export async function apply(ctx, config) {
132
192
  ctx.logger.warn(`Ollama Embedding 连通性检查失败 (${baseUrl}, model=${model}): ${msg},服务仍将注册`);
133
193
  }
134
194
  ctx.provide('embedding', service, { label: `Ollama / ${model}` });
195
+ // 连通性失败只 warn、服务照常注册,是刻意的(Ollama 可能晚于 Aalis 起来)。
196
+ // 代价是「服务在、但每次调用都失败」这一态对用户完全不可见:/status 只判存在性,
197
+ // 插件状态是 active,向量记忆则每条消息静默失败。把真实健康状况交给 doctor 上报。
198
+ // doctor 的 runChecks 顺序 await 且不设超时(plugin-doctor/src/index.ts:runChecks),
199
+ // 而 embed 最长要等 (retries + 1) × timeoutMs(默认 60s)。/doctor 正是出问题时才跑的
200
+ // 命令,不能被一条网络探测拖住:探测自带上限,取 5s 与配置超时中的小者。
201
+ // 与服务构造函数的 clamp 对齐(this.timeoutMs = Math.max(1000, timeoutMs)):
202
+ // 直接取原始配置值的话,timeoutMs 填 0 会让探测立刻 reject,/doctor 恒报假阳性。
203
+ const probeTimeoutMs = Math.min(5_000, Math.max(1_000, timeoutMs));
204
+ // 本插件 reusable=true,可按 `name:suffix` 起多实例;doctor 以 spec.id 为键,
205
+ // 同 id 重复注册后者覆盖前者——两个实例共用一个 id 就只有一个的健康度可见,
206
+ // 恰是这条检查要堵的洞。默认实例保持 `embedding.ollama`,多实例带上后缀。
207
+ const checkId = ctx.id?.startsWith(`${name}:`)
208
+ ? `embedding.ollama.${ctx.id.slice(name.length + 1)}`
209
+ : 'embedding.ollama';
210
+ useDoctorService(ctx).registerCheck({
211
+ id: checkId,
212
+ category: 'service',
213
+ // 不写死 pluginName:useDoctorService 会填 ctx.id,多实例才分得清是哪一个
214
+ async run() {
215
+ let timer;
216
+ try {
217
+ await Promise.race([
218
+ service.embed('ping'),
219
+ new Promise((_, reject) => {
220
+ timer = setTimeout(() => reject(new Error(`探测超时(${probeTimeoutMs}ms)`)), probeTimeoutMs);
221
+ timer.unref?.(); // 待定的探测计时器不该挡住进程优雅退出
222
+ }),
223
+ ]);
224
+ return {
225
+ id: checkId,
226
+ category: 'service',
227
+ level: 'ok',
228
+ message: `Ollama Embedding 可用 (${model} @ ${baseUrl})`,
229
+ };
230
+ }
231
+ catch (err) {
232
+ return {
233
+ id: checkId,
234
+ category: 'service',
235
+ level: 'error',
236
+ message: `Ollama Embedding 不可用 (${model} @ ${baseUrl})——向量记忆不工作`,
237
+ detail: formatError(err),
238
+ };
239
+ }
240
+ finally {
241
+ if (timer)
242
+ clearTimeout(timer);
243
+ }
244
+ },
245
+ });
135
246
  }
136
247
  //# 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":"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"}
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-ollama",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,21 +26,25 @@
26
26
  "devDependencies": {
27
27
  "@types/node": "^22.0.0",
28
28
  "typescript": "^5.7.0",
29
- "@aalis/core": "0.11.0",
30
- "@aalis/api-webui": "0.9.0",
31
- "@aalis/api-embedding": "0.5.0"
29
+ "@aalis/api-embedding": "0.5.0",
30
+ "@aalis/core": "0.12.1",
31
+ "@aalis/api-webui": "0.9.2"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@aalis/core": ">=0.11.0 <1.0.0"
35
35
  },
36
36
  "aalis": {
37
37
  "service": {
38
+ "optional": [
39
+ "doctor"
40
+ ],
38
41
  "provides": [
39
42
  "embedding"
40
43
  ]
41
44
  }
42
45
  },
43
46
  "dependencies": {
47
+ "@aalis/api-doctor": ">=0.5.0 <1.0.0",
44
48
  "@aalis/schema-config": ">=0.9.0 <1.0.0"
45
49
  },
46
50
  "scripts": {