DocumentationAPI Reference📓 Tutorials🧑‍🍳 Cookbook🤝 Integrations💜 Discord

VertexAITextGenerator

This component enables text generation using Google Vertex AI generative models.

NameVertexAITextGenerator
Sourcehttps://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/google_vertex
Mandatory input variables“prompt”: A string containing the prompt for the model
Output variables“answers”: A list of strings containing answers generated by the model

”safety_attributes”: A dictionary containing scores for safety attributes

”citations”: A list of dictionaries containing grounding citations

VertexAITextGenerator supports text-bison, text-unicorn and text-bison-32k models.

Parameters Overview

VertexAITextGenerator uses Google Cloud Application Default Credentials (ADCs) for authentication. For more information on how to set up ADCs, see the official documentation.

Keep in mind that it’s essential to use an account that has access to a project authorized to use Google Vertex AI endpoints.

You can find your project ID in the GCP resource manager or locally by running gcloud projects list in your terminal. For more info on the gcloud CLI, see its official documentation.

Usage

You need to install google-vertex-haystack package to use the VertexAITextGenerator:

pip install google-vertex-haystack

On its own

Basic usage:

from haystack_integrations.components.generators.google_vertex import VertexAITextGenerator


generator = VertexAITextGenerator(project_id=project_id)
res = generator.run("Tell me a good interview question for a software engineer.")

print(res["answers"][0])

>>> **Question:** You are given a list of integers and a target sum. Find all unique combinations of numbers in the list that add up to the target sum.
>>> 
>>> **Example:**
>>> 
>>> ```
>>> Input: [1, 2, 3, 4, 5], target = 7
>>> Output: [[1, 2, 4], [3, 4]]
>>> ```
>>> 
>>> **Follow-up:** What if the list contains duplicate numbers?

You can also set other parameters like the number of answers generated, temperature to control the randomness, and stop sequences to stop generation. For a full list of possible parameters, see the documentation of TextGenerationModel.predict().

from haystack_integrations.components.generators.google_vertex import VertexAITextGenerator


generator = VertexAITextGenerator(
    project_id="infinite-byte-223810",
    candidate_count=3,
    temperature=0.2,
    stop_sequences=["example", "Example"],
)
res = generator.run("Tell me a good interview question for a software engineer.")

for answer in res["answers"]:
    print(answer)
		print("-----")

>>> **Question:** You are given a list of integers, and you need to find the longest increasing subsequence. What is the most efficient algorithm to solve this problem?
>>> -----
>>> **Question:** You are given a list of integers and a target sum. Find all unique combinations in the list that sum up to the target sum. The same number can be used multiple times in a combination.
>>> -----
>>> **Question:** You are given a list of integers and a target sum. Find all unique combinations of numbers in the list that add up to the target sum.
>>> -----

Related Links

Check out the API reference in the GitHub repo or in our docs: