46 lines
1.5 KiB
TOML
46 lines
1.5 KiB
TOML
[project]
|
|
name = "ssearch"
|
|
version = "0.1.0"
|
|
description = "Semantic search over a personal journal archive and a clippings library (RAG: LlamaIndex + HuggingFace embeddings + Ollama/OpenAI)."
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "E. M. Furst" }]
|
|
|
|
dependencies = [
|
|
# --- RAG framework (version-sensitive: pinned exactly) ---
|
|
"llama-index-core==0.14.14",
|
|
"llama-index-embeddings-huggingface==0.6.1",
|
|
"llama-index-readers-file==0.5.6",
|
|
"llama-index-llms-ollama==0.9.1",
|
|
"llama-index-llms-openai==0.6.18",
|
|
"llama-index-retrievers-bm25==0.6.5",
|
|
"llama-index-vector-stores-chroma==0.5.5",
|
|
# --- Vector store (clippings) ---
|
|
"chromadb==1.5.1",
|
|
# --- Embeddings / cross-encoder re-ranking (pulls torch) ---
|
|
"sentence-transformers>=5.1.0",
|
|
# transformers + huggingface-hub pinned: a transformers update once broke
|
|
# offline model loading (AutoTokenizer phoning home). See devlog 2026-02-20.
|
|
"transformers==4.55.0",
|
|
"huggingface-hub==0.34.4",
|
|
# --- Keyword search / document loaders ---
|
|
"nltk>=3.9.1",
|
|
"beautifulsoup4>=4.13.4",
|
|
"striprtf>=0.0.26",
|
|
"pypdf>=6.7.1",
|
|
]
|
|
|
|
[dependency-groups]
|
|
# Analysis + exploration notebooks (not needed to run the search pipeline).
|
|
# Install with: uv sync --group notebook
|
|
notebook = [
|
|
"jupyter>=1.1.1",
|
|
"ipykernel>=6.30.0",
|
|
"ipywidgets>=8.1.0",
|
|
"matplotlib>=3.10.0",
|
|
"seaborn>=0.13.0",
|
|
"pandas>=2.2.0",
|
|
"scikit-learn>=1.7.0",
|
|
"scipy>=1.16.0",
|
|
]
|