pgml-cms/docs/open-source/korvus/README.md
Korvus is an all-in-one, open-source RAG (Retrieval-Augmented Generation) pipeline built for PostgresML. It combines LLMs, vector memory, embedding generation, reranking, summarization and custom models into a single query, maximizing performance and simplifying your search architecture.
Korvus can be installed using standard package managers for JavaScript, Python, and Rust. Since the SDK is written in Rust, the JavaScript and Python packages come with no additional dependencies.
For key features, a quick start, and the code see the Korvus GitHub
Common links:
Installing the SDK into your project is as simple as:
{% tabs %} {% tab title="JavaScript" %}
npm i korvus
{% endtab %}
{% tab title="Python" %}
pip install korvus
{% endtab %}
{% tab title="Rust" %}
cargo add korvus
{% endtab %}
{% tab title="C" %}
First clone the korvus repository and navigate to the korvus/c directory:
git clone https://github.com/postgresml/korvus
cd korvus/korvus/c
Then build the bindings
make bindings
This will generate the korvus.h file and a .so on linux and .dyblib on MacOS.
{% endtab %}
{% endtabs %}
The SDK automatically manages connections to PostgresML. The connection string can be specified as an argument to the collection constructor, or as an environment variable.
If your app follows the twelve-factor convention, we recommend you configure the connection in the environment using the KORVUS_DATABASE_URL variable:
export KORVUS_DATABASE_URL=postgres://user:[email protected]:6432/korvus_database
Common links: