prodassist / scripts /ingest_samples.py
Chetan Anand
Deploy ProdAssist RAG — 5-company support chatbot
b7d2428
Raw
History Blame Contribute Delete
1.11 kB
"""
Convenience script to ingest all sample documents in data/samples/.
Usage:
python scripts/ingest_samples.py
"""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parents[1]))
from app.pipeline.rag_pipeline import build_pipeline
def main():
samples_dir = Path(__file__).parents[1] / "data" / "samples"
if not samples_dir.exists():
print(f"Samples directory not found: {samples_dir}")
sys.exit(1)
files = list(samples_dir.glob("*"))
if not files:
print("No files found in data/samples/")
sys.exit(1)
print(f"Found {len(files)} sample file(s):")
for f in files:
print(f" - {f.name}")
print("\nBuilding pipeline…")
pipeline = build_pipeline()
def progress(label, cur, total):
pct = int(cur / max(total, 1) * 100)
print(f"\r [{pct:3d}%] {label:<50}", end="", flush=True)
stored = pipeline.ingest(files, progress_callback=progress)
print(f"\n\nDone! Stored {stored} chunks.")
print(f"Total in DB: {pipeline.document_count}")
if __name__ == "__main__":
main()