korvus logo

korvus

postgresml/korvus

Unified RAG pipeline in a single database query

GraphCanon updated today · GitHub synced today

1.5k stars48 forksLast push 1y Rust MIT

Decision brief

Korvus is an SDK leveraging the Retrieval-Augmented Generation (RAG) pipeline within Postgres database operations, supporting multiple programming languages.

Good fit when

  • You require seamless integration of AI capabilities into data retrieval actions performed on a Postgres database.
  • Need to implement RAG functionality in your project but desire simplicity and efficiency by leveraging a single-query approach.

Avoid when

  • You seek a solution that operates beyond the Postgres ecosystem, as Korvus specifically integrates with this type of database.
  • If your project necessitates highly specialized RAG implementations without leveraging existing databases for retrieval tasks.
Requirements:
Compatible programming languages include Rust, Python, JavaScript, and C.

Observed Jul 12, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Dormant (568d since push)
As of today
Provenance
Not a fork · Organization account
As of today
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

cargo add korvus
crates.io

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Korvus is an SDK for search over Postgres that integrates the Retrieval-Augmented Generation (RAG) pipeline. It supports multiple programming languages and focuses on embedding AI capabilities within data retrieval operations.

Capability facts

Languages
rust

Source: github.language · Aug 22, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Aug 22, 2026)

```python from korvus import Collection, Pipeline
Source link

Tags

README

🏁 Quick Start

  1. Install Korvus:
pip install korvus
  1. Set the KORVUS_DATABASE_URL env variable:
export KORVUS_DATABASE_URL="{YOUR DATABASE CONNECTION STRING}"
  1. Initialize a Collection and Pipeline:
from korvus import Collection, Pipeline
import asyncio

collection = Collection("korvus-demo-v0")
pipeline = Pipeline(
    "v1",
    {
        "text": {
            "splitter": {"model": "recursive_character"},
            "semantic_search": {"model": "Alibaba-NLP/gte-base-en-v1.5"},
        }
    },
)

async def add_pipeline():
    await collection.add_pipeline(pipeline)

asyncio.run(add_pipeline())
  1. Insert documents:
async def upsert_documents():
    documents = [
        {"id": "1", "text": "Korvus is incredibly fast and easy to use."},
        {"id": "2", "text": "Tomatoes are incredible on burgers."},
    ]
    await collection.upsert_documents(documents)

asyncio.run(upsert_documents())
  1. Perform RAG
async def rag():
    query = "Is Korvus fast?"
    print(f"Querying for response to: {query}")
    results = await collection.rag(
        {
            "CONTEXT": {
                "vector_search": {
                    "query": {
                        "fields": {"text": {"query": query}},
                    },
                    "document": {"keys": ["id"]},
                    "limit": 1,
                },
                "aggregate": {"join": "\n"},
            },
            "chat": {
                "model": "meta-llama/Meta-Llama-3-8B-Instruct",
                "messages": [
                    {
                        "role": "system",
                        "content": "You are a friendly and helpful chatbot",
                    },
                    {
                        "role": "user",
                        "content": f"Given the context\n:{{CONTEXT}}\nAnswer the question: {query}",
                    },
                ],
                "max_tokens": 100,
            },
        },
        pipeline,
    )
    print(results)

asyncio.run(rag())

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.