import sqlite3 import os from langchain_chroma import Chroma from langchain_huggingface import HuggingFaceEmbeddings from langchain_core.documents import Document DB_PATH = "data/dietary_guidelines.db" CHROMA_DIR = "data/chroma_db" def migrate(): print("Connecting to sqlite DB...") conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() cursor.execute("SELECT id, source, page, content FROM guidelines") rows = cursor.fetchall() docs = [] for row in rows: row_id, source, page, content = row doc = Document( page_content=content, metadata={"source": source, "page": page, "id": row_id} ) docs.append(doc) print(f"Loaded {len(docs)} documents from SQLite. Creating embeddings...") embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") print("Inserting into Chroma DB...") vectorstore = Chroma.from_documents( documents=docs, embedding=embeddings, persist_directory=CHROMA_DIR, collection_name="guidelines" ) print("Migration complete!") if __name__ == "__main__": migrate()