EmbeddingΒΆ
- class database.service.base.EmbeddingService(model=typing.Type[sqlalchemy.orm.decl_api.Base])ΒΆ
Base class for embedding services
- async embed_one(db: Session, db_obj: TextEmbeddingMixin)ΒΆ
Embed a single object in the database
- Parameters:
db (Session) β Database session
db_obj (TextEmbeddingMixin) β Database object
- Returns:
Embedded database object
- Return type:
TextEmbeddingMixin
- async 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[TextEmbeddingMixin]
- async create(db: Session, obj_in: BaseModel, embed=False)ΒΆ
Create a new object in the database
- Parameters:
db (Session) β Database session
obj_in β Pydantic schema
- 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
- get_by_tag(db: Session, tag: str)ΒΆ
Get object by tag
- Parameters:
db (Session) β Database session
tag (str) β Object text
- Returns:
Database object
- Return type:
Base
- async 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