Stars
Forks
Watchers
Developer links
Serviette
Your documents change every day, and your RAG answers should change with them: Serviette keeps a chat and REST API continuously in sync with the files you point it at, no re-indexing jobs to remember. Point it at a local folder, Google Drive, S3 or MinIO bucket, SharePoint library, or even an FTP or WebDAV share, and edits, additions, and deletions flow into the index in real time. One YAML file, or the interactive wizard, chooses among eight vector databases, from embedded DuckDB with zero setup to pgvector, Qdrant, Milvus, Chroma, Weaviate, Pinecone, or MongoDB Atlas. Text, Office files, PDFs with tables, and scanned images are parsed and answerable by default, with audio and video joining when you add the keys. Embeddings can run fully locally with no credentials, and keyless answers simply quote the retrieved passages with their sources. The indexer and the stateless server scale independently, the server shards across workers with one config line, and both a ChatGPT-style web chat and a versioned /api/v1 retrieval API answer on the same port. A free license key from Pathway activates the engine, and benchmarks cover corpora up to 50 GB of text. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- Answers Follow Your Documents
- Edits, new files, and deletions in your sources become upserts and deletes in the vector database within seconds, so the chat never answers from a stale snapshot of your knowledge base.
- Any Vector Database You Like
- Choose among eight backends in one YAML setting: embedded DuckDB for zero setup, or pgvector, Qdrant, Milvus, Chroma, Weaviate, Pinecone, and MongoDB Atlas when you already run one.
- No Code, One Config File
- The interactive wizard generates your configuration, and a single serviette up command starts the indexer and server together, serving the web chat and the REST API on one port.
- Local Embeddings Keep Data Home
- The default local embedder and DuckDB keep documents, embeddings, and the index on your own machine; only the retrieved passages for a question ever leave, and only to your chosen model.
Features
- Live Incremental Indexing
- The Pathway streaming pipeline watches every source continuously, parsing, chunking, and embedding changes as they happen instead of rebuilding the index on a schedule or by hand.
- Many Sources, Watched Live
- Local folders, Google Drive, S3 and MinIO, SharePoint, and anything PyFilesystem opens, including FTP, SFTP, WebDAV, and ZIP archives, can be mixed freely in one configuration.
- Multimodal Document Parsing
- Text, Office documents, PDFs with tables and layout, and scanned images are answerable by default, and audio recordings and video join the corpus when you provide API keys.
- Chat and REST Together
- The server hosts a ChatGPT-style web chat on the root path and a /api/v1 retrieval API on the same port and origin, with citations for the passages behind each answer.
- Independent, Sharded Scaling
- Indexer and server are separate processes sharing only the vector database; the stateless server scales horizontally while the indexer shards across worker processes with one config line.