@cogitator-ai/rag 0.1.0 → 0.1.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.
- package/dist/chunkers/create-chunker.d.ts +3 -0
- package/dist/chunkers/create-chunker.d.ts.map +1 -0
- package/dist/chunkers/create-chunker.js +28 -0
- package/dist/chunkers/create-chunker.js.map +1 -0
- package/dist/chunkers/fixed-chunker.d.ts +12 -0
- package/dist/chunkers/fixed-chunker.d.ts.map +1 -0
- package/dist/chunkers/fixed-chunker.js +31 -0
- package/dist/chunkers/fixed-chunker.js.map +1 -0
- package/dist/chunkers/index.d.ts +5 -0
- package/dist/chunkers/index.d.ts.map +1 -0
- package/dist/chunkers/index.js +5 -0
- package/dist/chunkers/index.js.map +1 -0
- package/dist/chunkers/recursive-chunker.d.ts +18 -0
- package/dist/chunkers/recursive-chunker.d.ts.map +1 -0
- package/dist/chunkers/recursive-chunker.js +152 -0
- package/dist/chunkers/recursive-chunker.js.map +1 -0
- package/dist/chunkers/semantic-chunker.d.ts +19 -0
- package/dist/chunkers/semantic-chunker.d.ts.map +1 -0
- package/dist/chunkers/semantic-chunker.js +175 -0
- package/dist/chunkers/semantic-chunker.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/csv-loader.d.ts +16 -0
- package/dist/loaders/csv-loader.d.ts.map +1 -0
- package/dist/loaders/csv-loader.js +57 -0
- package/dist/loaders/csv-loader.js.map +1 -0
- package/dist/loaders/html-loader.d.ts +12 -0
- package/dist/loaders/html-loader.d.ts.map +1 -0
- package/dist/loaders/html-loader.js +40 -0
- package/dist/loaders/html-loader.js.map +1 -0
- package/dist/loaders/index.d.ts +14 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +8 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/json-loader.d.ts +16 -0
- package/dist/loaders/json-loader.d.ts.map +1 -0
- package/dist/loaders/json-loader.js +55 -0
- package/dist/loaders/json-loader.js.map +1 -0
- package/dist/loaders/markdown-loader.d.ts +14 -0
- package/dist/loaders/markdown-loader.d.ts.map +1 -0
- package/dist/loaders/markdown-loader.js +65 -0
- package/dist/loaders/markdown-loader.js.map +1 -0
- package/dist/loaders/pdf-loader.d.ts +14 -0
- package/dist/loaders/pdf-loader.d.ts.map +1 -0
- package/dist/loaders/pdf-loader.js +72 -0
- package/dist/loaders/pdf-loader.js.map +1 -0
- package/dist/loaders/text-loader.d.ts +8 -0
- package/dist/loaders/text-loader.d.ts.map +1 -0
- package/dist/loaders/text-loader.js +40 -0
- package/dist/loaders/text-loader.js.map +1 -0
- package/dist/loaders/web-loader.d.ts +13 -0
- package/dist/loaders/web-loader.d.ts.map +1 -0
- package/dist/loaders/web-loader.js +23 -0
- package/dist/loaders/web-loader.js.map +1 -0
- package/dist/rag-builder.d.ts +22 -0
- package/dist/rag-builder.d.ts.map +1 -0
- package/dist/rag-builder.js +74 -0
- package/dist/rag-builder.js.map +1 -0
- package/dist/rag-pipeline.d.ts +28 -0
- package/dist/rag-pipeline.d.ts.map +1 -0
- package/dist/rag-pipeline.js +59 -0
- package/dist/rag-pipeline.js.map +1 -0
- package/dist/rerankers/cohere-reranker.d.ts +12 -0
- package/dist/rerankers/cohere-reranker.d.ts.map +1 -0
- package/dist/rerankers/cohere-reranker.js +37 -0
- package/dist/rerankers/cohere-reranker.js.map +1 -0
- package/dist/rerankers/index.d.ts +3 -0
- package/dist/rerankers/index.d.ts.map +1 -0
- package/dist/rerankers/index.js +3 -0
- package/dist/rerankers/index.js.map +1 -0
- package/dist/rerankers/llm-reranker.d.ts +12 -0
- package/dist/rerankers/llm-reranker.d.ts.map +1 -0
- package/dist/rerankers/llm-reranker.js +54 -0
- package/dist/rerankers/llm-reranker.js.map +1 -0
- package/dist/retrievers/create-retriever.d.ts +37 -0
- package/dist/retrievers/create-retriever.d.ts.map +1 -0
- package/dist/retrievers/create-retriever.js +37 -0
- package/dist/retrievers/create-retriever.js.map +1 -0
- package/dist/retrievers/hybrid-retriever.d.ts +18 -0
- package/dist/retrievers/hybrid-retriever.d.ts.map +1 -0
- package/dist/retrievers/hybrid-retriever.js +43 -0
- package/dist/retrievers/hybrid-retriever.js.map +1 -0
- package/dist/retrievers/index.d.ts +11 -0
- package/dist/retrievers/index.d.ts.map +1 -0
- package/dist/retrievers/index.js +6 -0
- package/dist/retrievers/index.js.map +1 -0
- package/dist/retrievers/mmr-retriever.d.ts +20 -0
- package/dist/retrievers/mmr-retriever.d.ts.map +1 -0
- package/dist/retrievers/mmr-retriever.js +89 -0
- package/dist/retrievers/mmr-retriever.js.map +1 -0
- package/dist/retrievers/multi-query-retriever.d.ts +14 -0
- package/dist/retrievers/multi-query-retriever.d.ts.map +1 -0
- package/dist/retrievers/multi-query-retriever.js +29 -0
- package/dist/retrievers/multi-query-retriever.js.map +1 -0
- package/dist/retrievers/similarity-retriever.d.ts +17 -0
- package/dist/retrievers/similarity-retriever.d.ts.map +1 -0
- package/dist/retrievers/similarity-retriever.js +39 -0
- package/dist/retrievers/similarity-retriever.js.map +1 -0
- package/dist/schema.d.ts +70 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +27 -0
- package/dist/schema.js.map +1 -0
- package/dist/tools.d.ts +23 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +45 -0
- package/dist/tools.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const DEFAULT_TOP_K = 10;
|
|
2
|
+
const DEFAULT_THRESHOLD = 0.5;
|
|
3
|
+
export class SimilarityRetriever {
|
|
4
|
+
adapter;
|
|
5
|
+
embedding;
|
|
6
|
+
defaultTopK;
|
|
7
|
+
defaultThreshold;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.adapter = config.embeddingAdapter;
|
|
10
|
+
this.embedding = config.embeddingService;
|
|
11
|
+
this.defaultTopK = config.defaultTopK ?? DEFAULT_TOP_K;
|
|
12
|
+
this.defaultThreshold = config.defaultThreshold ?? DEFAULT_THRESHOLD;
|
|
13
|
+
}
|
|
14
|
+
async retrieve(query, options) {
|
|
15
|
+
const vector = await this.embedding.embed(query);
|
|
16
|
+
const result = await this.adapter.search({
|
|
17
|
+
vector,
|
|
18
|
+
query,
|
|
19
|
+
limit: options?.topK ?? this.defaultTopK,
|
|
20
|
+
threshold: options?.threshold ?? this.defaultThreshold,
|
|
21
|
+
});
|
|
22
|
+
if (!result.success) {
|
|
23
|
+
throw new Error(result.error);
|
|
24
|
+
}
|
|
25
|
+
return result.data.map((entry) => this.toRetrievalResult(entry));
|
|
26
|
+
}
|
|
27
|
+
toRetrievalResult(entry) {
|
|
28
|
+
const documentId = entry.metadata?.documentId ?? entry.sourceId;
|
|
29
|
+
return {
|
|
30
|
+
chunkId: entry.sourceId,
|
|
31
|
+
documentId,
|
|
32
|
+
content: entry.content,
|
|
33
|
+
score: entry.score,
|
|
34
|
+
source: entry.sourceType,
|
|
35
|
+
metadata: entry.metadata,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=similarity-retriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similarity-retriever.js","sourceRoot":"","sources":["../../src/retrievers/similarity-retriever.ts"],"names":[],"mappings":"AAgBA,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,OAAO,mBAAmB;IACb,OAAO,CAAmB;IAC1B,SAAS,CAAmB;IAC5B,WAAW,CAAS;IACpB,gBAAgB,CAAS;IAE1C,YAAY,MAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAkC;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,MAAM;YACN,KAAK;YACL,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW;YACxC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,iBAAiB,CAAC,KAAoC;QAC5D,MAAM,UAAU,GAAI,KAAK,CAAC,QAAQ,EAAE,UAAiC,IAAI,KAAK,CAAC,QAAQ,CAAC;QAExF,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,UAAU;YACV,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;IACJ,CAAC;CACF"}
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ChunkingStrategySchema: z.ZodEnum<{
|
|
3
|
+
fixed: "fixed";
|
|
4
|
+
recursive: "recursive";
|
|
5
|
+
semantic: "semantic";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const ChunkingConfigSchema: z.ZodObject<{
|
|
8
|
+
strategy: z.ZodEnum<{
|
|
9
|
+
fixed: "fixed";
|
|
10
|
+
recursive: "recursive";
|
|
11
|
+
semantic: "semantic";
|
|
12
|
+
}>;
|
|
13
|
+
chunkSize: z.ZodNumber;
|
|
14
|
+
chunkOverlap: z.ZodDefault<z.ZodNumber>;
|
|
15
|
+
separators: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const RetrievalStrategySchema: z.ZodEnum<{
|
|
18
|
+
similarity: "similarity";
|
|
19
|
+
mmr: "mmr";
|
|
20
|
+
hybrid: "hybrid";
|
|
21
|
+
"multi-query": "multi-query";
|
|
22
|
+
}>;
|
|
23
|
+
export declare const RetrievalConfigSchema: z.ZodObject<{
|
|
24
|
+
strategy: z.ZodDefault<z.ZodEnum<{
|
|
25
|
+
similarity: "similarity";
|
|
26
|
+
mmr: "mmr";
|
|
27
|
+
hybrid: "hybrid";
|
|
28
|
+
"multi-query": "multi-query";
|
|
29
|
+
}>>;
|
|
30
|
+
topK: z.ZodDefault<z.ZodNumber>;
|
|
31
|
+
threshold: z.ZodDefault<z.ZodNumber>;
|
|
32
|
+
mmrLambda: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
multiQueryCount: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export declare const RerankingConfigSchema: z.ZodObject<{
|
|
36
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
37
|
+
topN: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export declare const RAGPipelineConfigSchema: z.ZodObject<{
|
|
40
|
+
chunking: z.ZodObject<{
|
|
41
|
+
strategy: z.ZodEnum<{
|
|
42
|
+
fixed: "fixed";
|
|
43
|
+
recursive: "recursive";
|
|
44
|
+
semantic: "semantic";
|
|
45
|
+
}>;
|
|
46
|
+
chunkSize: z.ZodNumber;
|
|
47
|
+
chunkOverlap: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
separators: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
retrieval: z.ZodDefault<z.ZodObject<{
|
|
51
|
+
strategy: z.ZodDefault<z.ZodEnum<{
|
|
52
|
+
similarity: "similarity";
|
|
53
|
+
mmr: "mmr";
|
|
54
|
+
hybrid: "hybrid";
|
|
55
|
+
"multi-query": "multi-query";
|
|
56
|
+
}>>;
|
|
57
|
+
topK: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
threshold: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
mmrLambda: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
multiQueryCount: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
reranking: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
64
|
+
topN: z.ZodOptional<z.ZodNumber>;
|
|
65
|
+
}, z.core.$strip>>;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export type ChunkingConfigInput = z.input<typeof ChunkingConfigSchema>;
|
|
68
|
+
export type RetrievalConfigInput = z.input<typeof RetrievalConfigSchema>;
|
|
69
|
+
export type RAGPipelineConfigInput = z.input<typeof RAGPipelineConfigSchema>;
|
|
70
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;EAA6C,CAAC;AAEjF,eAAO,MAAM,oBAAoB;;;;;;;;;iBAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;EAAyD,CAAC;AAE9F,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAMhC,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const ChunkingStrategySchema = z.enum(['fixed', 'recursive', 'semantic']);
|
|
3
|
+
export const ChunkingConfigSchema = z.object({
|
|
4
|
+
strategy: ChunkingStrategySchema,
|
|
5
|
+
chunkSize: z.number().int().positive(),
|
|
6
|
+
chunkOverlap: z.number().int().nonnegative().default(0),
|
|
7
|
+
separators: z.array(z.string()).optional(),
|
|
8
|
+
});
|
|
9
|
+
export const RetrievalStrategySchema = z.enum(['similarity', 'mmr', 'hybrid', 'multi-query']);
|
|
10
|
+
export const RetrievalConfigSchema = z.object({
|
|
11
|
+
strategy: RetrievalStrategySchema.default('similarity'),
|
|
12
|
+
topK: z.number().int().positive().default(10),
|
|
13
|
+
threshold: z.number().min(0).max(1).default(0.0),
|
|
14
|
+
mmrLambda: z.number().min(0).max(1).optional(),
|
|
15
|
+
multiQueryCount: z.number().int().positive().optional(),
|
|
16
|
+
});
|
|
17
|
+
const retrievalDefaults = RetrievalConfigSchema.parse({});
|
|
18
|
+
export const RerankingConfigSchema = z.object({
|
|
19
|
+
enabled: z.boolean().default(false),
|
|
20
|
+
topN: z.number().int().positive().optional(),
|
|
21
|
+
});
|
|
22
|
+
export const RAGPipelineConfigSchema = z.object({
|
|
23
|
+
chunking: ChunkingConfigSchema,
|
|
24
|
+
retrieval: RetrievalConfigSchema.default(retrievalDefaults),
|
|
25
|
+
reranking: RerankingConfigSchema.optional(),
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,sBAAsB;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC3D,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { RAGPipeline } from './rag-pipeline';
|
|
3
|
+
export interface RAGTool<TParams = unknown> {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodType<TParams>;
|
|
7
|
+
execute: (params: TParams) => Promise<unknown>;
|
|
8
|
+
}
|
|
9
|
+
declare const SearchParamsSchema: z.ZodObject<{
|
|
10
|
+
query: z.ZodString;
|
|
11
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
threshold: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
type SearchParams = z.infer<typeof SearchParamsSchema>;
|
|
15
|
+
declare const IngestParamsSchema: z.ZodObject<{
|
|
16
|
+
source: z.ZodString;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
type IngestParams = z.infer<typeof IngestParamsSchema>;
|
|
19
|
+
export declare function createSearchTool(pipeline: RAGPipeline): RAGTool<SearchParams>;
|
|
20
|
+
export declare function createIngestTool(pipeline: RAGPipeline): RAGTool<IngestParams>;
|
|
21
|
+
export declare function ragTools(pipeline: RAGPipeline): [RAGTool<SearchParams>, RAGTool<IngestParams>];
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,OAAO,CAAC,OAAO,GAAG,OAAO;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,kBAAkB;;;;iBAItB,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,QAAA,MAAM,kBAAkB;;iBAEtB,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEvD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAc7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAc7E;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAE9F"}
|
package/dist/tools.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const SearchParamsSchema = z.object({
|
|
3
|
+
query: z.string(),
|
|
4
|
+
limit: z.number().int().positive().optional(),
|
|
5
|
+
threshold: z.number().min(0).max(1).optional(),
|
|
6
|
+
});
|
|
7
|
+
const IngestParamsSchema = z.object({
|
|
8
|
+
source: z.string(),
|
|
9
|
+
});
|
|
10
|
+
export function createSearchTool(pipeline) {
|
|
11
|
+
return {
|
|
12
|
+
name: 'rag_search',
|
|
13
|
+
description: 'Search the knowledge base using semantic search',
|
|
14
|
+
parameters: SearchParamsSchema,
|
|
15
|
+
execute: async ({ query, limit, threshold }) => {
|
|
16
|
+
try {
|
|
17
|
+
const results = await pipeline.query(query, { topK: limit, threshold });
|
|
18
|
+
return { success: true, query, results, count: results.length };
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function createIngestTool(pipeline) {
|
|
27
|
+
return {
|
|
28
|
+
name: 'rag_ingest',
|
|
29
|
+
description: 'Ingest documents into the knowledge base',
|
|
30
|
+
parameters: IngestParamsSchema,
|
|
31
|
+
execute: async ({ source }) => {
|
|
32
|
+
try {
|
|
33
|
+
const { documents, chunks } = await pipeline.ingest(source);
|
|
34
|
+
return { success: true, source, documents, chunks };
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function ragTools(pipeline) {
|
|
43
|
+
return [createSearchTool(pipeline), createIngestTool(pipeline)];
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAIH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC"}
|