- Chunker: char overlap across boundaries + hard-split of oversized paragraphs. - Retrieval knobs: rag_top_k / rag_min_score in settings + Settings UI. - Vector index: sqlite-vec ANN over document embeddings, dual-written and backfilled, with brute-force cosine as the guaranteed fallback. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
53 lines
774 B
Plaintext
53 lines
774 B
Plaintext
# --- Shared Base (GPU-agnostic) ---
|
|
|
|
# AI Stack
|
|
transformers
|
|
accelerate
|
|
bitsandbytes
|
|
safetensors
|
|
sentencepiece
|
|
tokenizers
|
|
huggingface-hub
|
|
|
|
# API & Web Infrastructure
|
|
fastapi
|
|
uvicorn
|
|
starlette
|
|
httpx # HTTP client (backend + controlpanel)
|
|
pydantic
|
|
pydantic_core
|
|
anyio
|
|
h11
|
|
httptools
|
|
watchfiles
|
|
websockets
|
|
wsproto
|
|
|
|
# Data, UI & System Tools
|
|
numpy
|
|
scipy
|
|
pandas
|
|
psutil
|
|
PySide6
|
|
PySide6_Addons
|
|
PySide6_Essentials
|
|
shiboken6
|
|
tqdm
|
|
rich
|
|
python-dotenv
|
|
PyYAML
|
|
|
|
# Document ingest (RAG): pure-Python text extraction, no native deps
|
|
pypdf
|
|
python-docx
|
|
# Vector search: loadable SQLite extension (prebuilt wheels). Brute-force cosine
|
|
# stays as the fallback when the host Python can't load extensions.
|
|
sqlite-vec
|
|
|
|
# Documentation Support
|
|
markdown-it-py
|
|
MarkupSafe
|
|
mdurl
|
|
Pygments
|
|
Jinja2
|