VertexAITextGenerator
Generate text using Google Vertex AI generative models.
Key Features
- Text generation using Google Vertex AI models (text-bison, text-unicorn, text-bison-32k)
- Returns generated replies along with safety attributes and citations
- Authenticates using Google Cloud Application Default Credentials (ADCs)
Configuration
- Drag the
VertexAITextGeneratorcomponent onto the canvas from the Component Library. - Click on the component to open the configuration panel.
- On the General tab:
- Enter your GCP project ID. Create a secret with the key
GCP_PROJECT_ID. For detailed instructions, see Create Secrets. - Optionally, enter the location. If not set, uses
us-central1. - Select a model. Supported models:
text-bison,text-unicorn,text-bison-32k.
- Enter your GCP project ID. Create a secret with the key
- Go to the Advanced tab to configure additional model keyword arguments.
Connections
VertexAITextGenerator accepts a text prompt (str) through its prompt input. It outputs replies (a list of strings), safety_attributes (a dictionary of safety scores), and citations (a list of citation dictionaries).
Connect PromptBuilder's prompt output to this component's prompt input. Connect the replies output to AnswerBuilder.
Source Code
To check this component's source code, open text_generator.py in the Haystack Core Integrations repository.
Usage Examples
Basic Configuration
VertexAITextGenerator:
type: haystack_integrations.components.generators.google_vertex.text_generator.VertexAITextGenerator
init_parameters:
model: text-bison
This query pipeline uses VertexAITextGenerator to generate text responses:
components:
bm25_retriever:
type: haystack_integrations.components.retrievers.opensearch.bm25_retriever.OpenSearchBM25Retriever
init_parameters:
document_store:
type: haystack_integrations.document_stores.opensearch.document_store.OpenSearchDocumentStore
init_parameters:
hosts:
index: 'default'
max_chunk_bytes: 104857600
embedding_dim: 768
return_embedding: false
method:
mappings:
settings:
create_index: true
http_auth:
use_ssl:
verify_certs:
timeout:
top_k: 10
fuzziness: 0
PromptBuilder:
type: haystack.components.builders.prompt_builder.PromptBuilder
init_parameters:
template: |
Given the following information, answer the question.
Context:
{% for document in documents %}
{{ document.content }}
{% endfor %}
Question: {{ query }}
required_variables:
variables:
VertexAITextGenerator:
type: haystack_integrations.components.generators.google_vertex.text_generator.VertexAITextGenerator
init_parameters:
project_id:
model: text-bison
location:
AnswerBuilder:
type: haystack.components.builders.answer_builder.AnswerBuilder
init_parameters:
pattern:
reference_pattern:
connections:
- sender: bm25_retriever.documents
receiver: PromptBuilder.documents
- sender: PromptBuilder.prompt
receiver: VertexAITextGenerator.prompt
- sender: VertexAITextGenerator.replies
receiver: AnswerBuilder.replies
- sender: bm25_retriever.documents
receiver: AnswerBuilder.documents
inputs:
query:
- bm25_retriever.query
- PromptBuilder.query
- AnswerBuilder.query
outputs:
answers: AnswerBuilder.answers
max_runs_per_component: 100
metadata: {}
Parameters
Inputs
| Parameter | Type | Description |
|---|---|---|
prompt | str | The prompt to use for text generation. |
Outputs
| Parameter | Type | Description |
|---|---|---|
replies | List[str] | A list of generated replies. |
safety_attributes | Dict[str, float] | Safety scores for each answer. |
citations | List[Dict[str, Any]] | Citations for each answer. |
Init Parameters
These are the parameters you can configure in Pipeline Builder:
| Parameter | Type | Default | Description |
|---|---|---|---|
project_id | Optional[str] | None | ID of the GCP project to use. By default, it is set during Google Cloud authentication. |
model | str | text-bison | Name of the model to use. |
location | Optional[str] | None | The default location to use when making API calls. If not set, uses us-central-1. |
kwargs | Any | Additional keyword arguments to pass to the model. See the TextGenerationModel.predict() documentation. |
Run Method Parameters
These are the parameters you can configure for the component's run() method. This means you can pass these parameters at query time through the API, in Playground, or when running a job. For details, see Modify Pipeline Parameters at Query Time.
| Parameter | Type | Description |
|---|---|---|
prompt | str | The prompt to use for text generation. |
Related Information
Was this page helpful?