dpv007's picture
HF Deploy: strict external origin
af61076
Raw
History Blame Contribute Delete
3 kB
import sys
import os
# Add the backend directory to sys.path so we can import from app
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from langchain_core.documents import Document
from langchain_qdrant import QdrantVectorStore
from app.tools.retrieval import embeddings, client
from app.core.config import settings
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def seed_database():
logger.info("Seeding Academic Database...")
academic_docs = [
Document(
page_content="Course Registration Rule 1: All B.Tech students must register for courses within the first 5 days of the semester starting. Late registration incurs a fine of Rs. 1000 per day.",
metadata={"source": "academic_guidelines_2024.pdf"}
),
Document(
page_content="Grading System: IIT Ropar follows a 10-point grading system. A grade 'A' corresponds to 10 points, 'A-' to 9 points, 'B' to 8 points, and so on.",
metadata={"source": "academic_guidelines_2024.pdf"}
),
Document(
page_content="Attendance Policy: A minimum of 75% attendance is required in all registered courses to be eligible to appear for the end-semester examinations.",
metadata={"source": "academic_guidelines_2024.pdf"}
)
]
QdrantVectorStore.from_documents(
academic_docs,
embeddings,
url=settings.QDRANT_URL,
api_key=settings.QDRANT_API_KEY,
collection_name=settings.QDRANT_LONGTERM_COLLECTION,
force_recreate=True
)
logger.info(f"Added {len(academic_docs)} documents to academic_store.")
logger.info("Seeding Campus Database...")
campus_docs = [
Document(
page_content="Mess Menu Today (Monday): Breakfast - Poha, Jalebi, Milk/Tea. Lunch - Rajma Chawal, Roti, Salad. Dinner - Paneer Butter Masala, Naan, Gulab Jamun.",
metadata={"source": "mess_menu_current.txt"}
),
Document(
page_content="Hostel Timings: First-year students must return to their respective hostels by 11:00 PM. Senior students have unrestricted in-out timings but must carry their ID cards.",
metadata={"source": "hostel_rules.txt"}
),
Document(
page_content="Sports Complex: The main sports complex includes a badminton court, gym, and swimming pool. The swimming pool is open from 6:00 AM to 9:00 AM and 4:00 PM to 8:00 PM.",
metadata={"source": "campus_facilities.txt"}
)
]
QdrantVectorStore.from_documents(
campus_docs,
embeddings,
url=settings.QDRANT_URL,
api_key=settings.QDRANT_API_KEY,
collection_name=settings.QDRANT_SHORTTERM_COLLECTION,
force_recreate=True
)
logger.info(f"Added {len(campus_docs)} documents to campus_store.")
if __name__ == "__main__":
seed_database()
logger.info("Database seeding complete!")