VertexAICodeGenerator
Generate code using Google Vertex AI generative models.
Key Features
- Generates code using Vertex AI models (
code-bison,code-bison-32k,code-gecko). - Accepts a code prefix and an optional suffix to enable in-fill code generation.
- Authenticates using Google Cloud Application Default Credentials.
- Returns a list of generated code snippets.
Configuration
This component authenticates using Google Cloud Application Default Credentials (ADCs). For more information, see the official Google documentation.
Create secrets with the following keys: GCP_PROJECT_ID and optionally GCP_DEFAULT_REGION. For detailed instructions on creating secrets, see Create Secrets.
- Drag the
VertexAICodeGeneratorcomponent onto the canvas from the Component Library. - Click the component to open the configuration panel.
- On the General tab:
- Enter the model name (for example,
code-bison).
- Enter the model name (for example,
- Go to the Advanced tab to configure the project ID, location, and additional model kwargs.
Connections
VertexAICodeGenerator accepts prefix (code before the current point) and an optional suffix (code after the current point) as inputs. It outputs a list of generated code snippets (replies).
Typically, you connect the pipeline query input to prefix and connect replies to AnswerBuilder.
Usage Example
This pipeline uses VertexAICodeGenerator to generate code:
components:
VertexAICodeGenerator:
type: haystack_integrations.components.generators.google_vertex.code_generator.VertexAICodeGenerator
init_parameters:
model: code-bison
project_id:
location:
AnswerBuilder:
type: haystack.components.builders.answer_builder.AnswerBuilder
init_parameters:
pattern:
reference_pattern:
last_message_only: false
return_only_referenced_documents: true
connections:
- sender: VertexAICodeGenerator.replies
receiver: AnswerBuilder.replies
max_runs_per_component: 100
metadata: {}
inputs:
query:
- VertexAICodeGenerator.prefix
- AnswerBuilder.query
outputs:
answers: AnswerBuilder.answers
Parameters
Inputs
| Parameter | Type | Default | Description |
|---|---|---|---|
| prefix | str | Code before the current point. | |
| suffix | Optional[str] | None | Code after the current point. |
Outputs
| Parameter | Type | Default | Description |
|---|---|---|---|
| replies | List[str] | A list of generated code snippets. |
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 | code-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 | Default | Description |
|---|---|---|---|
| prefix | str | Code before the current point. | |
| suffix | Optional[str] | None | Code after the current point. |
Was this page helpful?