@masuidrive/bloom-local-rag
Version:
RAG (Retrieval-Augmented Generation) system for local directories - Index and search your documents with AI-powered answers
35 lines • 1.24 kB
JavaScript
import { z } from 'zod';
export const ConfigSchema = z.object({
version: z.string().default('1.0'),
directory: z.string(),
extensions: z.array(z.string()).default(['.md', '.mdx', '.txt', '.js', '.ts', '.jsx', '.tsx', '.yaml', '.yml']),
exclude: z.array(z.string()).default([]),
embedding: z.object({
provider: z.enum(['gemini', 'openai']).default('gemini'),
model: z.string().default('text-embedding-004'),
chunkSize: z.number().positive().default(1000),
chunkOverlap: z.number().min(0).default(200),
}),
llm: z.object({
provider: z.enum(['gemini', 'openai']).default('gemini'),
model: z.string().default('gemini-2.0-flash-exp'),
temperature: z.number().min(0).max(2).default(0.7),
}),
});
export const MetadataSchema = z.object({
indexedAt: z.string(),
fileCount: z.number(),
totalChunks: z.number(),
dbSize: z.string(),
});
export const CacheEntrySchema = z.object({
path: z.string(),
hash: z.string(),
modifiedAt: z.number(),
chunks: z.number(),
});
export const CacheSchema = z.object({
version: z.string().default('1.0'),
entries: z.record(z.string(), CacheEntrySchema),
});
//# sourceMappingURL=config.js.map