..
AI Embedding Models - Google VertexAI
setup
python3 -m venv my-env-vertexai
source my-env-vertexai/bin/activate
pip3 install vertexai==1.49.0
pip3 show vertexai
hands-on
import vertexai
from typing import List, Optional
from vertexai.language_models import TextEmbeddingInput, TextEmbeddingModel
project_id = "PROJECT_ID"
vertexai.init(project=project_id, location="us-west1")
# https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/textembedding-gecko
# https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/text-embeddings
# https://cloud.google.com/vertex-ai/generative-ai/docs/embeddings/get-text-embeddings
def embed_text(
texts: List[str] = ["banana muffins? ", "banana bread? banana muffins?"],
task: str = "RETRIEVAL_DOCUMENT",
model_name: str = "text-embedding-004",
dimensionality: Optional[int] = 256,
) -> List[List[float]]:
"""Embeds texts with a pre-trained, foundational model."""
model = TextEmbeddingModel.from_pretrained(model_name)
inputs = [TextEmbeddingInput(text, task) for text in texts]
kwargs = dict(output_dimensionality=dimensionality) if dimensionality else {}
embeddings = model.get_embeddings(inputs, **kwargs)
return [embedding.values for embedding in embeddings]
print(embed_text(
texts=["banana muffins? ", "banana bread? banana muffins?"],
))
print('---')
GOOGLE_APPLICATION_CREDENTIALS=~/Downloads/tmp/application_default_credentials.json \
python3 vertex-ai.py