@venturekit-pro/ai 0.0.0-dev.20260323005827
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/LICENSE +19 -0
- package/README.md +117 -0
- package/dist/agents/agent.d.ts +22 -0
- package/dist/agents/agent.d.ts.map +1 -0
- package/dist/agents/agent.js +138 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/agents/config.d.ts +13 -0
- package/dist/agents/config.d.ts.map +1 -0
- package/dist/agents/config.js +24 -0
- package/dist/agents/config.js.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +9 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/tools.d.ts +14 -0
- package/dist/agents/tools.d.ts.map +1 -0
- package/dist/agents/tools.js +15 -0
- package/dist/agents/tools.js.map +1 -0
- package/dist/context/context.d.ts +118 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/context/context.js +132 -0
- package/dist/context/context.js.map +1 -0
- package/dist/embeddings/config.d.ts +13 -0
- package/dist/embeddings/config.d.ts.map +1 -0
- package/dist/embeddings/config.js +25 -0
- package/dist/embeddings/config.js.map +1 -0
- package/dist/embeddings/embedder.d.ts +20 -0
- package/dist/embeddings/embedder.d.ts.map +1 -0
- package/dist/embeddings/embedder.js +100 -0
- package/dist/embeddings/embedder.js.map +1 -0
- package/dist/embeddings/index.d.ts +9 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +8 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/rag/chunker.d.ts +11 -0
- package/dist/rag/chunker.d.ts.map +1 -0
- package/dist/rag/chunker.js +109 -0
- package/dist/rag/chunker.js.map +1 -0
- package/dist/rag/config.d.ts +13 -0
- package/dist/rag/config.d.ts.map +1 -0
- package/dist/rag/config.js +35 -0
- package/dist/rag/config.js.map +1 -0
- package/dist/rag/index.d.ts +10 -0
- package/dist/rag/index.d.ts.map +1 -0
- package/dist/rag/index.js +9 -0
- package/dist/rag/index.js.map +1 -0
- package/dist/rag/pipeline.d.ts +26 -0
- package/dist/rag/pipeline.d.ts.map +1 -0
- package/dist/rag/pipeline.js +79 -0
- package/dist/rag/pipeline.js.map +1 -0
- package/dist/types/agents.d.ts +118 -0
- package/dist/types/agents.d.ts.map +1 -0
- package/dist/types/agents.js +5 -0
- package/dist/types/agents.js.map +1 -0
- package/dist/types/embeddings.d.ts +69 -0
- package/dist/types/embeddings.d.ts.map +1 -0
- package/dist/types/embeddings.js +5 -0
- package/dist/types/embeddings.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/rag.d.ts +92 -0
- package/dist/types/rag.d.ts.map +1 -0
- package/dist/types/rag.js +5 -0
- package/dist/types/rag.js.map +1 -0
- package/dist/types/vectors.d.ts +98 -0
- package/dist/types/vectors.d.ts.map +1 -0
- package/dist/types/vectors.js +5 -0
- package/dist/types/vectors.js.map +1 -0
- package/dist/vectors/config.d.ts +13 -0
- package/dist/vectors/config.d.ts.map +1 -0
- package/dist/vectors/config.js +24 -0
- package/dist/vectors/config.js.map +1 -0
- package/dist/vectors/index.d.ts +9 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +8 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/store.d.ts +24 -0
- package/dist/vectors/store.d.ts.map +1 -0
- package/dist/vectors/store.js +156 -0
- package/dist/vectors/store.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG Pipeline
|
|
3
|
+
*
|
|
4
|
+
* End-to-end retrieval-augmented generation pipeline.
|
|
5
|
+
*/
|
|
6
|
+
import { createEmbedder } from '../embeddings/embedder.js';
|
|
7
|
+
import { createVectorStore } from '../vectors/store.js';
|
|
8
|
+
import { chunkText } from './chunker.js';
|
|
9
|
+
/**
|
|
10
|
+
* Create a RAG pipeline
|
|
11
|
+
*/
|
|
12
|
+
export function createRagPipeline(config) {
|
|
13
|
+
const embedder = createEmbedder(config.embedding);
|
|
14
|
+
const vectorStore = createVectorStore(config.vectorStore);
|
|
15
|
+
return {
|
|
16
|
+
async index(documents) {
|
|
17
|
+
const allChunks = [];
|
|
18
|
+
// Chunk all documents
|
|
19
|
+
for (const doc of documents) {
|
|
20
|
+
const chunks = chunkText(doc.content, doc.id, config.chunking);
|
|
21
|
+
for (const chunk of chunks) {
|
|
22
|
+
chunk.metadata = { ...chunk.metadata, ...doc.metadata };
|
|
23
|
+
}
|
|
24
|
+
allChunks.push(...chunks);
|
|
25
|
+
}
|
|
26
|
+
// Generate embeddings
|
|
27
|
+
const texts = allChunks.map(c => c.content);
|
|
28
|
+
const { embeddings } = await embedder.embedBatch(texts);
|
|
29
|
+
// Store vectors
|
|
30
|
+
const vectors = allChunks.map((chunk, i) => ({
|
|
31
|
+
id: chunk.id,
|
|
32
|
+
values: embeddings[i],
|
|
33
|
+
metadata: {
|
|
34
|
+
content: chunk.content,
|
|
35
|
+
sourceId: chunk.sourceId,
|
|
36
|
+
chunkIndex: chunk.chunkIndex,
|
|
37
|
+
...chunk.metadata,
|
|
38
|
+
},
|
|
39
|
+
}));
|
|
40
|
+
await vectorStore.upsert(vectors);
|
|
41
|
+
},
|
|
42
|
+
async retrieve(query, options) {
|
|
43
|
+
// Embed query
|
|
44
|
+
const { embedding } = await embedder.embed(query);
|
|
45
|
+
// Search vectors
|
|
46
|
+
const results = await vectorStore.search({
|
|
47
|
+
vector: embedding,
|
|
48
|
+
topK: options?.topK || config.topK,
|
|
49
|
+
filter: options?.filter,
|
|
50
|
+
includeMetadata: true,
|
|
51
|
+
minScore: config.minScore,
|
|
52
|
+
});
|
|
53
|
+
// Build context
|
|
54
|
+
const chunks = results.map(r => ({
|
|
55
|
+
content: r.metadata?.content || '',
|
|
56
|
+
score: r.score,
|
|
57
|
+
metadata: options?.includeMetadata ? r.metadata : undefined,
|
|
58
|
+
}));
|
|
59
|
+
const context = chunks.map(c => c.content).join('\n\n');
|
|
60
|
+
return {
|
|
61
|
+
chunks,
|
|
62
|
+
context,
|
|
63
|
+
totalChunks: chunks.length,
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
async delete(ids) {
|
|
67
|
+
// Delete all chunks for each document
|
|
68
|
+
const chunkIds = [];
|
|
69
|
+
for (const id of ids) {
|
|
70
|
+
// Assume up to 100 chunks per document
|
|
71
|
+
for (let i = 0; i < 100; i++) {
|
|
72
|
+
chunkIds.push(`${id}-${i}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
await vectorStore.delete(chunkIds);
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/rag/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* LLM provider for agents
|
|
6
|
+
*/
|
|
7
|
+
export type LLMProvider = 'openai' | 'anthropic' | 'bedrock';
|
|
8
|
+
/**
|
|
9
|
+
* Tool definition for agents
|
|
10
|
+
*/
|
|
11
|
+
export interface Tool {
|
|
12
|
+
/** Tool name */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Tool description (for LLM) */
|
|
15
|
+
description: string;
|
|
16
|
+
/** JSON schema for parameters */
|
|
17
|
+
parameters: {
|
|
18
|
+
type: 'object';
|
|
19
|
+
properties: Record<string, {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
enum?: string[];
|
|
23
|
+
}>;
|
|
24
|
+
required?: string[];
|
|
25
|
+
};
|
|
26
|
+
/** Tool execution function */
|
|
27
|
+
execute: (params: Record<string, unknown>) => Promise<unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Agent configuration
|
|
31
|
+
*/
|
|
32
|
+
export interface AgentConfig {
|
|
33
|
+
/** LLM provider */
|
|
34
|
+
provider: LLMProvider;
|
|
35
|
+
/** Model name */
|
|
36
|
+
model: string;
|
|
37
|
+
/** System prompt */
|
|
38
|
+
systemPrompt?: string;
|
|
39
|
+
/** Available tools */
|
|
40
|
+
tools?: Tool[];
|
|
41
|
+
/** Max iterations for tool use */
|
|
42
|
+
maxIterations?: number;
|
|
43
|
+
/** Temperature (0-1) */
|
|
44
|
+
temperature?: number;
|
|
45
|
+
/** API key */
|
|
46
|
+
apiKey?: string;
|
|
47
|
+
/** AWS region (for Bedrock) */
|
|
48
|
+
region?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Agent config input (partial for overrides)
|
|
52
|
+
*/
|
|
53
|
+
export interface AgentConfigInput {
|
|
54
|
+
provider?: LLMProvider;
|
|
55
|
+
model?: string;
|
|
56
|
+
systemPrompt?: string;
|
|
57
|
+
tools?: Tool[];
|
|
58
|
+
maxIterations?: number;
|
|
59
|
+
temperature?: number;
|
|
60
|
+
apiKey?: string;
|
|
61
|
+
region?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Chat message
|
|
65
|
+
*/
|
|
66
|
+
export interface ChatMessage {
|
|
67
|
+
/** Role */
|
|
68
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
69
|
+
/** Content */
|
|
70
|
+
content: string;
|
|
71
|
+
/** Tool call ID (for tool responses) */
|
|
72
|
+
toolCallId?: string;
|
|
73
|
+
/** Tool calls made by assistant */
|
|
74
|
+
toolCalls?: Array<{
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
arguments: Record<string, unknown>;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Agent response
|
|
82
|
+
*/
|
|
83
|
+
export interface AgentResponse {
|
|
84
|
+
/** Final response content */
|
|
85
|
+
content: string;
|
|
86
|
+
/** Tool calls made during execution */
|
|
87
|
+
toolCalls?: Array<{
|
|
88
|
+
tool: string;
|
|
89
|
+
input: Record<string, unknown>;
|
|
90
|
+
output: unknown;
|
|
91
|
+
}>;
|
|
92
|
+
/** Number of iterations used */
|
|
93
|
+
iterations: number;
|
|
94
|
+
/** Tokens used */
|
|
95
|
+
tokensUsed?: {
|
|
96
|
+
prompt: number;
|
|
97
|
+
completion: number;
|
|
98
|
+
total: number;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Streaming chunk
|
|
103
|
+
*/
|
|
104
|
+
export interface StreamChunk {
|
|
105
|
+
/** Chunk type */
|
|
106
|
+
type: 'text' | 'tool_call' | 'tool_result' | 'done';
|
|
107
|
+
/** Text content (for text chunks) */
|
|
108
|
+
content?: string;
|
|
109
|
+
/** Tool call info */
|
|
110
|
+
toolCall?: {
|
|
111
|
+
id: string;
|
|
112
|
+
name: string;
|
|
113
|
+
arguments: Record<string, unknown>;
|
|
114
|
+
};
|
|
115
|
+
/** Tool result */
|
|
116
|
+
toolResult?: unknown;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/types/agents.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Embedding provider
|
|
6
|
+
*/
|
|
7
|
+
export type EmbeddingProvider = 'openai' | 'bedrock' | 'cohere' | 'custom';
|
|
8
|
+
/**
|
|
9
|
+
* OpenAI embedding models
|
|
10
|
+
*/
|
|
11
|
+
export type OpenAIEmbeddingModel = 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002';
|
|
12
|
+
/**
|
|
13
|
+
* AWS Bedrock embedding models
|
|
14
|
+
*/
|
|
15
|
+
export type BedrockEmbeddingModel = 'amazon.titan-embed-text-v1' | 'amazon.titan-embed-text-v2:0' | 'cohere.embed-english-v3' | 'cohere.embed-multilingual-v3';
|
|
16
|
+
/**
|
|
17
|
+
* Embedding configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface EmbeddingConfig {
|
|
20
|
+
/** Provider to use */
|
|
21
|
+
provider: EmbeddingProvider;
|
|
22
|
+
/** Model name */
|
|
23
|
+
model: string;
|
|
24
|
+
/** Embedding dimensions (provider-specific) */
|
|
25
|
+
dimensions?: number;
|
|
26
|
+
/** API key (for OpenAI, Cohere) */
|
|
27
|
+
apiKey?: string;
|
|
28
|
+
/** AWS region (for Bedrock) */
|
|
29
|
+
region?: string;
|
|
30
|
+
/** Batch size for bulk operations */
|
|
31
|
+
batchSize?: number;
|
|
32
|
+
/** Max retries on failure */
|
|
33
|
+
maxRetries?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Embedding config input (partial for overrides)
|
|
37
|
+
*/
|
|
38
|
+
export interface EmbeddingConfigInput {
|
|
39
|
+
provider?: EmbeddingProvider;
|
|
40
|
+
model?: string;
|
|
41
|
+
dimensions?: number;
|
|
42
|
+
apiKey?: string;
|
|
43
|
+
region?: string;
|
|
44
|
+
batchSize?: number;
|
|
45
|
+
maxRetries?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Embedding result
|
|
49
|
+
*/
|
|
50
|
+
export interface EmbeddingResult {
|
|
51
|
+
/** The embedding vector */
|
|
52
|
+
embedding: number[];
|
|
53
|
+
/** Number of tokens used */
|
|
54
|
+
tokensUsed?: number;
|
|
55
|
+
/** Model used */
|
|
56
|
+
model: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Batch embedding result
|
|
60
|
+
*/
|
|
61
|
+
export interface BatchEmbeddingResult {
|
|
62
|
+
/** Embeddings in same order as input */
|
|
63
|
+
embeddings: number[][];
|
|
64
|
+
/** Total tokens used */
|
|
65
|
+
totalTokensUsed?: number;
|
|
66
|
+
/** Model used */
|
|
67
|
+
model: string;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/types/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,4BAA4B,GAC5B,8BAA8B,GAC9B,yBAAyB,GACzB,8BAA8B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/types/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAG (Retrieval-Augmented Generation) Types
|
|
3
|
+
*/
|
|
4
|
+
import type { EmbeddingConfig } from './embeddings.js';
|
|
5
|
+
import type { VectorStoreConfig } from './vectors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Document chunk for indexing
|
|
8
|
+
*/
|
|
9
|
+
export interface DocumentChunk {
|
|
10
|
+
/** Unique identifier */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Text content */
|
|
13
|
+
content: string;
|
|
14
|
+
/** Source document ID */
|
|
15
|
+
sourceId?: string;
|
|
16
|
+
/** Chunk index within source */
|
|
17
|
+
chunkIndex?: number;
|
|
18
|
+
/** Additional metadata */
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Chunking strategy
|
|
23
|
+
*/
|
|
24
|
+
export type ChunkingStrategy = 'fixed' | 'sentence' | 'paragraph' | 'semantic';
|
|
25
|
+
/**
|
|
26
|
+
* Text chunking configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface ChunkingConfig {
|
|
29
|
+
/** Chunking strategy */
|
|
30
|
+
strategy: ChunkingStrategy;
|
|
31
|
+
/** Target chunk size (characters) */
|
|
32
|
+
chunkSize: number;
|
|
33
|
+
/** Overlap between chunks (characters) */
|
|
34
|
+
chunkOverlap: number;
|
|
35
|
+
/** Separator for fixed chunking */
|
|
36
|
+
separator?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* RAG configuration
|
|
40
|
+
*/
|
|
41
|
+
export interface RagConfig {
|
|
42
|
+
/** Embedding configuration */
|
|
43
|
+
embedding: EmbeddingConfig;
|
|
44
|
+
/** Vector store configuration */
|
|
45
|
+
vectorStore: VectorStoreConfig;
|
|
46
|
+
/** Chunking configuration */
|
|
47
|
+
chunking: ChunkingConfig;
|
|
48
|
+
/** Number of chunks to retrieve */
|
|
49
|
+
topK: number;
|
|
50
|
+
/** Minimum similarity score */
|
|
51
|
+
minScore?: number;
|
|
52
|
+
/** Reranking enabled */
|
|
53
|
+
rerank?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* RAG config input (partial for overrides)
|
|
57
|
+
*/
|
|
58
|
+
export interface RagConfigInput {
|
|
59
|
+
embedding?: Partial<EmbeddingConfig>;
|
|
60
|
+
vectorStore?: Partial<VectorStoreConfig>;
|
|
61
|
+
chunking?: Partial<ChunkingConfig>;
|
|
62
|
+
topK?: number;
|
|
63
|
+
minScore?: number;
|
|
64
|
+
rerank?: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieved context for generation
|
|
68
|
+
*/
|
|
69
|
+
export interface RetrievedContext {
|
|
70
|
+
/** Retrieved chunks */
|
|
71
|
+
chunks: Array<{
|
|
72
|
+
content: string;
|
|
73
|
+
score: number;
|
|
74
|
+
metadata?: Record<string, unknown>;
|
|
75
|
+
}>;
|
|
76
|
+
/** Combined context string */
|
|
77
|
+
context: string;
|
|
78
|
+
/** Total chunks retrieved */
|
|
79
|
+
totalChunks: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* RAG query options
|
|
83
|
+
*/
|
|
84
|
+
export interface RagQueryOptions {
|
|
85
|
+
/** Override topK for this query */
|
|
86
|
+
topK?: number;
|
|
87
|
+
/** Metadata filter */
|
|
88
|
+
filter?: Record<string, unknown>;
|
|
89
|
+
/** Include source metadata */
|
|
90
|
+
includeMetadata?: boolean;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=rag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/types/rag.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IAErB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,SAAS,EAAE,eAAe,CAAC;IAE3B,iCAAiC;IACjC,WAAW,EAAE,iBAAiB,CAAC;IAE/B,6BAA6B;IAC7B,QAAQ,EAAE,cAAc,CAAC;IAEzB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,8BAA8B;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/types/rag.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector Store Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Vector store provider
|
|
6
|
+
*/
|
|
7
|
+
export type VectorStoreProvider = 'pinecone' | 'pgvector' | 'qdrant' | 'weaviate' | 'memory';
|
|
8
|
+
/**
|
|
9
|
+
* Vector with metadata
|
|
10
|
+
*/
|
|
11
|
+
export interface Vector {
|
|
12
|
+
/** Unique identifier */
|
|
13
|
+
id: string;
|
|
14
|
+
/** The embedding vector */
|
|
15
|
+
values: number[];
|
|
16
|
+
/** Associated metadata */
|
|
17
|
+
metadata?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Vector store configuration
|
|
21
|
+
*/
|
|
22
|
+
export interface VectorStoreConfig {
|
|
23
|
+
/** Provider to use */
|
|
24
|
+
provider: VectorStoreProvider;
|
|
25
|
+
/** Index/collection name */
|
|
26
|
+
indexName: string;
|
|
27
|
+
/** Vector dimensions */
|
|
28
|
+
dimensions: number;
|
|
29
|
+
/** Distance metric */
|
|
30
|
+
metric?: 'cosine' | 'euclidean' | 'dotproduct';
|
|
31
|
+
/** Pinecone-specific */
|
|
32
|
+
pinecone?: {
|
|
33
|
+
apiKey: string;
|
|
34
|
+
environment?: string;
|
|
35
|
+
};
|
|
36
|
+
/** pgvector-specific */
|
|
37
|
+
pgvector?: {
|
|
38
|
+
connectionString: string;
|
|
39
|
+
tableName?: string;
|
|
40
|
+
};
|
|
41
|
+
/** Qdrant-specific */
|
|
42
|
+
qdrant?: {
|
|
43
|
+
url: string;
|
|
44
|
+
apiKey?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Vector store config input (partial for overrides)
|
|
49
|
+
*/
|
|
50
|
+
export interface VectorStoreConfigInput {
|
|
51
|
+
provider?: VectorStoreProvider;
|
|
52
|
+
indexName?: string;
|
|
53
|
+
dimensions?: number;
|
|
54
|
+
metric?: 'cosine' | 'euclidean' | 'dotproduct';
|
|
55
|
+
pinecone?: {
|
|
56
|
+
apiKey: string;
|
|
57
|
+
environment?: string;
|
|
58
|
+
};
|
|
59
|
+
pgvector?: {
|
|
60
|
+
connectionString: string;
|
|
61
|
+
tableName?: string;
|
|
62
|
+
};
|
|
63
|
+
qdrant?: {
|
|
64
|
+
url: string;
|
|
65
|
+
apiKey?: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Vector search query
|
|
70
|
+
*/
|
|
71
|
+
export interface VectorQuery {
|
|
72
|
+
/** Query vector */
|
|
73
|
+
vector: number[];
|
|
74
|
+
/** Number of results to return */
|
|
75
|
+
topK: number;
|
|
76
|
+
/** Metadata filter */
|
|
77
|
+
filter?: Record<string, unknown>;
|
|
78
|
+
/** Include metadata in results */
|
|
79
|
+
includeMetadata?: boolean;
|
|
80
|
+
/** Include vectors in results */
|
|
81
|
+
includeValues?: boolean;
|
|
82
|
+
/** Minimum similarity score (0-1) */
|
|
83
|
+
minScore?: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Vector search result
|
|
87
|
+
*/
|
|
88
|
+
export interface VectorSearchResult {
|
|
89
|
+
/** Vector ID */
|
|
90
|
+
id: string;
|
|
91
|
+
/** Similarity score */
|
|
92
|
+
score: number;
|
|
93
|
+
/** Metadata if requested */
|
|
94
|
+
metadata?: Record<string, unknown>;
|
|
95
|
+
/** Vector values if requested */
|
|
96
|
+
values?: number[];
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=vectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/types/vectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sBAAsB;IACtB,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAE/C,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC/C,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectors.js","sourceRoot":"","sources":["../../src/types/vectors.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector Store Configuration
|
|
3
|
+
*/
|
|
4
|
+
import type { VectorStoreConfig, VectorStoreConfigInput } from '../types/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Default vector store configuration (in-memory for dev)
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_VECTOR_STORE_CONFIG: VectorStoreConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Create vector store configuration from input
|
|
11
|
+
*/
|
|
12
|
+
export declare function createVectorStoreConfig(input?: VectorStoreConfigInput): VectorStoreConfig;
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/vectors/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAKzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,iBAAiB,CAOzF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector Store Configuration
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Default vector store configuration (in-memory for dev)
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_VECTOR_STORE_CONFIG = {
|
|
8
|
+
provider: 'memory',
|
|
9
|
+
indexName: 'default',
|
|
10
|
+
dimensions: 1536,
|
|
11
|
+
metric: 'cosine',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Create vector store configuration from input
|
|
15
|
+
*/
|
|
16
|
+
export function createVectorStoreConfig(input) {
|
|
17
|
+
if (!input)
|
|
18
|
+
return DEFAULT_VECTOR_STORE_CONFIG;
|
|
19
|
+
return {
|
|
20
|
+
...DEFAULT_VECTOR_STORE_CONFIG,
|
|
21
|
+
...input,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vectors/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA8B;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,2BAA2B,CAAC;IAE/C,OAAO;QACL,GAAG,2BAA2B;QAC9B,GAAG,KAAK;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector Store
|
|
3
|
+
*
|
|
4
|
+
* Utilities for vector storage and similarity search.
|
|
5
|
+
*/
|
|
6
|
+
export { createVectorStoreConfig, DEFAULT_VECTOR_STORE_CONFIG } from './config.js';
|
|
7
|
+
export { createVectorStore } from './store.js';
|
|
8
|
+
export type { VectorStore } from './store.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vectors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector Store
|
|
3
|
+
*
|
|
4
|
+
* Unified interface for vector storage across providers.
|
|
5
|
+
*/
|
|
6
|
+
import type { VectorStoreConfig, Vector, VectorQuery, VectorSearchResult } from '../types/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Vector store interface
|
|
9
|
+
*/
|
|
10
|
+
export interface VectorStore {
|
|
11
|
+
/** Upsert vectors */
|
|
12
|
+
upsert(vectors: Vector[]): Promise<void>;
|
|
13
|
+
/** Search for similar vectors */
|
|
14
|
+
search(query: VectorQuery): Promise<VectorSearchResult[]>;
|
|
15
|
+
/** Delete vectors by ID */
|
|
16
|
+
delete(ids: string[]): Promise<void>;
|
|
17
|
+
/** Get vectors by ID */
|
|
18
|
+
fetch(ids: string[]): Promise<Vector[]>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a vector store for the configured provider
|
|
22
|
+
*/
|
|
23
|
+
export declare function createVectorStore(config: VectorStoreConfig): VectorStore;
|
|
24
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/vectors/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE1D,2BAA2B;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,wBAAwB;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAWxE"}
|