Repolode
pathwaycom

pathwaycom/serviette

A no-code RAG server that indexes a folder of documents into one of 8 vector databases and keeps answers in sync as files change.

Stars
58,782
Forks
1,513
Open issues
8
Last commit
5 days ago

What is it?

serviette is a retrieval-augmented generation server configured entirely through one YAML file. You point it at a folder of documents, choose a vector database and an embedder, and it serves a web chat and a versioned REST API (/api/v1) that answer from those documents and cite their sources.

The indexer runs as a separate process built on the Pathway live data framework, so edits, new files and deletions are written into the vector store within seconds without a manual re-indexing step. The default backend is DuckDB, an embedded single-file database, while pgvector, Qdrant, Milvus, ChromaDB, Weaviate, Pinecone and MongoDB Atlas Vector Search are also supported. Sources include local files, Google Drive, S3/MinIO and SharePoint, and parsing covers text, Office files, PDFs, scanned images, and audio or video when the relevant API key is set.

The project is MIT-licensed Python and requires a free Pathway license key. It answers one question at a time from the current document state; conversation memory and user accounts are not included.

Key features

  • 01Configured by one YAML file, with an interactive wizard to generate it.
  • 02Supports 8 vector databases, with DuckDB as the zero-setup default.
  • 03Watches sources live so edits and deletions update the index within seconds.
  • 04Offers optional hybrid BM25 plus vector search, reranking, query decomposition and MMR.
  • 05Serves a chat UI and REST API on the same port.

Use cases

  • Building an internal question-answering assistant over company documents that stays current as files change.
  • Prototyping a RAG pipeline locally with DuckDB and a free local embedder.
  • Adding a cited-answer REST endpoint to an existing vector database used by other applications.

Quick start

  1. 1

    Install the package with pip

    pip install serviette
  2. 2

    Set your free Pathway license key

    export PATHWAY_LICENSE_KEY=...
  3. 3

    Set your OpenAI API key for generated answers

    export OPENAI_API_KEY=sk-...
  4. 4

    Run the demo and open the chat at localhost:8989

    serviette demo --embedder openai

Things to know

  • Requires a free Pathway license key before it runs.
  • Answers one question at a time and has no conversation memory, user accounts or hosted offering.
  • Default local embeddings need a large PyTorch install unless you use the CPU build flag.

Topics

FAQ

What is serviette?
A no-code RAG server that indexes a folder of documents into one of 8 vector databases and keeps answers in sync as files change. serviette is a retrieval-augmented generation server configured entirely through one YAML file. You point it at a folder of documents, choose a vector database and an embedder, and it serves a web chat and a versioned REST API (/api/v1) that answer from those documents and cite their sources.
Is serviette free to use? What license does it have?
serviette is open source under the MIT license. Check the license terms before using it in commercial products.
Is serviette still maintained?
Actively maintained. The last commit to serviette was on Oct 16, 2026.
What can I use serviette for?
Building an internal question-answering assistant over company documents that stays current as files change. Prototyping a RAG pipeline locally with DuckDB and a free local embedder. Adding a cited-answer REST endpoint to an existing vector database used by other applications.
How do I install serviette?
Install the package with pip: pip install serviette Set your free Pathway license key: export PATHWAY_LICENSE_KEY=... Set your OpenAI API key for generated answers: export OPENAI_API_KEY=sk-... Run the demo and open the chat at localhost:8989: serviette demo --embedder openai
Where can I get serviette?
The source code and installation instructions are on GitHub: https://github.com/pathwaycom/serviette

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects