@dooor-ai/toolkit
Version:
Guards, Evals & Observability for AI applications - works seamlessly with LangChain/LangGraph
56 lines (48 loc) • 1.17 kB
text/typescript
/**
* RAG (Retrieval-Augmented Generation) types for DOOOR AI Toolkit
*/
export enum RAGStrategy {
SIMPLE = "simple",
MULTI_QUERY = "multi_query",
HYDE = "hyde",
RERANK = "rerank",
FUSION = "fusion",
CONTEXTUAL_QUERY = "contextual_query",
}
export interface RAGDocument {
content: string;
metadata?: Record<string, any>;
}
export interface RAGEmbedding {
text: string;
vector: number[];
metadata?: Record<string, any>;
}
export interface RAGFile {
name: string;
data: Buffer | Blob | File;
type?: string; // MIME type
}
export interface RAGContextConfig {
files?: RAGFile[];
documents?: RAGDocument[];
embeddings?: RAGEmbedding[];
embeddingProvider: string; // Internal name of embedding provider configured in /settings/embeddings
strategy?: RAGStrategy;
topK?: number;
chunkSize?: number;
chunkOverlap?: number;
similarityThreshold?: number;
}
export interface RAGMetadata {
chunks_retrieved: number;
took_ms: number;
strategy_used: RAGStrategy;
similarity_scores: number[];
embedding_provider: string;
}
export interface RAGResult {
text: string;
score: number;
metadata?: Record<string, any>;
}