---
title: "VertexAITextGenerator"
id: vertexaitextgenerator
slug: "/vertexaitextgenerator"
description: "This component enables text generation using Google Vertex AI generative models."
---

# VertexAITextGenerator

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

<div className="key-value-table">

|  |  |
| --- | --- |
| **Mandatory run variables** | `prompt`: A string containing the prompt for the model |
| **Output variables** | `replies`: A list of strings containing answers generated by the model  <br /> <br />`safety_attributes`: A dictionary containing scores for safety attributes  <br /> <br />`citations`: A list of dictionaries containing grounding citations |
| **API reference** | [Google Vertex](/reference/integrations-google-vertex) |
| **GitHub link** | https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/google_vertex |

</div>

`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](https://cloud.google.com/docs/authentication/provide-credentials-adc).

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](https://console.cloud.google.com/cloud-resource-manager) or locally by running `gcloud projects list` in your terminal. For more info on the gcloud CLI, see its [official documentation](https://cloud.google.com/cli).

## Usage

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

```python
pip install google-vertex-haystack
```

### On its own

Basic usage:

````python
from haystack_integrations.components.generators.google_vertex import VertexAITextGenerator

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

print(res["replies"][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()`](https://cloud.google.com/python/docs/reference/aiplatform/latest/vertexai.language_models.TextGenerationModel#vertexai_language_models_TextGenerationModel_predict).

```python
from haystack_integrations.components.generators.google_vertex import VertexAITextGenerator

generator = VertexAITextGenerator(
    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["replies"]:
    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.
>>> -----
```
