Spaces:
Sleeping
Sleeping
| import argparse | |
| import sys | |
| import os | |
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| from retrieval.ingest import ( | |
| ingest_all_dataset_files, | |
| clear_and_rebuild_index, | |
| ingest_folder | |
| ) | |
| from retrieval.faiss_store import index_size | |
| def main(): | |
| parser = argparse.ArgumentParser(description="Build AccessoryIQ FAISS index") | |
| parser.add_argument("--rebuild", action="store_true", | |
| help="Clear existing index and rebuild from scratch") | |
| parser.add_argument("--folder", type=str, default=None, | |
| help="Ingest only a specific subfolder") | |
| parser.add_argument("--sample", action="store_true", | |
| help="Also ingest sample data from ingest.py") | |
| args = parser.parse_args() | |
| print("\n" + "β"*50) | |
| print(" AccessoryIQ v2 β Index Builder") | |
| print("β"*50) | |
| print(f" Current index size: {index_size()} vectors") | |
| print("β"*50 + "\n") | |
| if args.rebuild: | |
| clear_and_rebuild_index() | |
| elif args.folder: | |
| path = f"data/manuals/{args.folder}" | |
| if not os.path.exists(path): | |
| print(f"[ERROR] Folder not found: {path}") | |
| sys.exit(1) | |
| ingest_folder(path) | |
| else: | |
| if args.sample: | |
| from retrieval.ingest import ingest_sample_data | |
| ingest_sample_data() | |
| ingest_all_dataset_files() | |
| final_size = index_size() | |
| print(f"\n{'β'*50}") | |
| print(f" β Index build complete: {final_size} vectors") | |
| print(f"β"*50 + "\n") | |
| if __name__ == "__main__": | |
| main() | |