@askdb/rag 0.2.0-beta.30 → 0.2.0-beta.31
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/README.md +2 -4
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -7
- package/dist/embedders/openai.d.ts +0 -25
- package/dist/embedders/openai.d.ts.map +0 -1
- package/dist/embedders/openai.js +0 -34
- package/dist/embedders/openai.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Deterministic retrieval over AskDB Schema v2 artifacts. `@askdb/rag` chunks the
|
|
|
10
10
|
pnpm add @askdb/rag @askdb/core ai
|
|
11
11
|
# only if you use the pgvector adapter:
|
|
12
12
|
pnpm add pg
|
|
13
|
-
# only if you
|
|
13
|
+
# only if you build OpenAI embedding models with the AI SDK yourself:
|
|
14
14
|
pnpm add @ai-sdk/openai
|
|
15
15
|
```
|
|
16
16
|
|
|
@@ -87,7 +87,6 @@ All exports are available from the root `@askdb/rag` import. Sub-path imports ar
|
|
|
87
87
|
| `createAiSdkEmbedder` | `@askdb/rag/embedders/ai-sdk` | Generic AI SDK `EmbeddingModel` adapter. Requires `ai`. |
|
|
88
88
|
| `detectEmbeddingDimensions` | — | Learns an embedder's vector width by embedding one short text. Use it for a new pgvector table instead of hard-coding a width. |
|
|
89
89
|
| `aiSdkEmbedderId` | `@askdb/rag/embedders/ai-sdk` | The `embedderId` Studio and `askdb rag` record for an `ai.embedding` model (`ai-sdk:<provider>:<model>:<dimensions or default>`), so an index built by one is accepted by the other. |
|
|
90
|
-
| `createOpenAiEmbedder` | `@askdb/rag/embedders/openai` | **Deprecated.** OpenAI convenience helper. Use `createAiSdkEmbedder` with an AI SDK embedding model (e.g. from `@ai-sdk/openai`) or one built by the `@askdb/ai` registry instead. Removed in 1.0. |
|
|
91
90
|
|
|
92
91
|
### Import examples
|
|
93
92
|
|
|
@@ -105,8 +104,7 @@ import { createMemoryStore } from "@askdb/rag/stores/memory";
|
|
|
105
104
|
import { createFileStore } from "@askdb/rag/stores/file";
|
|
106
105
|
import { createPgvectorStore } from "@askdb/rag/stores/pgvector";
|
|
107
106
|
import { createAiSdkEmbedder } from "@askdb/rag/embedders/ai-sdk";
|
|
108
|
-
//
|
|
109
|
-
// import { createOpenAiEmbedder } from "@askdb/rag/embedders/openai"; // deprecated, removed in 1.0
|
|
107
|
+
// Bring your own embedding model (e.g. from @ai-sdk/openai, or @askdb/ai's createEmbeddingModelFromSection) + createAiSdkEmbedder
|
|
110
108
|
```
|
|
111
109
|
|
|
112
110
|
## Sensitive Fields
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,5 @@ export { createMemoryStore, type MemoryStore } from "./stores/memory.js";
|
|
|
7
7
|
export { createFileStore, type FileStore, type FileStoreOptions } from "./stores/file.js";
|
|
8
8
|
export { createPgvectorStore, PgvectorDimensionMismatchError, type PgvectorStore, type PgClient, type PgvectorIndexStrategy, type CreatePgvectorStoreOptions, } from "./stores/pgvector.js";
|
|
9
9
|
export { aiSdkEmbedderId, createAiSdkEmbedder, type AiSdkEmbedderIdOptions, type AiSdkProviderOptions, type CreateAiSdkEmbedderOptions, type AiSdkEmbedderUsage, } from "./embedders/ai-sdk.js";
|
|
10
|
-
export { createOpenAiEmbedder, type CreateOpenAiEmbedderOptions } from "./embedders/openai.js";
|
|
11
10
|
export { detectEmbeddingDimensions } from "./embedders/dimensions.js";
|
|
12
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,YAAY,EACV,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,5 @@ export { createFileStore } from "./stores/file.js";
|
|
|
17
17
|
export { createPgvectorStore, PgvectorDimensionMismatchError, } from "./stores/pgvector.js";
|
|
18
18
|
// Embedders
|
|
19
19
|
export { aiSdkEmbedderId, createAiSdkEmbedder, } from "./embedders/ai-sdk.js";
|
|
20
|
-
export { createOpenAiEmbedder } from "./embedders/openai.js";
|
|
21
20
|
export { detectEmbeddingDimensions } from "./embedders/dimensions.js";
|
|
22
21
|
//# 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,uCAAuC;AACvC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,4EAA4E;AAe5E,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,GAMpB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,4EAA4E;AAC5E,oEAAoE;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,iBAAiB,CAAC;AAE9E,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAyC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAK/B,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,4EAA4E;AAe5E,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,mBAAmB,GAMpB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,4EAA4E;AAC5E,oEAAoE;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAA6B,MAAM,iBAAiB,CAAC;AAE9E,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAyC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAK/B,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
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.31",
|
|
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",
|
|
@@ -47,11 +47,6 @@
|
|
|
47
47
|
"import": "./dist/stores/pgvector.js",
|
|
48
48
|
"default": "./dist/stores/pgvector.js"
|
|
49
49
|
},
|
|
50
|
-
"./embedders/openai": {
|
|
51
|
-
"types": "./dist/embedders/openai.d.ts",
|
|
52
|
-
"import": "./dist/embedders/openai.js",
|
|
53
|
-
"default": "./dist/embedders/openai.js"
|
|
54
|
-
},
|
|
55
50
|
"./embedders/ai-sdk": {
|
|
56
51
|
"types": "./dist/embedders/ai-sdk.d.ts",
|
|
57
52
|
"import": "./dist/embedders/ai-sdk.js",
|
|
@@ -68,7 +63,7 @@
|
|
|
68
63
|
"node": ">=22.23.4"
|
|
69
64
|
},
|
|
70
65
|
"dependencies": {
|
|
71
|
-
"@askdb/core": "1.0.0-beta.
|
|
66
|
+
"@askdb/core": "1.0.0-beta.51"
|
|
72
67
|
},
|
|
73
68
|
"peerDependencies": {
|
|
74
69
|
"@ai-sdk/openai": "^3.0.0 || ^4.0.29",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Embedder } from "../types.js";
|
|
2
|
-
export type CreateOpenAiEmbedderOptions = {
|
|
3
|
-
/** Defaults to `text-embedding-3-small`. */
|
|
4
|
-
model?: string;
|
|
5
|
-
/** Optional override; otherwise the OpenAI provider reads `OPENAI_API_KEY`. */
|
|
6
|
-
apiKey?: string;
|
|
7
|
-
/** Optional OpenAI-compatible base URL, e.g. an AI gateway ending in `/v1`. */
|
|
8
|
-
baseURL?: string;
|
|
9
|
-
/** Optional dimensionality override for text-embedding-3 models. */
|
|
10
|
-
dimensions?: number;
|
|
11
|
-
/** Optional end-user id forwarded to OpenAI embedding settings. */
|
|
12
|
-
user?: string;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Reference AI SDK embedder for OpenAI embeddings.
|
|
16
|
-
*
|
|
17
|
-
* `ai` and `@ai-sdk/openai` are optional peers of `@askdb/rag`; this helper
|
|
18
|
-
* lazy-loads them so chunking and non-OpenAI stores remain zero-provider.
|
|
19
|
-
*
|
|
20
|
-
* @deprecated Construct the model yourself and use `createAiSdkEmbedder`, or use the
|
|
21
|
-
* `@askdb/ai` registry (`createAiRegistry(["openai"]).createEmbeddingModelFromEnv(env)`)
|
|
22
|
-
* so env-var conventions stay consistent. This helper will be removed in 1.0.
|
|
23
|
-
*/
|
|
24
|
-
export declare function createOpenAiEmbedder(options?: CreateOpenAiEmbedderOptions): Embedder;
|
|
25
|
-
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,QAAQ,CAaV"}
|
package/dist/embedders/openai.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { createAiSdkEmbedder } from "./ai-sdk.js";
|
|
2
|
-
/**
|
|
3
|
-
* Reference AI SDK embedder for OpenAI embeddings.
|
|
4
|
-
*
|
|
5
|
-
* `ai` and `@ai-sdk/openai` are optional peers of `@askdb/rag`; this helper
|
|
6
|
-
* lazy-loads them so chunking and non-OpenAI stores remain zero-provider.
|
|
7
|
-
*
|
|
8
|
-
* @deprecated Construct the model yourself and use `createAiSdkEmbedder`, or use the
|
|
9
|
-
* `@askdb/ai` registry (`createAiRegistry(["openai"]).createEmbeddingModelFromEnv(env)`)
|
|
10
|
-
* so env-var conventions stay consistent. This helper will be removed in 1.0.
|
|
11
|
-
*/
|
|
12
|
-
export function createOpenAiEmbedder(options = {}) {
|
|
13
|
-
return async (texts) => {
|
|
14
|
-
const { createOpenAI } = await import("@ai-sdk/openai");
|
|
15
|
-
const provider = createOpenAI({
|
|
16
|
-
...(options.apiKey ? { apiKey: options.apiKey } : {}),
|
|
17
|
-
...(options.baseURL ? { baseURL: options.baseURL } : {}),
|
|
18
|
-
});
|
|
19
|
-
const embedder = createAiSdkEmbedder({
|
|
20
|
-
model: provider.embedding(options.model ?? "text-embedding-3-small"),
|
|
21
|
-
providerOptions: openAiProviderOptions(options),
|
|
22
|
-
});
|
|
23
|
-
return embedder(texts);
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function openAiProviderOptions(options) {
|
|
27
|
-
const openai = {};
|
|
28
|
-
if (options.dimensions !== undefined)
|
|
29
|
-
openai.dimensions = options.dimensions;
|
|
30
|
-
if (options.user !== undefined)
|
|
31
|
-
openai.user = options.user;
|
|
32
|
-
return Object.keys(openai).length > 0 ? { openai } : undefined;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/embedders/openai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAe7E;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAuC,EAAE;IAEzC,OAAO,KAAK,EAAE,KAAe,EAAE,EAAE;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC;YACpE,eAAe,EAAE,qBAAqB,CAAC,OAAO,CAAC;SAChD,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAoC;IACjE,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC"}
|