NOVA / requirements.txt
S-4-G-4-R's picture
Initial commit
20b15f3
Raw
History Blame Contribute Delete
2.05 kB
# NOVA = research pipeline (agent) + single-PDF Q&A (chatbot) + Gradio UI.
# One environment runs all three. Versions below match what both sub-projects
# were already pinned to, so nothing gets upgraded out from under them.
# --- ZeroGPU ---
# `spaces` provides the @spaces.GPU decorator. ZeroGPU refuses to start a Space
# that has none ("No @spaces.GPU function detected during startup"), and it only
# attaches a GPU for the duration of such a call. See ui/gpu.py for the one
# function that uses it. Off ZeroGPU the decorator is a transparent no-op, so
# this package is harmless locally and on CPU hardware.
spaces
# --- torch ---
# 2.11.0 exactly: ZeroGPU accepts only 2.11.0 / 2.10.0 / 2.9.1 / 2.8.0 and fails
# the build at config-check otherwise. 2.11.0 is the newest it allows.
#
# Plain (CUDA) build on purpose — ZeroGPU rejects the `+cpu` local version, since
# it needs a CUDA-capable torch to hand the GPU over. That means ~2.5 GB of
# nvidia-* wheels; unavoidable on this hardware.
#
# For CPU-only hardware (Spaces "CPU basic", or a local box), these lines are
# smaller and faster and still work — NOVA falls back to CPU automatically:
# --extra-index-url https://download.pytorch.org/whl/cpu
# torch==2.11.0+cpu ; sys_platform == "linux"
# torch ; sys_platform != "linux"
torch==2.11.0
# --- UI ---
# 6.0 is a hard floor, not caution: launch() takes theme/css/js (Blocks did in 5),
# and Chatbot speaks {"role","content"} natively (5 needed type="messages").
gradio>=6.0
# --- research agent (intent + search/cluster graphs) ---
langgraph
langchain-core
langchain-groq
langchain-tavily
sentence-transformers # SPECTER reranker in the search graph
python-dotenv
pydantic
requests
numpy
# --- chatbot (single-PDF Q&A) ---
langchain
langchain-community # HuggingFaceCrossEncoder, HuggingFaceBgeEmbeddings
langchain-classic # CrossEncoderReranker + ContextualCompressionRetriever
langchain-text-splitters
langchain-chroma
chromadb
pymupdf # `import fitz`