Saltar para o conteúdo

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)

Links