File size: 1,107 Bytes
b7d2428
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""
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()