forked from enderofwings/NexusOS
- Upload endpoint (base64 JSON, no multipart dep): extracts text from pdf/docx/txt/md via pypdf + python-docx, then runs the existing chunk/embed pipeline. Documents page uploads files straight through. - Citations: the chat stream emits an SSE `sources` event listing the documents that fed the answer; the UI shows them as chips under the reply. - Deps: pypdf, python-docx (both pure-Python, Windows-safe). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
614 B
Plaintext
50 lines
614 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
|
|
|
|
# Documentation Support
|
|
markdown-it-py
|
|
MarkupSafe
|
|
mdurl
|
|
Pygments
|
|
Jinja2
|