UNPKG

@mastra/rag

Version:

The Retrieval-Augmented Generation (RAG) module contains document processing and embedding utilities.

68 lines 2.14 kB
/** * TODO: GraphRAG Enhancements * - Add support for more edge types (sequential, hierarchical, citation, etc) * - Allow for custom edge types * - Utilize metadata for richer connections * - Improve graph traversal and querying using types */ type SupportedEdgeType = 'semantic'; type GraphMetadata = Record<string, any>; export interface GraphNode { id: string; content: string; embedding?: number[]; metadata?: GraphMetadata; } export interface RankedNode extends GraphNode { score: number; } export interface GraphEdge { source: string; target: string; weight: number; type: SupportedEdgeType; } export interface GraphChunk { text: string; metadata: Record<string, any>; } export interface GraphEmbedding { vector: number[]; } export declare class GraphRAG { private nodes; private edges; private dimension; private threshold; constructor(dimension?: number, threshold?: number); addNode(node: GraphNode): void; addEdge(edge: GraphEdge): void; getNodes(): GraphNode[]; getEdges(): GraphEdge[]; getEdgesByType(type: string): GraphEdge[]; clear(): void; updateNodeContent(id: string, newContent: string): void; private getNeighbors; private cosineSimilarity; createGraph(chunks: GraphChunk[], embeddings: GraphEmbedding[]): void; private selectWeightedNeighbor; private randomWalkWithRestart; /** * Query the graph with a dense embedding and optional metadata filter. * * @param query - The embedding vector to query. * @param topK - Number of top results to return. * @param randomWalkSteps - Steps for random walk reranking. * @param restartProb - Restart probability for random walk. * @param filter - Optional strict metadata filter. All key-value pairs must match exactly. */ query({ query, topK, randomWalkSteps, restartProb, filter, }: { query: number[]; topK?: number; randomWalkSteps?: number; restartProb?: number; filter?: Partial<GraphMetadata>; }): RankedNode[]; } export {}; //# sourceMappingURL=index.d.ts.map