Skip to main content

Command Palette

Search for a command to run...

Build an Application to Generate Text Embeddings with Gemini on Vertex AI (Solution)

Published
•2 min read•View as Markdown
Build an Application to Generate Text Embeddings with Gemini on Vertex AI (Solution)
D

A passionate full-stack developer from @ePlus.DEV

Challenge scenario

Scenario: You are a data scientist working on a natural language processing (NLP) project that involves embedding text data using a pre-trained language model. Your goal is to generate vector embeddings for given text phrases to use them in a downstream machine learning task, such as text classification or semantic search.

You need to write a Python script that loads a pre-trained text embedding model, computes embeddings for a given sentence, and prints out the length of the resulting embedding vector for analysis.:

Task: Develop a Python function named text_embedding(prompt). This function should invoke the text-embedding-005 model using the supplied prompt, generate the response.

Follow these steps to interact with the Generative AI APIs using Vertex AI Python SDK.

  1. Click File > New File to open a new file within the Code Editor.

  2. Write the Python code to use Google's Vertex AI SDK to interact with the pre-trained Text Generation AI model.

  3. Create and save the python file.

  4. Execute the Python file by invoking the below command by replacing the FILE_NAME inside the terminal within the Code Editor pane to view the output.

/usr/bin/python3 /FILE_NAME.py

Click Check my progress to verify the objective.

Send text embedding requests to Gen AI and receive a response


Solution of Lab

import vertexai
from vertexai.language_models import TextEmbeddingModel

def text_embedding(prompt):
    vertexai.init(project="YOUR_PROJECT_ID", location="us-central1")
    model = TextEmbeddingModel.from_pretrained("text-embedding-005")
    embeddings = model.get_embeddings([prompt])
    vector = embeddings[0].values
    print(f"Length of embedding vector: {len(vector)}")
    return vector

if __name__ == "__main__":
    sample_text = "Natural language processing enables computers to understand human language."
    print(f"Processing text: '{sample_text}'")
    text_embedding(sample_text)

/usr/bin/python3 /main.py

Tip & Tricks

Part 1 of 50

Quick and practical tips to help users optimize tasks, improve skills, and solve common problems effectively across various areas like tech, lifestyle, productivity, and more.

More from this blog

E

ePlus.DEV - Exploring Technology with David Nguyen

1362 posts

A passionate full-stack developer from VIETNAM.