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
- Drag the
DeepsetStaticAnswerBuildercomponent onto the canvas from the Component Library. - Click the component to open the configuration panel.
- On the General tab:
- Enter the answer text this component returns for every query.
- Go to the Advanced tab to configure
custom_meta_keyandcustom_meta_valueif 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
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | str | The 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. | |
| documents | Optional[List[Document]] | None | Documents to add to the answer. |
Outputs
| Parameter | Type | Default | Description |
|---|---|---|---|
| answers | List[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:
| Parameter | Type | Default | Description |
|---|---|---|---|
| answer_text | str | The text of the GeneratedAnswer this component outputs. | |
| custom_meta_key | Optional[str] | None | The key for a custom metadata field to be included in the answer. |
| custom_meta_value | Optional[str] | None | The 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | str | The 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. | |
| documents | Optional[List[Document]] | None | Documents to add to the answer. |
Was this page helpful?