| Crates.io | rag-rs |
| lib.rs | rag-rs |
| version | 0.2.1 |
| created_at | 2026-01-18 18:49:25.546922+00 |
| updated_at | 2026-01-25 14:36:24.263006+00 |
| description | A Rust-native implementation of the RAG stack |
| homepage | |
| repository | https://github.com/AstraBert/rag-rs |
| max_upload_size | |
| id | 2052850 |
| size | 173,801 |
[!NOTE]
This software is released in
alpha, so you can and should expect bugs. Please take a look at the Roadmap to see the plan to reach the first stable version
A Rust-native implementation of the RAG stack, using:
Moreover, it can be served as an API server, usin:
Install with cargo:
cargo install rag-rs
Install with npm:
npm install @cle-does-things/rag-rs@latest
load commandParse, chunk and embed the documents in a given directory, and upload them to a vector store.
Usage
rag-rs load [OPTIONS] --directory <DIRECTORY> --qdrant-url <QDRANT_URL> --collection-name <COLLECTION_NAME>
Options
-d, --directory <DIRECTORY>--qdrant-url <QDRANT_URL>QDRANT_API_KEY in your environment. (required)--collection-name <COLLECTION_NAME>--chunk-size <CHUNK_SIZE>1024--cache-dir <CACHE_DIR>
Directory where to cache the parsed file. Default: .rag-rs-cache/--cache-chunk-size <CACHE_CHUNK_SIZE>
Chunk size for cached writes. Default: 1024 bytes--no-cache
Deactivate read/write from cache. Default: active-h, --helpExample
rag-rs --directory data/ \
--chunk-size 2048 \
--qdrant-url http://localhost:6334 \
--collection-name test-data \
--cache-dir cache/ \
--cache-chunk-size 1048576
serve commandServe the RAG application as an API server.
Usage
rag-rs serve [OPTIONS] --qdrant-url <QDRANT_URL> --collection-name <COLLECTION_NAME>
Options
--qdrant-url <QDRANT_URL>QDRANT_API_KEY in your environment. (required)--collection-name <COLLECTION_NAME>--openai-api-key <OPENAI_API_KEY>OPENAI_API_KEY environment variable.-p, --port <PORT>8000--host <HOST>0.0.0.0--rate-limit-per-minute <RATE_LIMIT_PER_MINUTE>100--cors <CORS>https://mydomain.com). Default: * (all origins allowed). While this argument has no effect for local development, it is advisable to set it for production deployments.--log-level <LOG_LEVEL>infoinfo, debug, error, warning, trace--log-jsonfalse (uses compact logging by default)-h, --helpExample
rag-rs --qdrant-url http://localhost:6334 \
--collection-name test-data \
--host 127.0.0.1 \
--port 3000 \
--rate-limit-per-minute 30 \
--cors "http://mydomain.com" \
--log-leve info \
--log-json
.pdf, .txt and .md filesTo reach the first stable version, this software will first:
Moreover, for future releases, there will be: