@vivantel/virage-store-postgres 0.2.26 → 0.2.28

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.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iCAAiC;IACjC,WAAW,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CAC1C;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,OAAO,EAAE,0BAA0B;IAY/C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,KAAK,IAAI,GAQf;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,MAAM,CACV,IAAI,EAAE,KAAK,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,GACD,OAAO,CAAC,IAAI,CAAC;IA2BV,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAYrD,OAAO,CAAC,aAAa;IAqBf,MAAM,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAgD1B,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAIpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAG3E"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAS/B,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iCAAiC;IACjC,WAAW,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CAC1C;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,OAAO,EAAE,0BAA0B;IAY/C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,KAAK,IAAI,GAQf;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B,MAAM,CACV,IAAI,EAAE,KAAK,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,GACD,OAAO,CAAC,IAAI,CAAC;IA2BV,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAYrD,OAAO,CAAC,aAAa;IAqBf,MAAM,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAyG1B,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAIpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAG3E"}
package/dist/store.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { rrfMerge } from "@vivantel/virage-core";
1
2
  import pg from "pg";
2
3
  import pgvector from "pgvector/pg";
3
4
  import { getIndexStats } from "./stats.js";
@@ -56,6 +57,16 @@ export class PostgresVectorStore {
56
57
  await client.query(`
57
58
  ALTER TABLE ${this.table}
58
59
  ADD COLUMN IF NOT EXISTS ingested_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
60
+ `);
61
+ // FTS column for hybrid search — generated, always up-to-date
62
+ await client.query(`
63
+ ALTER TABLE ${this.table}
64
+ ADD COLUMN IF NOT EXISTS content_tsv tsvector
65
+ GENERATED ALWAYS AS (to_tsvector('english', content)) STORED
66
+ `);
67
+ await client.query(`
68
+ CREATE INDEX IF NOT EXISTS ${this.table}_tsv_idx
69
+ ON ${this.table} USING gin(content_tsv)
59
70
  `);
60
71
  await client.query(this.buildIndexSQL());
61
72
  this.logger?.debug(`Index type: ${this.indexType}, params: ${JSON.stringify(this.indexParams)}`);
@@ -118,36 +129,71 @@ export class PostgresVectorStore {
118
129
  async search(embedding, topK, _collection, options) {
119
130
  const alpha = options?.alpha ?? 0.85;
120
131
  const beta = options?.beta ?? 0.15;
121
- this.logger?.debug(`Search: topK=${topK}, alpha=${alpha}, beta=${beta}`);
132
+ const useHybrid = options?.hybrid === true && options.queryText;
133
+ this.logger?.debug(`Search: topK=${topK}, alpha=${alpha}, beta=${beta}, hybrid=${useHybrid ?? false}`);
122
134
  const client = await this.pool.connect();
123
135
  try {
124
136
  await pgvector.registerTypes(client);
125
- const { rows } = await client.query(`SELECT id, content, metadata, source_file,
126
- 1 - (embedding <=> $1) AS similarity,
127
- ingested_at
128
- FROM ${this.table}
129
- ORDER BY embedding <=> $1
130
- LIMIT $2`, [pgvector.toSql(embedding), topK * 2]);
131
- const now = Date.now();
132
- const results = rows.map((r) => {
133
- const ingestedAt = r.ingested_at ?? null;
134
- const recencyScore = ingestedAt
135
- ? Math.exp(-(now - ingestedAt.getTime()) / (1000 * 60 * 60 * 24 * 30))
136
- : 0;
137
- return {
138
- id: String(r.id),
139
- content: r.content,
140
- metadata: r.metadata,
141
- sourceFile: r.source_file,
142
- similarity: r.similarity,
143
- ingestedAt: ingestedAt ?? undefined,
144
- _composite: r.similarity * alpha + recencyScore * beta,
145
- };
146
- });
147
- return results
137
+ const fetchLimit = topK * 2;
138
+ const runVectorQuery = async () => {
139
+ const { rows } = await client.query(`SELECT id, content, metadata, source_file,
140
+ 1 - (embedding <=> $1) AS similarity,
141
+ ingested_at
142
+ FROM ${this.table}
143
+ ORDER BY embedding <=> $1
144
+ LIMIT $2`, [pgvector.toSql(embedding), fetchLimit]);
145
+ const now = Date.now();
146
+ return rows.map((r) => {
147
+ const ingestedAt = r.ingested_at ?? null;
148
+ const recencyScore = ingestedAt
149
+ ? Math.exp(-(now - ingestedAt.getTime()) / (1000 * 60 * 60 * 24 * 30))
150
+ : 0;
151
+ return {
152
+ id: String(r.id),
153
+ content: r.content,
154
+ metadata: r.metadata,
155
+ sourceFile: r.source_file,
156
+ similarity: r.similarity,
157
+ ingestedAt: ingestedAt ?? undefined,
158
+ _composite: r.similarity * alpha + recencyScore * beta,
159
+ };
160
+ });
161
+ };
162
+ if (!useHybrid) {
163
+ const rows = await runVectorQuery();
164
+ return rows
165
+ .sort((a, b) => b._composite - a._composite)
166
+ .slice(0, topK)
167
+ .map(({ _composite: _, ...rest }) => rest);
168
+ }
169
+ const runFtsQuery = async () => {
170
+ try {
171
+ const { rows } = await client.query(`SELECT id, content, metadata, source_file,
172
+ ts_rank_cd(content_tsv, query) AS fts_score
173
+ FROM ${this.table}, plainto_tsquery('english', $1) query
174
+ WHERE content_tsv @@ query
175
+ ORDER BY fts_score DESC
176
+ LIMIT $2`, [options.queryText, fetchLimit]);
177
+ return rows.map((r) => ({
178
+ id: String(r.id),
179
+ content: r.content,
180
+ metadata: r.metadata,
181
+ sourceFile: r.source_file,
182
+ similarity: r.fts_score,
183
+ }));
184
+ }
185
+ catch {
186
+ return [];
187
+ }
188
+ };
189
+ const [vectorRaw, ftsResults] = await Promise.all([
190
+ runVectorQuery(),
191
+ runFtsQuery(),
192
+ ]);
193
+ const vectorResults = vectorRaw
148
194
  .sort((a, b) => b._composite - a._composite)
149
- .slice(0, topK)
150
195
  .map(({ _composite: _, ...rest }) => rest);
196
+ return rrfMerge(vectorResults, ftsResults, topK, options?.hybridAlpha ?? 0.6);
151
197
  }
152
198
  finally {
153
199
  client.release();
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vivantel/virage-store-postgres",
3
- "version": "0.2.26",
3
+ "version": "0.2.28",
4
4
  "description": "PostgreSQL + pgvector store for @vivantel/rag-core",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,12 +52,12 @@
52
52
  "@vivantel/virage-core": "*"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "^25.9.2",
55
+ "@types/node": "^25.9.3",
56
56
  "@types/pg": "^8.0.0",
57
57
  "@vitest/coverage-v8": "^4.1.8",
58
- "@vivantel/virage-core": "0.2.25",
58
+ "@vivantel/virage-core": "0.2.27",
59
59
  "typescript": "^6.0.3",
60
- "vitest": "^4.1.8"
60
+ "vitest": "^4.1.9"
61
61
  },
62
62
  "engines": {
63
63
  "node": ">=18.0.0"