Wire the guarded conversational RAG answer layer end-to-end

This commit is contained in:
2026-08-05 14:33:13 +07:00
parent 834d9e51b0
commit ef08b4929e
127 changed files with 37921 additions and 169 deletions
+13 -1
View File
@@ -3,10 +3,22 @@ name = "ingestion"
version = "0.0.0"
description = "Offline batch pipeline: PDF -> monographs -> chunks -> embeddings -> Qdrant"
requires-python = ">=3.11"
dependencies = ["pymupdf>=1.24", "numpy>=1.26", "scipy>=1.11"]
dependencies = ["pymupdf>=1.24", "numpy>=1.26", "scipy>=1.11", "tiktoken>=0.7"]
[project.optional-dependencies]
dev = ["pytest>=7.4"]
# Only the live probe and a real embedding run need these. The adapters and
# their tests import neither, so the default install stays offline-capable.
bedrock = ["boto3>=1.34"]
local-embed = ["sentence-transformers>=3.0"]
# `load/` talks to a VectorStore port; only `load.qdrant_repo` imports this,
# lazily, so the load stage is tested in full with no server running.
qdrant = ["qdrant-client>=1.7"]
[tool.pytest.ini_options]
markers = [
"integration: needs a live service (a local Qdrant); skips when absent",
]
[build-system]
requires = ["setuptools>=68"]