Open‑source semantic document search you can self‑host in minutes.
|
TL;DR Lightweight RAG stack (FastAPI + Google Gemini). Upload docs, ask questions, get cited answers. 100% self-hosted & MIT licensed. |
Core Features
|
Install
pip install flamehaven-filesearch[api]
export GEMINI_API_KEY="..."
flamehaven-api
|
Need architecture diagrams, cookbook recipes, or advanced deployment notes? Check the Wiki.
- Plug-and-play RAG – Bring your Gemini key, upload docs, start asking questions.
- Transparent + auditable – MIT license, SQLite/file storage, traceable sources.
- FastAPI server + SDK parity – Same engine powers CLI, REST, and unit tests.
- Production-friendly defaults – Env-based config, Dockerfile, CI badges, logging.
- Extensible hooks – Drop-in store adapters or response post-processors.
�ash pip install flamehaven-filesearch[api] export GEMINI_API_KEY="your-google-gemini-key" python - <<'PY' from flamehaven_filesearch import FlamehavenFileSearch fs = FlamehavenFileSearch() fs.upload_file("handbook.pdf") result = fs.search("Summarize onboarding steps") print(result["answer"]) print(result["sources"]) PY
`�ash flamehaven-api # entrypoint installed via [api] extra
`
Open http://localhost:8000/docs for interactive Swagger UI.
�ash curl -X POST "http://localhost:8000/upload" -F "[email protected]" curl "http://localhost:8000/search?q=key+findings&store=default"
�ash git clone https://github.com/flamehaven01/Flamehaven-Filesearch.git cd Flamehaven-Filesearch export GEMINI_API_KEY="..." docker build -t flamehaven-filesearch . docker run -e GEMINI_API_KEY -p 8000:8000 \ -v D:\Sanctum\Flamehaven-Filesearch/data:/app/data flamehaven-filesearch
- Mount data/ if you want persistent stores.
- Use FLAMEHAVEN_CONFIG env or .env file for additional overrides.
| GEMINI_API_KEY / GOOGLE_API_KEY | required | Gemini credentials for upload/search. |
| MAX_FILE_SIZE_MB | 50 | Lite tier upload limit. |
| UPLOAD_TIMEOUT_SEC | 60 | Upload watchdog. |
| DEFAULT_MODEL | gemini-2.5-flash | Generation model. |
| MAX_OUTPUT_TOKENS | 1024 | Gemini response size. |
| MAX_SOURCES | 5 | Number of cited documents. |
| DATA_DIR | ./data | Local store persistence path. |
See lamehaven_filesearch/config.py for the full data class and env mapping.
| Store creation | ~1s | Ubuntu 22.04, 2 vCPU, 4GB RAM, SSD |
| Upload 10 MB PDF | ~5s | Same VM, local disk |
| Search query | ~2s | Gemini 2.5 Flash, 5 cited sources |
| Batch upload (3×5MB) | ~12s | Sequential upload, Python SDK |
Detailed methodology + raw numbers: Benchmarks wiki page.
Roadmap items live in GitHub for transparency:
Highlights in progress:
- Caching layer + rate limiting (v1.1)
- Batch search & WebSocket streaming
- Multi-language, analytics dashboard (v2.0)
- Fork & create a feature branch.
- pip install -e .[dev,api]
- pytest tests/ (or make test) before opening a PR.
- Follow CONTRIBUTING.md for style, release notes, and checklist.
help wanted + good first issue labels mark low-barrier contributions.
- Bugs & features: GitHub Issues
- Q&A / patterns: Discussions
- Docs & cookbooks: Wiki
- Email: [email protected]
MIT License © 2025 Flamehaven Team. See LICENSE for details.
If this project helps you, ⭐ the repo and tell us what you build!
.png)


