Использование вложений от Aleph Alpha#
Aleph Alpha предоставляет мультимодальные и многоязычные вложения (embeddings). Их API позволяет создавать вложения для текстов и изображений в одном и том же латентном пространстве. Они поддерживают официального клиента на Python, который можно установить с помощью pip:
pip install aleph-alpha-client
Доступны как синхронный, так и асинхронный клиенты. Получение вложений для изображения и их сохранение в Platform V Vector DB (далее - Vector DB) может быть выполнено следующим образом:
import qdrant_client
from qdrant_client.models import Batch
from aleph_alpha_client import (
Prompt,
AsyncClient,
SemanticEmbeddingRequest,
SemanticRepresentation,
ImagePrompt
)
aa_token = "<< your_token >>"
model = "luminous-base"
qdrant_client = qdrant_client.QdrantClient()
async with AsyncClient(token=aa_token) as client:
prompt = ImagePrompt.from_file("./path/to/the/image.jpg")
prompt = Prompt.from_image(prompt)
query_params = {
"prompt": prompt,
"representation": SemanticRepresentation.Symmetric,
"compress_to_size": 128,
}
query_request = SemanticEmbeddingRequest(**query_params)
query_response = await client.semantic_embed(
request=query_request, model=model
)
qdrant_client.upsert(
collection_name="MyCollection",
points=Batch(
ids=[1],
vectors=[query_response.embedding],
)
)
Если необходимо создать текстовые вложения с использованием той же модели, не нужно использовали ImagePrompt.from_file, а просто предоставьте входной текст методу Prompt.from_text.