22from lightfm .datasets import fetch_movielens
33from pgvector .sqlalchemy import VECTOR
44from sqlalchemy import create_engine , insert , select , text , Float , Integer , String
5- from sqlalchemy .orm import mapped_column , DeclarativeBase , Session
5+ from sqlalchemy .orm import mapped_column , DeclarativeBase , Mapped , Session
66
77engine = create_engine ('postgresql+psycopg://localhost/pgvector_example' )
88with engine .connect () as conn :
@@ -17,17 +17,17 @@ class Base(DeclarativeBase):
1717class User (Base ):
1818 __tablename__ = 'user'
1919
20- id = mapped_column (Integer , primary_key = True )
21- factors = mapped_column (VECTOR (20 ))
20+ id : Mapped [ int ] = mapped_column (Integer , primary_key = True )
21+ factors : Mapped [ list [ float ]] = mapped_column (VECTOR (20 ))
2222
2323
2424class Item (Base ):
2525 __tablename__ = 'item'
2626
27- id = mapped_column (Integer , primary_key = True )
28- title = mapped_column (String )
29- factors = mapped_column (VECTOR (20 ))
30- bias = mapped_column (Float )
27+ id : Mapped [ int ] = mapped_column (Integer , primary_key = True )
28+ title : Mapped [ str ] = mapped_column (String )
29+ factors : Mapped [ list [ float ]] = mapped_column (VECTOR (20 ))
30+ bias : Mapped [ float ] = mapped_column (Float )
3131
3232
3333Base .metadata .drop_all (engine )
0 commit comments