@aalis/plugin-vectorstore-flat 0.4.0 → 0.5.1

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
@@ -1,4 +1,6 @@
1
1
  import type { ConfigSchema, Context } from '@aalis/core';
2
+ import { type StorageService } from '@aalis/plugin-storage-api';
3
+ import type { VectorSearchResult, VectorStoreService } from '@aalis/plugin-vectorstore-api';
2
4
  export declare const name = "@aalis/plugin-vectorstore-flat";
3
5
  export declare const displayName = "Flat \u5411\u91CF\u5E93";
4
6
  export declare const subsystem = "embedding";
@@ -7,5 +9,28 @@ export declare const configSchema: ConfigSchema;
7
9
  export declare const defaultConfig: {
8
10
  path: string;
9
11
  };
12
+ export declare class FlatVectorStore implements VectorStoreService {
13
+ private readonly logger?;
14
+ private entries;
15
+ private readonly storage;
16
+ private readonly dataUri;
17
+ private dirty;
18
+ /** 维度不匹配只告警一次,避免每次召回刷屏 */
19
+ private warnedDimMismatch;
20
+ /** save 串行链:并发索引会并发调 save(),串行化避免裸 writeFile 同路径并发写损坏 JSON */
21
+ private saveChain;
22
+ constructor(storage: StorageService, dataUri: string, logger?: {
23
+ warn: (msg: string, ...args: unknown[]) => void;
24
+ } | undefined);
25
+ /** 启动加载(由 apply 调用) */
26
+ init(): Promise<void>;
27
+ size(): Promise<number>;
28
+ add(vector: number[], metadata: Record<string, unknown>): Promise<void>;
29
+ clear(): Promise<void>;
30
+ deleteByFilter(filter: Record<string, unknown>): Promise<number>;
31
+ search(queryVector: number[], topK: number): Promise<VectorSearchResult[]>;
32
+ save(): Promise<void>;
33
+ private doSave;
34
+ }
10
35
  export declare function apply(ctx: Context, config: Record<string, unknown>): Promise<void>;
11
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMzD,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,4BAAa,CAAC;AACtC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE,YAO1B,CAAC;AAEF,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAqHF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAwB,KAAK,cAAc,EAAgB,MAAM,2BAA2B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAI5F,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,4BAAa,CAAC;AACtC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE,YAO1B,CAAC;AAEF,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAmCF,qBAAa,eAAgB,YAAW,kBAAkB;IAatD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAZ1B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB,0BAA0B;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,8DAA8D;IAC9D,OAAO,CAAC,SAAS,CAAoC;gBAGnD,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACE,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,YAAA;IAM/E,uBAAuB;IACjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAcrB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAahE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAqB1E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAOb,MAAM;CAYrB;AAID,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBxF"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createStorageGateway } from '@aalis/plugin-storage-api';
1
+ import { createStorageGateway, toStorageUri } from '@aalis/plugin-storage-api';
2
2
  // ===== 插件元数据 =====
3
3
  export const name = '@aalis/plugin-vectorstore-flat';
4
4
  export const displayName = 'Flat 向量库';
@@ -17,6 +17,10 @@ export const defaultConfig = {
17
17
  };
18
18
  // ===== 向量计算 =====
