RAG-as-a-Service

Add RAG to your app in minutes

No complex pipelines. No vector database management. Just one-line SDK integration and you're ready to retrieve and generate.

quick-start.js
import { RavaClient } from '@rava-ai/sdk';

// Initialize once during app startup
RavaClient.initialize({
  apiKey: process.env.RAVA_API_KEY!,
  baseUrl: process.env.RAVA_BASE_URL ?? 'https://rava-ydvd.onrender.com'
});

const rava = RavaClient.getInstance();

await rava.ingest({
  name: 'product-docs',
  content: 'RAG lets you answer questions from your own data.',
  metadata: { type: 'text' }
});

const result = await rava.query({
  question: 'How do I initialize the SDK?',
  top_k: 5
});

console.log(result.answer);

How it works

Three simple steps to add RAG to your application

Ingest

Upload your data—text files, PDFs, GitHub repos, URLs. Rava handles chunking and embedding automatically.

Retrieve

Query using natural language. Our vector search instantly finds the most relevant context from your data.

Generate

Get back high-quality answers powered by Groq's fast LLM inference and your custom data.

Powerful features

Everything you need to build production-ready RAG applications

One-line SDK

Drop our npm package into your project and start building instantly.

Multi-source ingestion

Ingest from text, files, GitHub repositories, and URLs seamlessly.

Built on pgvector

Fast vector search powered by PostgreSQL and pgvector for low latency.

Groq-powered inference

Lightning-fast LLM generation using Groq for sub-second responses.

Project isolation

Each project is isolated with its own vector space and API keys.

Go backend

Scalable infrastructure built in Go for maximum reliability and performance.

Developer experience

Simple, intuitive APIs designed for developers. No boilerplate, no headaches.

  • Singleton client initialization
  • Natural language queries
  • File or text ingestion
  • Typed request and response models
Read the docs
example.js
// Reuse the singleton instance anywhere
const rava = RavaClient.getInstance();

await rava.ingest({
  name: 'knowledge-base',
  filePath: './data.txt',
  metadata: { type: 'text' }
});

const response = await rava.query({
  question: 'Summarize the ingested file',
  history: [
    { role: 'user', content: 'Keep it short.' }
  ],
  top_k: 3
});

return response.answer;

Built for every use case

From chatbots to internal tools, Rava powers them all

AI Chatbots

Build context-aware chatbots that understand your data

Documentation Search

Semantic search over your entire documentation

Internal Tools

Create internal assistants for your team

AI Copilots

Embed AI assistance directly into your products

Built for scale

Enterprise-grade infrastructure powering production applications

Go

Scalable Backend

High-performance backend built in Go for reliability and scale

pgvector

Vector Storage

Distributed vector search with PostgreSQL and pgvector

Groq

LLM Inference

Sub-second LLM responses via Groq's inference network

Ready to build with RAG?

Get your API key and start building in minutes. No credit card required.