Skip to main content

DeepsetStaticAnswerBuilder

Use this component to generate a fixed response every time you run it. You can configure the response text.

Basic Information

  • Type: deepset_cloud_custom_nodes.augmenters.static_answer_builder.DeepsetStaticAnswerBuilder
  • Components it can connect with:
    • Any component that outputs a query string or accepts a list of generated answers as input.

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.

Overview

DeepsetStaticAnswerBuilder is especially useful in pipelines that branch into multiple paths based on a condition. One of the paths then ends with DeepsetStatisAnswerBuilder to provide a default response when none of the other paths are taken.

You can also add metadata to the generated answer through the custom_meta_key and custom_meta_value parameters.

Usage Example

Initializing the Component

components:
DeepsetStaticAnswerBuilder:
type: augmenters.static_answer_builder.DeepsetStaticAnswerBuilder
init_parameters:

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

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.