19
19
  function dotProduct(a, b) {
20
+ // 维度不一致(多半换了 embedding 模型却复用旧库)→ 返回 -Infinity 而非读越界产 NaN:
21
+ // 不匹配项自然排到末尾、并被下游 minScore 过滤掉,不污染排序、不静默清空。
22
+ if (a.length !== b.length)
23
+ return Number.NEGATIVE_INFINITY;
20
24
  let sum = 0;
21
25
  for (let i = 0; i < a.length; i++)
22
26
  sum += a[i] * b[i];
@@ -31,12 +35,16 @@ function normalize(vec) {
31
35
  return vec;
32
36
  return vec.map(v => v / norm);
33
37
  }
34
- class FlatVectorStore {
38
+ export class FlatVectorStore {
35
39
  logger;
36
40
  entries = [];
37
41
  storage;
38
42
  dataUri;
39
43
  dirty = false;
44
+ /** 维度不匹配只告警一次,避免每次召回刷屏 */
45
+ warnedDimMismatch = false;
46
+ /** save 串行链:并发索引会并发调 save(),串行化避免裸 writeFile 同路径并发写损坏 JSON */
47
+ saveChain = Promise.resolve();
40
48
  constructor(storage, dataUri, logger) {
41
49
  this.logger = logger;
42
50
  this.storage = storage;
@@ -87,6 +95,11 @@ class FlatVectorStore {
87
95
  if (this.entries.length === 0)
88
96
  return [];
89
97
  const q = normalize(queryVector);
98
+ // 维度不符:疑似更换了 embedding 模型却复用旧库。告警一次(可操作),不匹配项由 dotProduct 返回 -Infinity 自然剔除。
99
+ if (q.length !== this.entries[0].vector.length && !this.warnedDimMismatch) {
100
+ this.warnedDimMismatch = true;
101
+ this.logger?.warn(`向量维度不匹配(查询 ${q.length} 维 vs 库 ${this.entries[0].vector.length} 维):疑似更换了 embedding 模型,记忆召回将失效。请清空向量库(${this.dataUri})后重建。`);
102
+ }
90
103
  const scored = this.entries.map(e => ({
91
104
  score: dotProduct(q, e.vector),
92
105
  metadata: e.metadata,
@@ -95,13 +108,21 @@ class FlatVectorStore {
95
108
  return scored.slice(0, Math.min(topK, scored.length));
96
109
  }
97
110
  async save() {
111
+ // 串行化:并发索引(默认 concurrency=10)会并发调 save(),裸 writeFile 同路径并发写可交错损坏 JSON
112
+ // → 下次 init 时 JSON.parse 失败、整库静默清空。链式确保同一时刻只有一个写在跑。
113
+ this.saveChain = this.saveChain.then(() => this.doSave());
114
+ return this.saveChain;
115
+ }
116
+ async doSave() {
98
117
  if (!this.dirty)
99
118
  return;
119
+ this.dirty = false; // 先清脏;期间新 add 会重新置脏,触发下一次链式 save
120
+ const data = JSON.stringify(this.entries);
100
121
  try {
101
- await this.storage.writeFile(this.dataUri, JSON.stringify(this.entries));
102
- this.dirty = false;
122
+ await this.storage.writeFile(this.dataUri, data);
103
123
  }
104
124
  catch (err) {
125
+ this.dirty = true; // 失败重标脏,下次重试
105
126
  const msg = err instanceof Error ? err.message : String(err);
106
127
  this.logger?.warn(`向量数据保存失败: ${msg}`);
107
128
  }
@@ -113,13 +134,7 @@ export async function apply(ctx, config) {
113
134
  path: config.path ?? 'data:/vectorstore',
114
135
  };
115
136
  // 兼容旧格式 “data/vectorstore”
116
- function toUri(input) {
117
- if (input.includes(':/'))
118
- return input;
119
- const s = input.trim().replace(/^\.?\/+/, '');
120
- const idx = s.indexOf('/');
121
- return idx > 0 ? `${s.slice(0, idx)}:/${s.slice(idx + 1)}` : `${s}:/`;
122
- }
137
+ const toUri = (input) => toStorageUri(input);
123
138
  const dirUri = toUri(storeConfig.path);
124
139
  const dataUri = dirUri.endsWith('/') ? `${dirUri}vectors.json` : `${dirUri}/vectors.json`;
125
140
  const storage = createStorageGateway(ctx);
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-vectorstore-flat",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "license": "MIT",
5
5
  "description": "向量库 —— 内置平面文件实现(零依赖)",
6
6
  "type": "module",
@@ -14,13 +14,13 @@
14
14
  "dist"
15
15
  ],
16
16
  "dependencies": {
17
- "@aalis/plugin-storage-api": "^0.4.0"
17
+ "@aalis/plugin-storage-api": "^0.5.2"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/node": "^22.0.0",
21
21
  "typescript": "^5.7.0",
22
- "@aalis/plugin-vectorstore-api": "0.4.0",
23
- "@aalis/core": "0.4.0"
22
+ "@aalis/core": "0.5.0",
23
+ "@aalis/plugin-vectorstore-api": "0.5.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "@aalis/core": ">=0.2.0 <1.0.0"