@retrivora-ai/rag-engine 0.1.3 → 0.1.5
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/ChromaDBProvider-QNI7UCX4.mjs +8 -0
- package/dist/DocumentChunker-cfaMidtA.d.mts +93 -0
- package/dist/DocumentChunker-cfaMidtA.d.ts +93 -0
- package/dist/LLMFactory-JFOY2V4X.mjs +8 -0
- package/dist/MilvusProvider-OO6QGZDZ.mjs +8 -0
- package/dist/MongoDBProvider-WWVJG3WT.mjs +8 -0
- package/dist/PineconeProvider-NJ675H7U.mjs +8 -0
- package/dist/PostgreSQLProvider-ISNMD3BE.mjs +8 -0
- package/dist/QdrantProvider-LJWOIGES.mjs +8 -0
- package/dist/RagConfig-DG_0f8ka.d.mts +145 -0
- package/dist/RagConfig-DG_0f8ka.d.ts +145 -0
- package/dist/RedisProvider-ASONNYBI.mjs +8 -0
- package/dist/WeaviateProvider-PSDCUGC7.mjs +8 -0
- package/dist/chunk-6FODXNUF.mjs +91 -0
- package/dist/chunk-7NXI6ZWX.mjs +89 -0
- package/dist/chunk-AALIF3AL.mjs +91 -0
- package/dist/chunk-BP4U4TT5.mjs +548 -0
- package/dist/chunk-HUGLYKD6.mjs +84 -0
- package/dist/chunk-I4E63NIC.mjs +24 -0
- package/dist/chunk-JI6VD5TJ.mjs +387 -0
- package/dist/chunk-QEYVWVT5.mjs +102 -0
- package/dist/chunk-S5DRHETN.mjs +110 -0
- package/dist/{chunk-ZPXLQR5Q.mjs → chunk-UKDXCXW7.mjs} +5 -23
- package/dist/chunk-V75V7BT2.mjs +117 -0
- package/dist/chunk-VOIWNO5O.mjs +11 -0
- package/dist/chunk-VPNRDXIA.mjs +74 -0
- package/dist/handlers/index.d.mts +9 -33
- package/dist/handlers/index.d.ts +9 -33
- package/dist/handlers/index.js +1477 -962
- package/dist/handlers/index.mjs +4 -2
- package/dist/index.d.mts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +4 -2
- package/dist/server.d.mts +220 -53
- package/dist/server.d.ts +220 -53
- package/dist/server.js +1531 -1099
- package/dist/server.mjs +55 -131
- package/package.json +19 -2
- package/src/app/page.tsx +1 -1
- package/src/components/MessageBubble.tsx +1 -1
- package/src/components/SourceCard.tsx +1 -1
- package/src/config/RagConfig.ts +1 -1
- package/src/config/serverConfig.ts +2 -2
- package/src/core/ConfigResolver.ts +69 -0
- package/src/core/Pipeline.ts +101 -0
- package/src/core/ProviderRegistry.ts +71 -0
- package/src/core/VectorPlugin.ts +52 -0
- package/src/handlers/index.ts +21 -100
- package/src/hooks/useRagChat.ts +1 -1
- package/src/index.ts +2 -6
- package/src/providers/vectordb/BaseVectorProvider.ts +61 -0
- package/src/providers/vectordb/ChromaDBProvider.ts +94 -0
- package/src/providers/vectordb/MilvusProvider.ts +100 -0
- package/src/providers/vectordb/MongoDBProvider.ts +118 -0
- package/src/{vectordb/adapters/PineconeAdapter.ts → providers/vectordb/PineconeProvider.ts} +21 -56
- package/src/{vectordb/adapters/PgVectorAdapter.ts → providers/vectordb/PostgreSQLProvider.ts} +23 -58
- package/src/providers/vectordb/QdrantProvider.ts +95 -0
- package/src/providers/vectordb/RedisProvider.ts +84 -0
- package/src/providers/vectordb/WeaviateProvider.ts +124 -0
- package/src/server.ts +16 -8
- package/src/test-refactor.ts +59 -0
- package/src/types/index.ts +24 -0
- package/src/utils/templateUtils.ts +6 -6
- package/dist/DocumentChunker-BUrIrcPk.d.mts +0 -43
- package/dist/DocumentChunker-BUrIrcPk.d.ts +0 -43
- package/dist/RAGPipeline-BmkIv1HD.d.mts +0 -298
- package/dist/RAGPipeline-BmkIv1HD.d.ts +0 -298
- package/dist/chunk-NVOMLHXW.mjs +0 -1259
- package/src/rag/RAGPipeline.ts +0 -200
- package/src/vectordb/IVectorDB.ts +0 -75
- package/src/vectordb/VectorDBFactory.ts +0 -41
- package/src/vectordb/adapters/MongoDbAdapter.ts +0 -175
- package/src/vectordb/adapters/UniversalVectorDBAdapter.ts +0 -177
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseVectorProvider
|
|
3
|
+
} from "./chunk-VOIWNO5O.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__spreadValues
|
|
6
|
+
} from "./chunk-I4E63NIC.mjs";
|
|
7
|
+
|
|
8
|
+
// src/providers/vectordb/MilvusProvider.ts
|
|
9
|
+
import axios from "axios";
|
|
10
|
+
var MilvusProvider = class extends BaseVectorProvider {
|
|
11
|
+
constructor(config) {
|
|
12
|
+
super(config);
|
|
13
|
+
const opts = config.options;
|
|
14
|
+
const baseUrl = opts.baseUrl || opts.uri;
|
|
15
|
+
if (!baseUrl) throw new Error("[MilvusProvider] baseUrl/uri is required");
|
|
16
|
+
this.http = axios.create({
|
|
17
|
+
baseURL: baseUrl,
|
|
18
|
+
headers: __spreadValues(__spreadValues({
|
|
19
|
+
"Content-Type": "application/json"
|
|
20
|
+
}, opts.headers || {}), opts.apiKey ? { Authorization: `Bearer ${opts.apiKey}` } : {})
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async initialize() {
|
|
24
|
+
await this.ping();
|
|
25
|
+
}
|
|
26
|
+
async upsert(doc, namespace) {
|
|
27
|
+
const payload = {
|
|
28
|
+
collectionName: this.indexName,
|
|
29
|
+
data: [__spreadValues({
|
|
30
|
+
vector: doc.vector,
|
|
31
|
+
content: doc.content,
|
|
32
|
+
metadata: doc.metadata || {}
|
|
33
|
+
}, namespace ? { namespace } : {})]
|
|
34
|
+
};
|
|
35
|
+
await this.http.post("/v1/vector/upsert", payload);
|
|
36
|
+
}
|
|
37
|
+
async batchUpsert(docs, namespace) {
|
|
38
|
+
const payload = {
|
|
39
|
+
collectionName: this.indexName,
|
|
40
|
+
data: docs.map((doc) => __spreadValues({
|
|
41
|
+
vector: doc.vector,
|
|
42
|
+
content: doc.content,
|
|
43
|
+
metadata: doc.metadata || {}
|
|
44
|
+
}, namespace ? { namespace } : {}))
|
|
45
|
+
};
|
|
46
|
+
await this.http.post("/v1/vector/upsert", payload);
|
|
47
|
+
}
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
|
+
async query(vector, topK, namespace, _filter) {
|
|
50
|
+
const payload = {
|
|
51
|
+
collectionName: this.indexName,
|
|
52
|
+
vector,
|
|
53
|
+
limit: topK,
|
|
54
|
+
filter: namespace ? `namespace == "${namespace}"` : void 0,
|
|
55
|
+
outputFields: ["content", "metadata"]
|
|
56
|
+
};
|
|
57
|
+
const { data } = await this.http.post("/v1/vector/search", payload);
|
|
58
|
+
return (data.data || []).map((res) => ({
|
|
59
|
+
id: String(res["id"]),
|
|
60
|
+
score: res["distance"],
|
|
61
|
+
content: res["content"],
|
|
62
|
+
metadata: res["metadata"]
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
+
async delete(id, _namespace) {
|
|
67
|
+
await this.http.post("/v1/vector/delete", {
|
|
68
|
+
collectionName: this.indexName,
|
|
69
|
+
id
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
73
|
+
async deleteNamespace(_namespace) {
|
|
74
|
+
}
|
|
75
|
+
async ping() {
|
|
76
|
+
try {
|
|
77
|
+
await this.http.get("/v1/health");
|
|
78
|
+
return true;
|
|
79
|
+
} catch (e) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async disconnect() {
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export {
|
|
88
|
+
MilvusProvider
|
|
89
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseVectorProvider
|
|
3
|
+
} from "./chunk-VOIWNO5O.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__spreadValues
|
|
6
|
+
} from "./chunk-I4E63NIC.mjs";
|
|
7
|
+
|
|
8
|
+
// src/providers/vectordb/PineconeProvider.ts
|
|
9
|
+
import { Pinecone } from "@pinecone-database/pinecone";
|
|
10
|
+
var PineconeProvider = class extends BaseVectorProvider {
|
|
11
|
+
constructor(config) {
|
|
12
|
+
super(config);
|
|
13
|
+
const opts = config.options;
|
|
14
|
+
if (!opts.apiKey) throw new Error("[PineconeProvider] options.apiKey is required");
|
|
15
|
+
this.apiKey = opts.apiKey;
|
|
16
|
+
}
|
|
17
|
+
async initialize() {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
this.client = new Pinecone({ apiKey: this.apiKey });
|
|
20
|
+
const indexes = await this.client.listIndexes();
|
|
21
|
+
const names = (_b = (_a = indexes.indexes) == null ? void 0 : _a.map((i) => i.name)) != null ? _b : [];
|
|
22
|
+
if (!names.includes(this.indexName)) {
|
|
23
|
+
throw new Error(`[PineconeProvider] Index "${this.indexName}" not found.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
index(namespace) {
|
|
27
|
+
const idx = this.client.index(this.indexName);
|
|
28
|
+
return namespace ? idx.namespace(namespace) : idx.namespace("");
|
|
29
|
+
}
|
|
30
|
+
async upsert(doc, namespace) {
|
|
31
|
+
var _a;
|
|
32
|
+
await this.index(namespace).upsert({
|
|
33
|
+
records: [{
|
|
34
|
+
id: doc.id,
|
|
35
|
+
values: doc.vector,
|
|
36
|
+
metadata: __spreadValues({ content: doc.content }, (_a = doc.metadata) != null ? _a : {})
|
|
37
|
+
}]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async batchUpsert(docs, namespace) {
|
|
41
|
+
const BATCH = 100;
|
|
42
|
+
for (let i = 0; i < docs.length; i += BATCH) {
|
|
43
|
+
const records = docs.slice(i, i + BATCH).map((d) => {
|
|
44
|
+
var _a;
|
|
45
|
+
return {
|
|
46
|
+
id: d.id,
|
|
47
|
+
values: d.vector,
|
|
48
|
+
metadata: __spreadValues({ content: d.content }, (_a = d.metadata) != null ? _a : {})
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
await this.index(namespace).upsert({ records });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async query(vector, topK, namespace, filter) {
|
|
55
|
+
var _a;
|
|
56
|
+
const result = await this.index(namespace).query(__spreadValues({
|
|
57
|
+
vector,
|
|
58
|
+
topK,
|
|
59
|
+
includeMetadata: true
|
|
60
|
+
}, filter ? { filter } : {}));
|
|
61
|
+
return ((_a = result.matches) != null ? _a : []).map((m) => {
|
|
62
|
+
var _a2, _b;
|
|
63
|
+
return {
|
|
64
|
+
id: m.id,
|
|
65
|
+
score: (_a2 = m.score) != null ? _a2 : 0,
|
|
66
|
+
content: ((_b = m.metadata) == null ? void 0 : _b.content) || "",
|
|
67
|
+
metadata: m.metadata
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async delete(id, namespace) {
|
|
72
|
+
await this.index(namespace).deleteOne({ id });
|
|
73
|
+
}
|
|
74
|
+
async deleteNamespace(namespace) {
|
|
75
|
+
await this.client.index(this.indexName).namespace(namespace).deleteAll();
|
|
76
|
+
}
|
|
77
|
+
async ping() {
|
|
78
|
+
try {
|
|
79
|
+
await this.client.listIndexes();
|
|
80
|
+
return true;
|
|
81
|
+
} catch (e) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async disconnect() {
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
PineconeProvider
|
|
91
|
+
};
|