@askdb/rag 0.2.0-beta.2 → 0.2.0-beta.3
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,4 +1,4 @@
|
|
|
1
|
-
import type { VectorStore } from "../types.js";
|
|
1
|
+
import type { Filter, VectorStore } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Minimal `pg`-compatible client shape so this module can stay free of a
|
|
4
4
|
* hard dependency on the `pg` package. Consumers pass either a `pg.Pool`,
|
|
@@ -29,6 +29,8 @@ export type PgvectorStore = VectorStore & {
|
|
|
29
29
|
setupSql(): string;
|
|
30
30
|
/** Close any pool the adapter built internally. No-op when an external client was supplied. */
|
|
31
31
|
close(): Promise<void>;
|
|
32
|
+
/** Diagnostic helper for hosts that need to verify persisted row counts. */
|
|
33
|
+
count(filter?: Filter): Promise<number>;
|
|
32
34
|
};
|
|
33
35
|
/**
|
|
34
36
|
* pgvector adapter. Follows the same `VectorStore` interface as the other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgvector.d.ts","sourceRoot":"","sources":["../../src/stores/pgvector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pgvector.d.ts","sourceRoot":"","sources":["../../src/stores/pgvector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,MAAM,EAGN,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhE,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,6DAA6D;IAC7D,QAAQ,IAAI,MAAM,CAAC;IACnB,+FAA+F;IAC/F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4EAA4E;IAC5E,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,aAAa,CAiNf"}
|
package/dist/stores/pgvector.js
CHANGED
|
@@ -114,6 +114,28 @@ export function createPgvectorStore(options) {
|
|
|
114
114
|
const c = await getClient();
|
|
115
115
|
await c.query(`DELETE FROM ${quoteIdent(table)} WHERE id = ANY($1::text[])`, [ids]);
|
|
116
116
|
};
|
|
117
|
+
const count = async (filter) => {
|
|
118
|
+
const c = await getClient();
|
|
119
|
+
const wheres = [];
|
|
120
|
+
const params = [];
|
|
121
|
+
if (filter?.schemaId !== undefined) {
|
|
122
|
+
params.push(filter.schemaId);
|
|
123
|
+
wheres.push(`schema_id = $${params.length}`);
|
|
124
|
+
}
|
|
125
|
+
if (filter?.types && filter.types.length > 0) {
|
|
126
|
+
params.push(filter.types);
|
|
127
|
+
wheres.push(`type = ANY($${params.length}::text[])`);
|
|
128
|
+
}
|
|
129
|
+
if (filter?.refs && filter.refs.length > 0) {
|
|
130
|
+
params.push(filter.refs);
|
|
131
|
+
wheres.push(`refs ?| $${params.length}::text[]`);
|
|
132
|
+
}
|
|
133
|
+
const whereSql = wheres.length > 0 ? `WHERE ${wheres.join(" AND ")}` : "";
|
|
134
|
+
const result = await c.query(`SELECT COUNT(*)::int AS count FROM ${quoteIdent(table)} ${whereSql}`, params);
|
|
135
|
+
const row = result.rows[0];
|
|
136
|
+
const raw = row?.count;
|
|
137
|
+
return typeof raw === "number" ? raw : Number(raw ?? 0);
|
|
138
|
+
};
|
|
117
139
|
const setupSql = () => {
|
|
118
140
|
const indexClause = indexStrategy === "hnsw"
|
|
119
141
|
? `CREATE INDEX IF NOT EXISTS ${quoteIdent(`${table}_embedding_hnsw`)} ON ${quoteIdent(table)} USING hnsw (embedding vector_cosine_ops);`
|
|
@@ -156,6 +178,7 @@ export function createPgvectorStore(options) {
|
|
|
156
178
|
upsert,
|
|
157
179
|
query,
|
|
158
180
|
delete: del,
|
|
181
|
+
count,
|
|
159
182
|
hashesByPrefix,
|
|
160
183
|
setupSql,
|
|
161
184
|
close,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgvector.js","sourceRoot":"","sources":["../../src/stores/pgvector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pgvector.js","sourceRoot":"","sources":["../../src/stores/pgvector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/rag",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.3",
|
|
4
4
|
"description": "AskDB RAG layer: deterministic chunker over Schema v2, BYO embedder + vector store (in-memory, file-backed, pgvector), and an optional retriever wired into @askdb/core ask().",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"node": ">=20"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@askdb/
|
|
69
|
-
"@askdb/
|
|
68
|
+
"@askdb/core": "0.5.0-beta.4",
|
|
69
|
+
"@askdb/config": "0.3.0-beta.2"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"@ai-sdk/openai": ">=1",
|