Version vA0.2.2
Offline‑first retrieval‑augmented generation (RAG) stack for disconnected or bandwidth‑constrained environments.
Deployable‑Knowledge bundles a local vector store, prompt management and a lightweight web UI around a pluggable large‑language model. Documents are embedded locally and queried through FastAPI endpoints which power the JavaScript front end.
- Document ingestion for PDF and plaintext sources
- ChromaDB vector store with sentence‑transformer embeddings
- Chat and search endpoints with optional streaming responses
- Configurable prompts and persona editing
- Authentication middleware with session and CSRF protection
- For verbose start/run, simply run (double-click)
Launch-DeployableKnowledge.batorLaunch-DeployableKnowledge.ps1 - For user-friendly/silent start, simply run (double-click)
Launch-DeployableKnowledge.bat-UserorLaunch-DeployableKnowledge-User.ps1
Unix / macOS:
make setup
make runWindows (PowerShell):
py -3.12 -m venv .venv
# If your default python interpreter is already 3.11, you may also use:
# python -m venv .venv
.\venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000Use python -m pip and python -m pytest so installs and tests use the same Python as your shell; this avoids "script location not on PATH" or "pytest not recognized" when the venv Scripts folder is not on PATH.
Note: The current pinned requirements target Python 3.11 / 3.13. Python 3.14 is not compatible with
spacy==3.8.7.
Run tests:
python -m pytest tests/ -qVisit http://localhost:8000 once the server starts. ollama must be running locally and can be configured via environment variables such as OLLAMA_MODEL.
If you see "script location not on PATH" or "pytest not recognized": run pip and pytest as modules so the active Python is used: python -m pip install -r requirements.txt and python -m pytest tests/ -q.
The system is split into three layers:
core/ – retrieval, prompt rendering and LLM adapters
api/ – FastAPI routers translating HTTP ↔ core
app/ – static assets and UI routes
See docs/ARCHITECTURE.md for detailed diagrams and data‑flow breakdowns.
Additional guides live in the docs/ folder:
- Create a feature branch off
main. - Add tests and run
python -m pytest tests/before submitting a pull request. - Follow the existing coding style and keep docstrings concise.
- Open a PR describing the change and link to any relevant issues.
Released under the MIT license.