Download scripts/migrate_db.py from DiabetesCareChatbot/dmChatbotBackend: direct link, hf CLI and curl.
- Browser
- Download file 1.15 kB
-
https://huggingface.co/spaces/DiabetesCareChatbot/dmChatbotBackend/resolve/main/scripts/migrate_db.py
- Command line
-
hf download hf://spaces/DiabetesCareChatbot/dmChatbotBackend/scripts/migrate_db.py
-
curl -L -o migrate_db.py https://huggingface.co/spaces/DiabetesCareChatbot/dmChatbotBackend/resolve/main/scripts/migrate_db.py
1.15 kB
| 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() | |