Skip to content

add product to nav #1545

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1c71108
add product to nav
chillenberger Jun 27, 2024
41ceca2
add pgcat icon as font, update footer
chillenberger Jun 27, 2024
1b59410
Changed structure and cleaned up Korvus docs
SilasMarvin Jul 2, 2024
61264ef
Korvus docs in a decent place
SilasMarvin Jul 3, 2024
29624bb
Added pgml.transform_stream docs and cleaned up pgml docs a bit
SilasMarvin Jul 8, 2024
0977a52
Move PgCat under open source
SilasMarvin Jul 8, 2024
a526c6f
Fix spelling error
SilasMarvin Jul 8, 2024
5bf2e05
Update the docs landing page
SilasMarvin Jul 9, 2024
0cf476b
Update product section of docs
SilasMarvin Jul 9, 2024
c2cce09
Add correct route for enterprise plan
SilasMarvin Jul 9, 2024
71a9655
Merge branch 'master' into dan-korvus-nav-update
chillenberger Jul 9, 2024
8bdd015
Clean up semantic search example app
SilasMarvin Jul 9, 2024
a831255
add korvus icon, widen nav dropdown bridge, align product dropdown text
chillenberger Jul 9, 2024
2f995d6
update korvus icon font
chillenberger Jul 10, 2024
c0a4c8c
Korvus blog post
SilasMarvin Jul 10, 2024
f26ad3e
Updated date for korvus launch blog post
SilasMarvin Jul 10, 2024
89608ce
Cloud docs outline (#1553)
montanalow Jul 10, 2024
89925e1
Merge remote-tracking branch 'origin/silas-docs-overhaul' into dan-ko…
chillenberger Jul 10, 2024
2464fb6
Merge remote-tracking branch 'origin/silas-docs-overhaul' into dan-ko…
chillenberger Jul 10, 2024
a9847b6
update links to korvus nav
chillenberger Jul 10, 2024
c32fdcb
update solutions links and footer
chillenberger Jul 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions pgml-cms/blog/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Table of contents

* [Home](README.md)
* [Korvus The All-in-One RAG Pipeline for PostgresML](introducing-korvus-the-all-in-one-rag-pipeline-for-postgresml.md)
* [Semantic Search in Postgres in 15 Minutes](semantic-search-in-postgres-in-15-minutes.md)
* [Unified RAG](unified-rag.md)
* [Announcing the Release of our Rust SDK](announcing-the-release-of-our-rust-sdk.md)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
---
description: Meet Korvus, our new open-source tool that simplifies and unifies the entire RAG pipeline into a single database query.
featured: true
tags: [product]
image: ".gitbook/assets/Blog-Image_Korvus-Release.jpg"
---

# Introducing Korvus: The All-in-One RAG Pipeline for PostgresML

<div align="left">

<figure><img src=".gitbook/assets/image.png" alt="Author" width="100"><figcaption></figcaption></figure>

</div>

Cassandra Stumer

July 10, 2024

You’re probably all too familiar with the complexities of building and maintaining RAG pipelines. The multiple services, the API calls, the data movement. Managing and scaling efficient infrastructure is the woefully painful and un-sexy side of building any ML/AI system. It’s also the most crucial factor when it comes to delivering real-world, production applications. That’s why we perform machine learning directly in PostgreSQL.

After hard-earned wisdom gained scaling the ML platform at Instacart, our team is bullish on in-database machine learning winning out as the AI infrastructure of the future. We know from experience that moving the compute to your database is far more efficient, effective and scalable than continuously moving your data to the models. That’s why we built PostgresML.

While we’re big Postgres fans, we asked ourselves: what if we could simplify all of that for folks who need a robust, production-grade RAG pipeline, but aren’t into SQL? Korvus is our answer. It's an extension of what we've been doing with PostgresML, but abstracts away the complexity of SQL-based operations. That way, more builders and users can reap the benefits of a unified, in-database RAG pipeline.

Why is RAG better with Korvus? Korvus provides a high-level interface in multiple programming languages that unifies the entire RAG pipeline into a single database query. Yes, you read that right - one query to handle embedding generation, vector search, reranking, and text generation. <i>One query to rule them all</i>.

Here's what's under the hood: Korvus’ core operations are built on optimized SQL queries. You’ll get high-performance, customizable search capabilities with minimal infrastructure concerns – and you can do it all in Python, JavaScript or Rust.

!!! info

Open a [GitHub issue](https://github.com/postgresml/korvus/issues) to vote on support for another language and we will add it to our roadmap.

!!!

Performing RAG directly where your data resides with optimized queries not only produces a faster app for users; but also gives you the ability to inspect, understand, and even customize these queries if you need to.

Plus, when you build on Postgres, you can leverage its vast ecosystem of extensions. The capabilities are robust; “just use Postgres” is a common saying for a reason. There’s truly an extension for everything, and extensions like pgvector, pgml and pgvectorscale couple all the performance and scalability you'd expect from Postgres with sophisticated ML/AI operations.

We're releasing Korvus as open-source software, and yes, it can run locally in Docker for those of you who like to tinker. In our (admittedly biased) opinion – it’s easiest to run Korvus on our serverless cloud. The PostgresML cloud comes with GPUs, and it’s preloaded with the extensions you’ll need to get started. Plus, you won’t have to manage a database.

Once set up locally or in the PostgresML cloud, getting started with Korvus is easy!

!!! generic

!!! code_block

```python
from korvus import Collection, Pipeline
from rich import print
import asyncio

# Initialize our Collection
collection = Collection("semantic-search-demo")

# Initialize our Pipeline
# Our Pipeline will split and embed the `text` key of documents we upsert
pipeline = Pipeline(
"v1",
{
"text": {
"splitter": {"model": "recursive_character"},
"semantic_search": {
"model": "mixedbread-ai/mxbai-embed-large-v1",
},
},
},
)

async def main():
# Add our Pipeline to our Collection
await collection.add_pipeline(pipeline)

# Upsert our 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)

# Perform 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 briefly: {query}",
},
],
"max_tokens": 100,
},
},
pipeline,
)
print(results)

asyncio.run(main())
```

!!!

!!! results

```json
{
'rag': ['Yes, Korvus is incredibly fast!'],
'sources': {
'CONTEXT': [
{
'chunk': 'Korvus is incredibly fast and easy to use.',
'document': {'id': '1'},
'rerank_score': None,
'score': 0.7542821004154432
}
]
}
}
```

!!!

!!!

Give it a spin, and let us know what you think. We're always here to geek out about databases and machine learning, so don't hesitate to reach out if you have any questions or ideas. We welcome you to:

- [Join our Discord server](https://discord.gg/DmyJP3qJ7U)
- [Follow us on Twitter](https://twitter.com/postgresml)
- [Contribute to the project on GitHub](https://github.com/postgresml/korvus)

We're excited to see what you'll build with Korvus. Whether you're working on advanced search systems, content recommendation engines, or any other RAG-based application, we believe Korvus can significantly streamline your architecture and boost your performance.

Here's to simpler architectures and more powerful queries!
Binary file added pgml-cms/docs/.gitbook/assets/vpc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
102 changes: 54 additions & 48 deletions pgml-cms/docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,44 +12,53 @@
* [Move data with COPY](introduction/getting-started/import-your-data/copy.md)
* [Migrate with pg_dump](introduction/getting-started/import-your-data/pg-dump.md)

## API
## Open Source

* [Overview](api/overview.md)
* [SQL extension](api/sql-extension/README.md)
* [pgml.embed()](api/sql-extension/pgml.embed.md)
* [pgml.transform()](api/sql-extension/pgml.transform/README.md)
* [Fill-Mask](api/sql-extension/pgml.transform/fill-mask.md)
* [Question answering](api/sql-extension/pgml.transform/question-answering.md)
* [Summarization](api/sql-extension/pgml.transform/summarization.md)
* [Text classification](api/sql-extension/pgml.transform/text-classification.md)
* [Text Generation](api/sql-extension/pgml.transform/text-generation.md)
* [Text-to-Text Generation](api/sql-extension/pgml.transform/text-to-text-generation.md)
* [Token Classification](api/sql-extension/pgml.transform/token-classification.md)
* [Translation](api/sql-extension/pgml.transform/translation.md)
* [Zero-shot Classification](api/sql-extension/pgml.transform/zero-shot-classification.md)
* [pgml.deploy()](api/sql-extension/pgml.deploy.md)
* [pgml.decompose()](api/sql-extension/pgml.decompose.md)
* [pgml.chunk()](api/sql-extension/pgml.chunk.md)
* [pgml.generate()](api/sql-extension/pgml.generate.md)
* [pgml.predict()](api/sql-extension/pgml.predict/README.md)
* [Batch Predictions](api/sql-extension/pgml.predict/batch-predictions.md)
* [pgml.train()](api/sql-extension/pgml.train/README.md)
* [Regression](api/sql-extension/pgml.train/regression.md)
* [Classification](api/sql-extension/pgml.train/classification.md)
* [Clustering](api/sql-extension/pgml.train/clustering.md)
* [Decomposition](api/sql-extension/pgml.train/decomposition.md)
* [Data Pre-processing](api/sql-extension/pgml.train/data-pre-processing.md)
* [Hyperparameter Search](api/sql-extension/pgml.train/hyperparameter-search.md)
* [Joint Optimization](api/sql-extension/pgml.train/joint-optimization.md)
* [pgml.tune()](api/sql-extension/pgml.tune.md)
* [Client SDK](api/client-sdk/README.md)
* [Collections](api/client-sdk/collections.md)
* [Pipelines](api/client-sdk/pipelines.md)
* [Vector Search](api/client-sdk/search.md)
* [Document Search](api/client-sdk/document-search.md)
* [Tutorials](api/client-sdk/tutorials/README.md)
* [Semantic Search](api/client-sdk/tutorials/semantic-search.md)
* [Semantic Search Using Instructor Model](api/client-sdk/tutorials/semantic-search-1.md)
* [Overview](open-source/overview.md)
* [PGML](open-source/pgml/README.md)
* [API](open-source/pgml/api/README.md)
* [pgml.embed()](open-source/pgml/api/pgml.embed.md)
* [pgml.transform()](open-source/pgml/api/pgml.transform/README.md)
* [Fill-Mask](open-source/pgml/api/pgml.transform/fill-mask.md)
* [Question answering](open-source/pgml/api/pgml.transform/question-answering.md)
* [Summarization](open-source/pgml/api/pgml.transform/summarization.md)
* [Text classification](open-source/pgml/api/pgml.transform/text-classification.md)
* [Text Generation](open-source/pgml/api/pgml.transform/text-generation.md)
* [Text-to-Text Generation](open-source/pgml/api/pgml.transform/text-to-text-generation.md)
* [Token Classification](open-source/pgml/api/pgml.transform/token-classification.md)
* [Translation](open-source/pgml/api/pgml.transform/translation.md)
* [Zero-shot Classification](open-source/pgml/api/pgml.transform/zero-shot-classification.md)
* [pgml.transform_stream()](open-source/pgml/api/pgml.transform_stream.md)
* [pgml.deploy()](open-source/pgml/api/pgml.deploy.md)
* [pgml.decompose()](open-source/pgml/api/pgml.decompose.md)
* [pgml.chunk()](open-source/pgml/api/pgml.chunk.md)
* [pgml.generate()](open-source/pgml/api/pgml.generate.md)
* [pgml.predict()](open-source/pgml/api/pgml.predict/README.md)
* [Batch Predictions](open-source/pgml/api/pgml.predict/batch-predictions.md)
* [pgml.train()](open-source/pgml/api/pgml.train/README.md)
* [Regression](open-source/pgml/api/pgml.train/regression.md)
* [Classification](open-source/pgml/api/pgml.train/classification.md)
* [Clustering](open-source/pgml/api/pgml.train/clustering.md)
* [Decomposition](open-source/pgml/api/pgml.train/decomposition.md)
* [Data Pre-processing](open-source/pgml/api/pgml.train/data-pre-processing.md)
* [Hyperparameter Search](open-source/pgml/api/pgml.train/hyperparameter-search.md)
* [Joint Optimization](open-source/pgml/api/pgml.train/joint-optimization.md)
* [pgml.tune()](open-source/pgml/api/pgml.tune.md)
* [Korvus](open-source/korvus/README.md)
* [API](open-source/korvus/api/README.md)
* [Collections](open-source/korvus/api/collections.md)
* [Pipelines](open-source/korvus/api/pipelines.md)
* [Guides](open-source/korvus/guides/README.md)
* [Constructing Pipelines](open-source/korvus/guides/constructing-pipelines.md)
* [RAG](open-source/korvus/guides/rag.md)
* [Vector Search](open-source/korvus/guides/vector-search.md)
* [Document Search](open-source/korvus/guides/document-search.md)
* [Example Apps](open-source/korvus/example-apps/README.md)
* [Semantic Search](open-source/korvus/example-apps/semantic-search.md)
* [PgCat](open-source/pgcat/README.md)
* [Features](open-source/pgcat/features.md)
* [Installation](open-source/pgcat/installation.md)
* [Configuration](open-source/pgcat/configuration.md)

## Guides

Expand All @@ -66,19 +75,16 @@
* [Unified RAG](guides/unified-rag.md)
* [OpenSourceAI](guides/opensourceai.md)
* [Natural Language Processing](guides/natural-language-processing.md)

## Product
* [Vector database](guides/vector-database.md)

* [Cloud database](product/cloud-database/README.md)
* [Serverless](product/cloud-database/serverless.md)
* [Dedicated](product/cloud-database/dedicated.md)
* [Enterprise](product/cloud-database/plans.md)
* [Vector database](product/vector-database.md)
* [PgCat pooler](product/pgcat/README.md)
* [Features](product/pgcat/features.md)
* [Installation](product/pgcat/installation.md)
* [Configuration](product/pgcat/configuration.md)
## Cloud

* [Overview](cloud/overview.md)
* [Serverless](cloud/serverless.md)
* [Dedicated](cloud/dedicated.md)
* [Enterprise](cloud/enterprise/README.md)
* [Teams](cloud/enterprise/teams.md)
* [VPC](cloud/enterprise/vpc.md)

## Resources

Expand Down
Loading