from app.services.pdf_processor import PDFProcessor from app.utils.embeddings import EmbeddingService from app.utils.schedule_manager import ScheduleManager import os import json def main(): # Setup services embedding_service = EmbeddingService() pdf_processor = PDFProcessor(embedding_service) # Load books from PDF directory pdf_dir = "/app/uploads" books = os.listdir(pdf_dir) books = [f for f in books if f.endswith('.pdf')] print(f"Found {len(books)} books") # Schedule manager schedule_manager = ScheduleManager("/app/schedules.json") # Process each book for book_name in books: book_path = os.path.join(pdf_dir, book_name) book_metadata = { "title": book_name.replace(".pdf", "").replace("-", " ").replace("_", " "), "author": "Desconhecido", "type": "book", } print(f"Processing: {book_name}") # Load and split PDF chunks = pdf_processor.load_and_split(book_path, book_metadata) # Embed chunks chunks_with_embeddings = pdf_processor.embed_chunks(chunks) # Save chunks to JSON for reference chunks_file = f"/app/index/{book_name}.json" os.makedirs("/app/index", exist_ok=True) with open(chunks_file, 'w') as f: json.dump(chunks_with_embeddings, f, indent=2) print(f"Saved {len(chunks)} chunks to {chunks_file}") print("Indexing complete!") if __name__ == "__main__": main()