Skip to main content

VertexAITextGenerator

Generate text using Google Vertex AI generative models.

Basic Information

  • Type: haystack_integrations.components.generators.google_vertex.text_generator.VertexAITextGenerator
  • Components it can connect with:
    • PromptBuilder: Receives a prompt from PromptBuilder.
    • AnswerBuilder: Sends generated replies to AnswerBuilder.

Inputs

ParameterTypeDefaultDescription
promptstrThe prompt to use for text generation.

Outputs

ParameterTypeDefaultDescription
repliesList[str]A list of generated replies.
safety_attributesDict[str, float]Safety scores for each answer.
citationsList[Dict[str, Any]]Citations for each answer.

Overview

VertexAITextGenerator generates text using Google Vertex AI generative models. It supports text-bison, text-unicorn, and text-bison-32k models.

Authorization

This component authenticates using Google Cloud Application Default Credentials (ADCs). For more information, see the official Google documentation.

Create secrets for GCP_PROJECT_ID and optionally GCP_DEFAULT_REGION. For detailed instructions on creating secrets, see Create Secrets.

Usage Example

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

Init Parameters

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
project_idOptional[str]NoneID of the GCP project to use. By default, it is set during Google Cloud authentication.
modelstrtext-bisonName of the model to use.
locationOptional[str]NoneThe default location to use when making API calls. If not set, uses us-central-1.
kwargsAnyAdditional keyword arguments to pass to the model. See the TextGenerationModel.predict() documentation.

Run Method Parameters

These are the parameters you can configure for the run() method. You can pass these parameters at query time through the API, in Playground, or when running a job.

ParameterTypeDefaultDescription
promptstrThe prompt to use for text generation.