RAG Toolkit
Toolkit que abstrai a complexidade de construir pipelines RAG em Node.js. Suporta múltiplos provedores de embedding e bancos vetoriais.
Provedores suportados
Embeddings:
- OpenAI (text-embedding-3-small, text-embedding-3-large)
- Cohere
- Ollama (modelos locais)
Bancos vetoriais:
- Supabase (pgvector)
- Pinecone
- Qdrant
- ChromaDB (local)
Exemplo de uso
import { RAGPipeline, OpenAIEmbedder, SupabaseVectorStore } from '@paulo-sudo/rag-toolkit'
const pipeline = new RAGPipeline({
embedder: new OpenAIEmbedder({ model: 'text-embedding-3-small' }),
vectorStore: new SupabaseVectorStore({
url: process.env.SUPABASE_URL,
key: process.env.SUPABASE_KEY,
table: 'documentos',
}),
llm: new OpenAIChat({ model: 'gpt-4o-mini' }),
})
// Indexar documentos
await pipeline.index([
{ titulo: 'Manual', conteudo: fs.readFileSync('manual.txt', 'utf-8') },
])
// Fazer perguntas
const resposta = await pipeline.query('Como faço para resetar a senha?')
console.log(resposta)Features
- Chunking inteligente com preservação de contexto entre chunks
- Reranking com Cohere ou cross-encoder local
- Cache de embeddings com Redis
- Streaming de respostas
- Avaliação de qualidade das respostas (faithfulness, relevance)