pgvector implementation for Tortoise-ORM
Project description
Implementation of vector from Tortoise-ORM
Usage:
from tortoise_vector.field import VectorField
from tortoise_vector.expressions import CosineSimilarity
from tortoise import Model
OPENAI_VECTOR_SIZE = 1536
class MyModel(Model):
# vectors have a fixed size, openai uses 1536 dimensions
embedding = VectorField(vector_size=OPENAI_VECTOR_SIZE)
async def get_embedding_from_text(str: str) -> list[float]:
...
async def get_nearst_models(text: str) -> Queryset[MyModel]:
embedding = await get_embedding_from_text(text)
return (
MyModel
.all()
.annotate(
distance=CosineSimilarity(
"embedding",
embedding,
OPENAI_VECTOR_SIZE
)
)
.order_by("distance")
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tortoise_vector-0.1.0.tar.gz
(2.5 kB
view hashes)
Built Distribution
Close
Hashes for tortoise_vector-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ec48345155585783a57daf265cf9b841d84862c14076fe7160138ac5e1f81be |
|
MD5 | 15d7777873283fce7a2ab26e75b2cefa |
|
BLAKE2b-256 | 4b55df136c05b8635d59cbc9369a6c6eac12a580df11cef02cc173f6b938b41c |