from sqlalchemy import create_engine, Column, String, Integer, JSON, ARRAY, Float from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker import os from dotenv import load_dotenv # Load environment variables load_dotenv() # Get database URL from environment variable DATABASE_URL="postgresql://ai_5zls_user:wDwKj39nM2whJRHy7J2OgDRWl53w5GUG@dpg-cuifsvin91rc73bhvch0-a.oregon-postgres.render.com/ai_5zls" # Create SQLAlchemy engine engine = create_engine(DATABASE_URL) # Create session factory SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) # Create base class for declarative models Base = declarative_base() class DocumentEmbedding(Base): """Model for storing document embeddings.""" __tablename__ = "document_embeddings" id = Column(Integer, primary_key=True, index=True) content = Column(String, index=True) embedding = Column(ARRAY(Float)) doc_metadata = Column(JSON) source = Column(String, index=True)