EmbeddingΒΆ
- class database.service.base.EmbeddingService(model=typing.Type[sqlalchemy.orm.decl_api.Base])ΒΆ
Base class for embedding services
- embed_one(db: Session, db_obj: EmbeddedMixin)ΒΆ
Embed a single object in the database
- Parameters:
db (Session) β Database session
db_obj (EmbeddedMixin) β Database object
- Returns:
Embedded database object
- Return type:
EmbeddedMixin
- embed_many(db: Session, embed_empty_only: bool = True, k: int = 0)ΒΆ
Embed multiple objects in the database
- Parameters:
db (Session) β Database session
embed_empty_only (bool, optional) β Whether to embed only objects with empty embeddings (set to None) or all objects without distinction, default to True
k (int, optional) β Number of objects to embed, with 0 meaning all objects, default to 0
- Returns:
List of embedded database objects
- Return type:
list[EmbeddedMixin]
- create(db: Session, obj_in: BaseModel, embed=False)ΒΆ
Create a new object in the database
- Parameters:
db (Session) β Database session
obj_in (BaseModel) β Pydantic schema
embed (bool, optional) β Whether to embed the object, default to False
- Returns:
Database object
- Return type:
Base
- create_all(db: Session, objs_in: BaseModel, embed=False)ΒΆ
Create multiple objects in the database
- Parameters:
db (Session) β Database session
objs_in (BaseModel) β Pydantic schema with list of objects to create
embed (bool, optional) β Whether to embed the objects to create, default to False
- Returns:
List of database objects
- Return type:
list[Base]
- get_by_text(db: Session, text: str)ΒΆ
Get object by text
- Parameters:
db (Session) β Database session
text (str) β Object text
- Returns:
Database object
- Return type:
Base
- update(db: Session, db_obj, obj_in: BaseModel, embed=False)ΒΆ
Update db object
- Parameters:
db (Session) β Database session
db_obj β Database object
obj_in (BaseModel) β Pydantic schema
embed (bool, optional) β Whether to embed the object to update, default to False
- Returns:
Updated database object
- Return type:
Base
- upsert(db: Session, obj_in: BaseModel, embed=False)ΒΆ
Upsert object in the database
- Parameters:
db (Session) β Database session
obj_in (BaseModel) β Pydantic schema
embed (bool, optional) β Whether to embed the object to upsert, default to False
- Returns:
Upserted database object
- Return type:
Base