Skip to main content
For the complete documentation index for agents and LLMs, see llms.txt.

DeepsetStaticAnswerBuilder

Generate a fixed response text every time it runs. Use it to provide fallback or default answers in conditional pipelines.

Key Features

  • Returns the same configured answer text for every query
  • Optionally attaches documents to the generated answer
  • Supports custom metadata with configurable key-value pairs
  • Especially useful for fallback paths in branching pipelines, such as when a query is classified as invalid or blocked
  • Compatible with any component that accepts List[GeneratedAnswer]

Configuration

  1. Drag the DeepsetStaticAnswerBuilder component onto the canvas from the Component Library.
  2. Click the component to open the configuration panel.
  3. On the General tab:
    1. Enter the answer text this component returns for every query.
  4. Go to the Advanced tab to configure custom_meta_key and custom_meta_value if you want to include custom metadata in the generated answer.

Connections

DeepsetStaticAnswerBuilder accepts a query string and optionally a list of documents as input. It outputs a list of GeneratedAnswer objects, each containing the configured answer text. If it doesn't receive the query from a connected component, list it in the inputs section of your pipeline YAML. It is typically used as a terminal component in a conditional pipeline branch.

Usage Example

Using the Component in the Pipeline

This is an example pipeline where the Router classifies queries into injections and legitimate queries. It sends the injections to DeepsetStaticAnswerBuilder, which returns "Cannot answer", while the legitimate queries go to OutputAdapter.

components:
# ...
router:
type: haystack.components.routers.transformers_text_router.TransformersTextRouter
init_parameters:
model: "JasperLS/deberta-v3-base-injection"
labels: ["LEGIT", "INJECTION"]

answer_builder:
type: deepset_cloud_custom_nodes.augmenters.static_answer_builder.DeepsetStaticAnswerBuilder
init_parameters:
answer_text: "Cannot answer"
custom_meta_key: "error_code"
custom_meta_value: "403"

output_adapter:
type: haystack.components.converters.OutputAdapter
init_parameters:
output_type: str
template: >
"Good question: {{query}}"

connections: # Defines how the components are connected
# ...
- sender: router.INJECTION
receiver: answer_builder.query
- sender: router.LEGIT
receiver: output_adapter.query


Parameters

Inputs

ParameterTypeDefaultDescription
querystrThe query string. If DeepsetStaticAnswerBuilder doesn't receive the query from a component it's connected to, you must list it in the inputs section of the pipeline YAML under query. you can see an example in the Usage Examples section below.
documentsOptional[List[Document]]NoneDocuments to add to the answer.

Outputs

ParameterTypeDefaultDescription
answersList[GeneratedAnswer]A list of GeneratedAnswer objects. Each answer contains the answer text, the query, the documents (if provided), and custom metadata.

Init Parameters

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
answer_textstrThe text of the GeneratedAnswer this component outputs.
custom_meta_keyOptional[str]NoneThe key for a custom metadata field to be included in the answer.
custom_meta_valueOptional[str]NoneThe value for a custom metadata field to be included in the answer.

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.

ParameterTypeDefaultDescription
querystrThe query string. If DeepsetStaticAnswerBuilder doesn't receive the query from a component it's connected to, you must list it in the inputs section of the pipeline YAML under query. you can see an example in the Usage Examples section below.
documentsOptional[List[Document]]NoneDocuments to add to the answer.