| deploy_pipelineA | Deploys a pipeline to production. This function attempts to deploy the specified pipeline in the given workspace.
If the deployment fails due to validation errors, it returns a validation result.
:param pipeline_name: Name of the pipeline to deploy.
:param version_id: Optional ID of the pipeline version to deploy. If None, deploys the latest non-draft version. :returns: Deployment validation result or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| create_pipelineB | Creates a new pipeline within the currently configured deepset workspace.
:param pipeline_name: Name of the pipeline to create.
:param yaml_configuration: YAML configuration for the pipeline.
:returns: Created pipeline or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
create_pipeline(data={'key': 'value'}, threshold=10)
# Call with references
create_pipeline(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
create_pipeline(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_component_definitionB | Returns the definition of a specific Haystack component.
:param component_type: Fully qualified component type
(e.g. haystack.components.routers.conditional_router.ConditionalRouter)
:param haystack_version: Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's dependencies section for the haystack-ai package. :returns: ComponentDefinition model or error message string The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_cost_over_timeA | Reads the LLM cost of the workspace, or of one pipeline, per UTC day. Use this to see how spending developed, find the day a cost spike started, or compare periods.
Costs are in USD. There is one point per day with usage; days without usage are left out, so a missing
day means zero cost. A cost_total of null means that day had usage but none of it was priced.
Without dates the range is the last 30 days. start_date is inclusive and end_date exclusive.
The daily figures leave out unpriced LLM calls; use get_cost_totals to check whether the cost is
complete. Without workspace the figures cover the whole organization, as the Cost Management page does for an
organization admin; this needs the organization admin role. Use workspace for one workspace. In that
organization view pipeline_name and Service names can't be used (they belong to a workspace); pass
Service ids instead. Narrow the figures with services, providers and api_keys. They combine: usage must match every
kind you set, and any one value within a list.
:param pipeline_name: Restrict to this pipeline. Omit for the whole workspace. Needs Pipelines read as well as
Costs read.
:param start_date: Inclusive start as an ISO timestamp. Defaults to 30 days before end_date.
:param end_date: Exclusive end as an ISO timestamp. Defaults to no upper bound.
:param services: Restrict to these Services (deployment in the API; a published Service endpoint, not a
deployed pipeline, which is a pipeline). Each value is a Service name or its id, the key from
get_cost_breakdown with group_by='deployment'. Looking a Service up by name needs Services read as
well as Costs read; an id needs only Costs read.
:param providers: Restrict to these providers. Use the provider ids from get_cost_breakdown with
group_by='provider', such as bedrock_converse or openai, not their display names.
:param api_keys: Restrict to these API keys. Use the key ids from get_cost_breakdown with
group_by='api_key', never a key's secret token.
:returns: The daily cost, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_pipeline_trace_span_tagsA | Retrieves all tags for a single span within a Haystack pipeline run trace. A span's tags carry the component-level detail, including its input and output
(e.g. haystack.component.input / haystack.component.output) plus type and
error information. Use this to inspect one component run in detail. Obtain span_id from a span in a get_pipeline_trace response, and query_id
from list_pipeline_traces or list_pipeline_search_history.
:param pipeline_name: Name of the pipeline.
:param query_id: UUID of the search history query.
:param span_id: UUID of the span whose tags to retrieve.
:returns: The span's tag dictionary or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_evaluatorA | Fetches one Evaluator, or one of its versions with the Python source. Without version_id it returns the Evaluator with every version, newest first, each with
the Metrics it declares but no source. With version_id it returns that version including
its python_code; pass latest_version.evaluator_version_id to read the current source.
:param evaluator_id: The Evaluator's id.
:param version_id: A version's id, to read that version's source.
:returns: The Evaluator or the version, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| update_deploymentB | Updates a deployment's metadata, sizing, or execution mode. Only fields you provide are changed; omitted fields keep their current value.
:param deployment_id: ID of the deployment to update.
:param name: New name for the deployment.
:param description: New description.
:param group_label: New group label.
:param deployment_mode: New execution mode, "MANAGED" or "SERVERLESS".
:param service_level: New sizing tier, "PRODUCTION", "DEVELOPMENT", or "CUSTOM".
:param idle_timeout_in_seconds: New idle timeout, in seconds.
:param min_query_replica_count: New minimum number of query replicas.
:param max_query_replica_count: New maximum number of query replicas.
:param max_index_replica_count: New maximum number of index replicas.
:param cpu_request: New requested CPU per replica.
:param cpu_limit: New CPU limit per replica.
:param memory_request: New requested memory per replica.
:param memory_limit: New memory limit per replica.
:param gpu_limit_gigabyte: New GPU memory limit in gigabytes.
:returns: The updated deployment or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
update_deployment(data={'key': 'value'}, threshold=10)
# Call with references
update_deployment(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
update_deployment(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_datasetA | Fetches one Dataset with all its test cases, in the order an Experiment replays them. Each test case has its test_case_id (for update_test_case, copy_test_cases and
remove_test_cases), the session_id it replays or the inputs it sends, its expected
data and its setup and cleanup source.
:param dataset_id: The Dataset's id.
:returns: The Dataset, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| create_deployment_revisionA | Pushes a new revision onto a deployment, e.g. from a platform pipeline version. Creating a revision does not serve it automatically; call activate_deployment_revision
to make it the deployment's served revision.
:param deployment_id: ID of the deployment.
:param comment: Comment describing the revision.
:param config_yaml: Inline pipeline configuration YAML, for an externally pushed revision.
:param source_version_id: ID of the source pipeline version, for a platform pipeline revision.
:param source_type: Where the revision's pipeline configuration comes from, "PLATFORM_PIPELINE"
(default) or "EXTERNAL_PIPELINE".
:returns: The newly created revision or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
create_deployment_revision(data={'key': 'value'}, threshold=10)
# Call with references
create_deployment_revision(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
create_deployment_revision(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_slice_from_object_storeA | Extract a slice from a string or list object that is stored in the object store. :param object_id: Identifier of the object.
:param start: Start index for slicing.
:param end: End index for slicing (optional - leave empty to get slice from start to end of sequence).
:param path: Navigation path to object to slice (optional).
:return: String representation of the slice. |
| activate_deployment_revisionB | Activates a revision, marking it as the deployment's desired served revision.
:param deployment_id: ID of the deployment.
:param revision_id: ID of the revision to activate.
:returns: The updated deployment or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_cost_totalsA | Reads the total LLM cost, tokens and requests of the workspace, or of one pipeline, over a date range. Use this to answer how much a workspace or pipeline spent on LLM calls. Costs are in USD.
Without dates the range is the last 30 days. start_date is inclusive and end_date exclusive, so
for September 2026 pass 2026-09-01T00:00:00Z and 2026-10-01T00:00:00Z. Without workspace the figures cover the whole organization, as the Cost Management page does for an
organization admin; this needs the organization admin role. Use workspace for one workspace. In that
organization view pipeline_name and Service names can't be used (they belong to a workspace); pass
Service ids instead. Narrow the figures with services, providers and api_keys. They combine: usage must match every
kind you set, and any one value within a list. Check is_cost_complete before reporting total_cost. When it is false, total_cost is a lower
bound, not the final figure: say so, and name the models in unpriced_models (LLM calls with no price
on file) and mention pending_generation_count (calls whose cost is still being calculated, which
usually clears within a minute). total_requests counts queries, not individual LLM calls; one query
can make several LLM calls.
:param pipeline_name: Restrict to this pipeline. Omit for the whole workspace. Needs Pipelines read as well as
Costs read.
:param start_date: Inclusive start as an ISO timestamp. Defaults to 30 days before end_date.
:param end_date: Exclusive end as an ISO timestamp. Defaults to no upper bound.
:param services: Restrict to these Services (deployment in the API; a published Service endpoint, not a
deployed pipeline, which is a pipeline). Each value is a Service name or its id, the key from
get_cost_breakdown with group_by='deployment'. Looking a Service up by name needs Services read as
well as Costs read; an id needs only Costs read.
:param providers: Restrict to these providers. Use the provider ids from get_cost_breakdown with
group_by='provider', such as bedrock_converse or openai, not their display names.
:param api_keys: Restrict to these API keys. Use the key ids from get_cost_breakdown with
group_by='api_key', never a key's secret token.
:returns: The cost totals, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| debug_pipelineA | Runs a pipeline configuration in debug mode: pin a breakpoint, resume a snapshot, or trace a full run. Debugs a pipeline configuration directly (not a saved pipeline by name) -- pass the YAML you want to
test, e.g. from get_pipeline_version, create_pipeline_version, or a local draft. The inline run trace is
always returned, so a failure is visible even for a run that never reaches a breakpoint. One call carries at most one of: break_at_component_name (with break_at_visit_count) -- run from inputs until the breakpoint is hit,
then stop and return a resumable snapshot in the 'snapshot' field. Pass that back as resume_from to
continue the run. resume_from -- replay a snapshot returned by a previous debug run to completion; inputs are ignored,
they come from the snapshot. neither -- run the pipeline from inputs to completion as a plain debug run.
:param yaml_configuration: The pipeline YAML configuration to debug.
:param inputs: Named pipeline inputs keyed by the input name declared under the pipeline config's
'inputs' mapping (e.g. {"query": "What is love?"}). Ignored when resume_from is set.
:param break_at_component_name: Name of the component to break at. Mutually exclusive with resume_from;
omit both to run to completion as a plain debug run.
:param break_at_visit_count: Break when the target has been visited this many times (0 breaks before the
first visit; relevant for loops/cycles). Only used if break_at_component_name is set.
:param resume_from: A snapshot returned by a previous debug run (its 'snapshot' field), replayed to
completion. Mutually exclusive with break_at_component_name.
:param files: File IDs to download and inject into the inputs declared under the pipeline config's
'inputs.files' mapping.
:param pipeline_id: Optional ID of the pipeline this debug run is associated with.
:param pipeline_version_id: Optional ID of the pipeline version to associate the run with (requires
pipeline_id).
:param dry_run: Best-effort stateless run: state-modifying components (e.g. DocumentWriter) are replaced
with no-op equivalents so the pipeline can be inspected without side effects. Required for indexing
pipelines (their document store carries no index until deploy time); harmless for query pipelines.
Set it on resume too if the original run used dry_run, otherwise the run is rejected.
:returns: PipelineDebugResult with status, result/snapshot, and the run trace, or an error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
debug_pipeline(data={'key': 'value'}, threshold=10)
# Call with references
debug_pipeline(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
debug_pipeline(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| start_experiment_runA | Scores a pipeline's Sessions with a Metric Group, outside any Experiment. Costs money. Every Evaluator of the Metric Group judges every chosen Session, so the run has Sessions times
Evaluators cells, and an Evaluator that judges with a model is billed per judged turn on the
customer's provider. Name the Sessions in session_ids (find them with list_sessions), or
give a window of time: window_from and window_to together, optionally narrowed by
origin, deployment_id, pipeline_version_id and revision_id, judge every Session
whose last activity falls in it. The server resolves the window to its Sessions when the run
starts. Give session_ids or a window, never both. A window run is always SAMPLED and cannot take
focus; it is refused when it has more Sessions or cells than the ceiling. Preview first: preview=True with a window starts nothing and returns sessions,
evaluators and cells (the judge calls it would make) against the ceiling. Show that to
the user and get a yes before starting for real. There is no preview for named Sessions: their
cells are the number of Sessions times the Metric Group's Evaluators. The run is queued, not finished: poll it with get_experiment_run (counts, then the grid),
and find earlier runs with list_experiment_runs. reuse REUSE_SUCCEEDED judges only
what this Metric Group has not already judged successfully, which makes re-running after a
partial failure cheap; RERUN_ALL judges everything again. selection HAND_PICKED marks Sessions
chosen because they looked wrong, which keeps the run out of trends and exports; use it
for named Sessions that are not a sample of the traffic. A focus makes it HAND_PICKED.
:param pipeline_name: Name of the pipeline whose Sessions are judged.
:param metric_group_id: The Metric Group to judge with (see list_metric_groups).
:param session_ids: The Sessions to judge: search_session_id values, or a single-turn run's query_id.
:param window_from: Window start, ISO 8601 with a timezone: last activity at or after it.
:param window_to: Window end, ISO 8601 with a timezone, not in the future: last activity at or before it.
:param origin: Window filter: only Sessions from SERVICE, PIPELINE_RUN or PLAYGROUND.
:param deployment_id: Window filter: only Sessions this Service served.
:param pipeline_version_id: Window filter: only Sessions this pipeline version served.
:param revision_id: Window filter: only Sessions this Service revision served.
:param reuse: RERUN_ALL (default) or REUSE_SUCCEEDED.
:param selection: SAMPLED (default) or HAND_PICKED.
:param focus: Per Session id, the turns to judge by query_id; a Session left out is judged on every turn.
:param preview: True counts what the window would judge and starts nothing.
:returns: The queued run (pipeline_experiment_run_id, cells), or with preview the counts, or an error. |
| list_pipeline_versionsA | Lists all versions of a pipeline, ordered by version number descending (newest first).
:param pipeline_name: Name of the pipeline to list versions for.
:param after: Cursor (version_id UUID) to fetch the next page of results.
:returns: Paginated list of pipeline versions or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| update_datasetA | Renames a Dataset. Change its test cases with the test case tools.
:param dataset_id: The Dataset's id.
:param name: The new name.
:returns: The Dataset, or an error message. |
| list_pipeline_tracesA | Lists Haystack pipeline run trace summaries for a specific pipeline. Returns one lightweight summary per query run — query_id, query text, status,
timing (duration_s, created_at), and failure details if the run failed.
Summaries do not include spans or logs. Use this to browse runs, find slow or
failed queries, then pass a query_id to get_pipeline_trace for the full
execution trace (spans with essential tags such as component type),
get_pipeline_trace_span_tags for a single span with full tags (including input/output),
or get_pipeline_trace_logs for the logs of the trace. Use the after parameter with next_cursor from the response to fetch
the next page.
:param pipeline_name: Name of the pipeline to retrieve traces for.
:param limit: Maximum number of trace entries to return per page (default 10).
:param after: ISO-8601 timestamp cursor from next_cursor on the previous response.
:param query_filter: An OData filter expression to narrow down results.
Supported fields: query, client_source_path, pipeline_version_id, answer,
api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score,
feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id,
feedbacks/result_id, request/filters, request/params, duration, labels,
status, note.
Example: "status eq 'failed'" or "created_at ge 2024-01-01T00:00:00Z".
:param sort_field: Field to sort results by. One of: created_at, query,
duration, feedbacks/score. Defaults to created_at.
:param sort_order: Sort direction — ASC (oldest first) or DESC (newest first).
Defaults to DESC.
:returns: Paginated list of pipeline trace summaries or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_deployment_statsB | Fetches query volume, outcome split, and run durations for a deployment.
:param deployment_id: ID of the deployment.
:param days: Size of the rolling window, in days (1-90, default 30).
:param granularity: Bucket width for the returned series, "DAY" (default) or "HOUR".
:param time_zone: IANA time zone used to bucket the series (default "UTC").
:returns: Deployment statistics or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_experiment_runsA | Lists scoring runs: a Metric Group's on one pipeline, or every one that judged a given Session. A scoring run is a Metric Group judging chosen Sessions of one pipeline, outside any Experiment
(see start_experiment_run); the runs an Experiment makes are listed too. Give
metric_group_id for that group's runs, or session_id for the runs, of any Metric
Group, that judged that Session; each run names its Metric Group in
pipeline_experiment_id. Newest first, without their grids: status says whether the
fan-out finished, not whether every cell succeeded, window is what a window run judged
and resolved_sessions how many Sessions it had. Read one run's grid with
get_experiment_run.
:param pipeline_name: Name of the pipeline.
:param metric_group_id: List this Metric Group's runs. Give this or session_id.
:param session_id: List the runs that judged this Session. Give this or metric_group_id.
:param limit: Most runs to return (at most 200). The API has no further paging: a result of exactly
this many may be cut off.
:returns: The runs, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_deployment_revisionB | Fetches a single deployment revision, including the pipeline configuration YAML it serves.
:param deployment_id: ID of the deployment.
:param revision_id: ID of the revision to fetch.
:returns: The revision, including its config YAML, or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| create_workspaceA | Creates a new workspace with the specified name. This tool creates a new workspace that can be used to organize pipelines,
indexes, and other resources. The workspace name must be unique across
the platform. Once created, you can start deploying pipelines and other
resources within this workspace.
:param name: The name for the new workspace. Must be unique.
:returns: Success confirmation or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| update_test_caseA | Changes one test case of a Dataset. Fields you leave out are kept. inputs replaces the inputs and works only on a test case created with inputs, not on a
Session-based one. expected replaces the expected data.
:param dataset_id: The Dataset's id.
:param test_case_id: The test case's id.
:param name: The new name.
:param inputs: The new pipeline inputs, as {name: value}.
:param expected: The new expected data.
:param setup_source: New Python source that runs before every replay.
:param cleanup_source: New Python source that runs after every replay.
:param clear: Fields to remove from the test case.
:returns: The test case, or an error message.
|
| rerun_failed_experimentA | Retries what failed in an Experiment. Costs money: judges or replays again. rerun="evaluations" judges again the evaluations a side's scoring run left failed or
errored (see scoring_counts in get_experiment), reusing every one that succeeded; it
bills only those Evaluators again. rerun="replays" replays again the replays that failed
(run_counts.failed), reusing every Session that exists, then scores that side again, which
bills the new Sessions' replays and evaluations. hub-api refuses with a message when nothing
failed or while a side is still running. Follow progress with get_experiment.
:param experiment_id: The Experiment's id.
:param rerun: Which failures to retry: "evaluations" (default) or "replays".
:returns: The Experiment, or an error message.
|
| patch_pipeline_versionA | Updates fields of an existing pipeline version in place. At least one of yaml_configuration, description, or is_draft must be provided.
:param pipeline_name: Name of the pipeline.
:param version_id: UUID of the version to update.
:param yaml_configuration: New YAML configuration for the version (optional).
:param description: New description for the version (optional).
:param is_draft: New draft status for the version (optional).
:returns: The updated pipeline version or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
patch_pipeline_version(data={'key': 'value'}, threshold=10)
# Call with references
patch_pipeline_version(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
patch_pipeline_version(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| add_deployment_tagB | Adds a tag to a deployment. Each deployment supports at most three tags.
:param deployment_id: ID of the deployment.
:param tag_name: Tag to add (1-50 characters; letters, digits, spaces, underscores, hyphens).
:returns: The deployment's full tag list after the add, or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_experiment_resultsA | Reads an Experiment's results: each Metric, candidate against baseline, then each test case. Find an Experiment with list_experiments. metrics has one entry per Metric of the
Metric Group, in its order: each side's value (or labels for a Label), delta and
delta_pct of the candidate over the baseline, better (which way a change is an
improvement, null when undeclared), change (improved, regressed, unchanged or unknown),
and how many Sessions errored, meaning the Evaluator's own code broke. A test case's value
is the mean over its Sessions, and a Metric is averaged only over the paired_test_cases
both sides have a value for, so check that count before trusting a delta. Say a Metric
improved or regressed only from change; unknown means no judgement, so never infer a
direction from the Metric's name. pipeline_metrics compares DURATION, TOKENS and COST the
same way. Each test case lists the Sessions each side scored and, per Score Metric keyed
{evaluator_id}:{metric_key}, each side's mean; that is where to look for the test cases
behind a regression. Resolve evaluator ids to names with list_evaluators. Results are
partial while status is REPLAYING or SCORING. headline gives each side's Composite
(0 to 1, 1 best) and normalized_means. When comparable is false the two sides used
different formulas: report no change between them and give incomparable_reason; each side's
composite_weights shows the formula it used. aggregates gives each Metric over every Session
a side scored, not just the paired test cases: each side's whole-run entry (a Score's mean, a
Label's shares), delta, share_deltas for a Label and change. Empty until a side's
scoring runs end.
:param experiment_id: The Experiment's id.
:param max_test_cases: Most test cases to return; metrics still cover every test case.
:returns: The results, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| try_evaluatorA | Tries Evaluator source on one Session and returns what it found. Persists nothing. Use it to check a draft before showing it as ready, and to judge a replayed Session against
its source. The source is an Evaluation Function: a Python function that reads one Session and
reports named Metrics declared with @metrics. To try a saved Evaluator, read a version's
python_code with get_evaluator and pass it. A try that
judges with a model costs a model call per judged turn on the customer's provider. test_case_id hands the Evaluation Function that Dataset test case's expected data, so a
correctness Evaluator can be tried on any Session; leave it out to use the test case the Session
replayed, if any.
outcome ERRORED means the code broke: read error_detail and fix it. metrics are the
values per address with their rationales. trace_summary says which Session Tools the
evaluator called. If status is RUNNING the wait ran out: poll get_evaluation_try.
:param pipeline_name: Name of the pipeline the Session belongs to.
:param python_code: The Evaluation Function's source.
:param session_id: The Session to judge: a search_session_id, or a single-turn run's query_id.
:param test_case_id: A Dataset test case whose expected data the Evaluation Function receives.
:param wait_seconds: How long to wait for the result before handing back the id to poll.
:returns: The try report, or an error message.
|
| search_pipeline_with_paramsA | Searches using a pipeline with params. Uses the specified pipeline to perform a search with the given query and params.
Params can be arbitrary parameters to customize the search behavior.
Filters can be used as well under the "filters" key in params.
Filters follow the Haystack filter syntax: https://docs.haystack.deepset.ai/docs/metadata-filtering.
Before executing the search, checks if the pipeline is deployed (status = DEPLOYED).
Returns search results.
:param pipeline_name: Name of the pipeline to use for search.
:param query: The search query to execute.
:param params: The parameters to customize the search. :returns: Search results or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_pipeline_logsA | Fetches logs for a specific pipeline. Retrieves log entries for the specified pipeline, with optional filtering by log level.
This is useful for debugging pipeline issues or monitoring pipeline execution.
:param pipeline_name: Name of the pipeline to fetch logs for.
:param limit: Maximum number of log entries to return (default: 30).
:param level: Filter logs by level. If None, returns all levels.
:param after: The cursor to fetch the next page of results. :returns: Pipeline logs or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_templateA | Fetches detailed information for a specific pipeline or indexing template, identified by its template_name.
:param template_name: The name of the template to fetch. :returns: Pipeline or indexing template details or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| delete_deployment_tagB | Removes a tag from a deployment. Tag matching is case-insensitive.
:param deployment_id: ID of the deployment.
:param tag_name: Tag to remove.
:returns: The deployment's full tag list after removal, or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| search_pipelineA | Searches using a pipeline. Uses the specified pipeline to perform a search with the given query.
Before executing the search, checks if the pipeline is deployed (status = DEPLOYED).
Returns search results.
:param pipeline_name: Name of the pipeline to use for search.
:param query: The search query to execute. :returns: Search results or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| update_evaluatorA | Renames an Evaluator, saves new source as a new version, or both. Send only what changes. New source adds a version; the Evaluator's Metric Groups judge with the newest version from the next
run on, and past runs keep the version they used. Validate the new code with try_evaluator
first. Source the Evaluator already had in its history adds no version, so reverting is safe.
hub-api rejects code that changes what an existing Metric measures (its shape, grain or range,
a narrowed vocabulary), and a changed declaration can make a Metric Group weight unusable: check
weights with list_metric_groups afterwards. Read the current source with get_evaluator.
:param evaluator_id: The Evaluator's id.
:param name: The new name; must not be taken.
:param python_code: The new Python source.
:returns: The Evaluator, or an error message. |
| create_indexC | Creates a new index within your Haystack Enterprise Platform workspace.
:param index_name: Unique name of the index to create.
:param yaml_configuration: YAML configuration to use for the index.
:param description: Description of the index to create.
:returns: A message and the created index, or an error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
create_index(data={'key': 'value'}, threshold=10)
# Call with references
create_index(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
create_index(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_pipelinesA | Retrieves a list of all pipeline available within the currently configured deepset workspace.
:param after: The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as next_cursor on the response.
:returns: List of pipelines or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_templatesA | Retrieves a list of all available pipeline and indexing templates.
:param limit: Maximum number of templates to return (default: 100).
:param pipeline_type: The type of pipeline to return.
:param after: The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as next_cursor on the response. :returns: List of pipeline templates or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_deploymentB | Fetches details for a specific deployment, including its active revision and runtime status.
:param deployment_id: ID of the deployment to fetch.
:returns: Deployment details or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_datasetsA | Lists the workspace's Datasets, newest first, without their test cases. A Dataset is a named list of test cases (a recorded Session or a set of inputs, with optional
expected data) that an Experiment replays against a pipeline version. Each entry has its
dataset_id, test_case_count and the pipeline_ids its test cases belong to. Read the
test cases with get_dataset; pass dataset_id to create_experiment. The API has no
paging: a result of exactly limit Datasets may be cut off; raise limit (at most 200) or
narrow with pipeline_name.
:param pipeline_name: Only Datasets with a test case on this pipeline, when given.
:param limit: Most Datasets to return (at most 200).
:returns: The Datasets, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| copy_test_casesA | Copies test cases from any Dataset of the workspace to the end of this one. Each copy keeps the Session or inputs, name, expected data and scripts, and gets its own id, so
editing a copy leaves the original untouched. Find ids with get_dataset.
:param dataset_id: The Dataset to copy into.
:param test_case_ids: The test cases to copy, in order.
:returns: The Dataset with all its test cases, or an error message. |
| get_indexB | Fetches detailed configuration information for a specific index, identified by its unique index_name.
:param index_name: Unique name of the index to fetch.
:returns: The index configuration or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| search_templatesA | Searches for pipeline or indexing templates based on name or description using semantic similarity.
:param query: The search query.
:param top_k: Maximum number of results to return (default: 10).
:param pipeline_type: The type of pipeline to return ('indexing' or 'query'; default: 'query'). :returns: Search results with similarity scores or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| grep_object_storeA | Search for a regex pattern in a string stored in the object store. Returns matches with surrounding context, similar to grep. :param object_id: The id of the object to search in the format @obj_001.
:param pattern: Regular expression pattern to search for.
:param path: Navigation path to a nested string attribute (optional).
:param case_sensitive: Whether the search should be case sensitive (default: False).
:return: Matches with context, or a message if no matches found. |
| get_pipelineA | Fetches information for a specific pipeline, identified by its unique pipeline_name.
:param pipeline_name: The name of the pipeline to fetch.
:returns: Pipeline details or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_search_historyA | Retrieves search history for the configured deepset workspace. Returns past searches run in the workspace, including queries, answers,
prompts, feedback, and metadata. Use this to inspect what users have
searched for, analyze usage, or debug pipeline behavior. Each entry includes: request.query — the search query text
time / created_at — when the search ran
duration — how long it took (seconds)
status — 'success' or 'failed'
pipeline.name — which pipeline handled the query
response — the list of search results
feedback, labels, note — user annotations
Use the after parameter with the next_cursor value from the
previous response to fetch the next page.
:param limit: Maximum number of entries to return per page (default 10, max 1000).
:param after: ISO-8601 timestamp cursor to fetch entries older than this point.
Pass the value from next_cursor on the previous response.
:param query_filter: An OData filter expression to narrow down results.
Supported fields: query, client_source_path, pipeline_version_id, answer,
api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score,
feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id,
feedbacks/result_id, request/filters, request/params, duration, labels,
status, note.
Example: "created_at ge 2024-01-01T00:00:00Z" or "query eq 'my search'".
:param sort_field: Field to sort results by. One of: created_at, query,
duration, feedbacks/score. Defaults to created_at.
:param sort_order: Sort direction — ASC (oldest first) or DESC (newest first).
Defaults to DESC.
:returns: Paginated list of search history entries or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_pipeline_trace_logsA | Retrieves the log entries for a single Haystack pipeline run trace. Returns the run's logs (e.g. to diagnose warnings or errors emitted during the
run). Each entry includes the logger, level, message, timestamp, and extra fields. Obtain query_id from list_pipeline_traces or list_pipeline_search_history. If errors occur outside of the pipeline (e.g. in the API or search history service), they will not appear in the
trace logs. Use the get_pipeline_logs tool to retrieve logs for the pipeline itself (e.g. startup errors,
configuration issues, orother runtime problems).
:param pipeline_name: Name of the pipeline.
:param query_id: UUID of the search history query.
:returns: List of log entries or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| search_docsA | Search the Haystack Enterprise Platform documentation. Use this to find information about Haystack components, pipelines, document
stores, embedders, generators, retrievers, and other AI platform features.
Returns relevant documentation excerpts with source URLs. :param query: The search query. Be specific about what you're looking for.
Examples: 'How to create a RAG pipeline', 'OpenAI embedder configuration',
'document store filters'.
:param section: Optional documentation section id from list_doc_sections (for example,
how-to-guides or api). Limits results to that section.
:returns: Relevant documentation excerpts with source URLs. |
| get_modelsA | Lists the models including their configuration options available for use in a workspace's pipelines and indexes. This includes predefined models offered by deepset as well as custom models configured
at the workspace or organization level. Use this tool to discover which model names and
providers can be used, which configuration options are available, and which default
configuration is offered when configuring chat generators.
:param limit: Maximum number of models to return per page.
:param page_number: The page to fetch, starting at 1.
:param connected: If set, only return models for which the workspace does (True) or
does not (False) have a working integration configured.
:param provider: If set, only return models from this provider. Accepts a well-known
ModelProvider value (e.g. 'openai', 'anthropic', 'gemini', 'aws-bedrock') or any other
provider name as a plain string. Case-insensitive, exact match.
:param model: If set, only return models whose configured model name contains this value
(e.g. 'gpt-4o'). Case-insensitive, substring match.
:param include_price: If True, each model also carries its effective price in USD per 1,000 tokens
(input, output and cache prices), with the workspace's and organization's custom prices applied.
Requires read access to costs. Models without a known price have no price, e.g. Azure models that
are only identified by their deployment name. Defaults to False.
:returns: A page of models including their configuration options or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| delete_metric_groupA | Deletes a Metric Group together with all its scoring runs. This cannot be undone: get a yes first. The Evaluators themselves stay. hub-api refuses with a message while something else still uses
the group; relay that message. Afterwards every Experiment that used the
group can no longer change sides or rerun failed replays (hub-api answers 409).
:param metric_group_id: The Metric Group's id.
:returns: A confirmation, or an error message. |
| get_from_object_storeA | Use this tool to fetch an object from the object store. You can fetch a specific object by using the object's id (e.g. @obj_001).
You can also fetch any nested path by using the path-parameter
(e.g. {"object_id": "@obj_001", "path": "user_info.given_name"}
-> returns the content at obj.user_info.given_name). :param object_id: The id of the object to fetch in the format @obj_001.
:param path: The path of the object to fetch in the format of access.to.attr or ["access"]["to"]["attr"].
:return: String representation of the object or of the value at path. |
| get_workspaceA | Fetches detailed information for a specific workspace by name. This tool retrieves comprehensive details about a specific workspace, including
its unique ID, supported languages, and configuration settings. Use this when
you need detailed information about a particular workspace.
:param workspace_name: The name of the workspace to fetch details for.
:returns: Workspace details or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| rescore_experimentA | Scores both sides of an Experiment again with the Metric Group as it is now. Costs money. Use it after changing the Metric Group's Evaluators or weights (update_metric_group,
update_evaluator). Every Session is judged again, so every evaluation is billed again; the
Sessions are not replayed. hub-api refuses with a message while a side is still running or if
no side has been scored. Follow progress with get_experiment, then read
get_experiment_results.
:param experiment_id: The Experiment's id.
:returns: The Experiment, or an error message. |
| list_evaluator_templatesA | Lists the built-in Evaluator templates: ready-made Evaluation Functions to start from. They cover agent efficiency, agent quality, RAG quality and retrieval quality. Each has a key,
name, category, its python_code and the Metrics it declares. A template with a
judge_model asks a model per Session, so running it costs money. expected_columns are the
columns of a Dataset test case's expected data it reads. To use one, pass its name and
python_code to create_evaluator; the copy is yours and does not follow the template.
:returns: The templates, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_deploymentsA | Lists deployments (AI Gateways) in the currently configured deepset workspace. A deployment serves a pipeline behind a stable endpoint, independent of the pipeline's own
draft/version history.
:param after: The cursor to fetch the next page of results.
:param group_label: Filter deployments by group label.
:param tags: Filter deployments by tags (matches if any tag is present).
:returns: Paginated list of deployments or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| create_deploymentA | Creates a new deployment (AI Gateway), optionally linked to a pipeline. A deployment created without an origin_pipeline_id has no active revision until you call
create_deployment_revision and activate_deployment_revision. Default service sizing follows
Development unless explicit sizing fields are provided.
:param name: Name of the deployment.
:param description: Optional description.
:param group_label: Optional label used to group related deployments.
:param origin_pipeline_id: ID of the platform pipeline to link, if any.
:param deployment_mode: Execution mode, "MANAGED" or "SERVERLESS" (default "MANAGED").
:param service_level: Sizing tier, "PRODUCTION", "DEVELOPMENT", or "CUSTOM" (default "DEVELOPMENT").
:param idle_timeout_in_seconds: Seconds of inactivity before scaling down.
:param min_query_replica_count: Minimum number of query replicas.
:param max_query_replica_count: Maximum number of query replicas.
:param max_index_replica_count: Maximum number of index replicas.
:param cpu_request: Requested CPU per replica.
:param cpu_limit: CPU limit per replica.
:param memory_request: Requested memory per replica.
:param memory_limit: Memory limit per replica.
:param gpu_limit_gigabyte: GPU memory limit in gigabytes.
:returns: The created deployment or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
create_deployment(data={'key': 'value'}, threshold=10)
# Call with references
create_deployment(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
create_deployment(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_indexesA | Retrieves a list of all indexes available within the currently configured deepset workspace.
:param after: The cursor to fetch the next page of results.
If there are more results to fetch, the cursor will appear as next_cursor on the response.
:returns: List of indexes or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_sessionsA | Lists a pipeline's Sessions that a scoring run can judge, newest last activity first. A Session is the turns that share a search_session_id; a run without one is a single-turn
Session named by its query_id. Only Sessions whose every turn still has its trace are
listed. session_id is the id a scoring run takes. To find Sessions that went wrong
(a failed turn, negative feedback), use list_pipeline_traces with an OData filter instead
and take each row's search_session_id, or its query_id when that is empty.
:param pipeline_name: Name of the pipeline.
:param origin: Only Sessions whose every turn came from a Service, the pipeline's own API, or the Playground.
:param deployment_id: Only Sessions whose every turn this Service served.
:param pipeline_version_id: Only Sessions whose every turn this pipeline version served.
:param revision_id: Only Sessions whose every turn this Service revision served. Exact where a
version is not: one version can be pushed to a Service more than once.
:param since: ISO-8601 time; only Sessions last active at or after it.
:param until: ISO-8601 time; only Sessions last active at or before it.
:param limit: Most Sessions per page (at most 200). A page can hold fewer and still have a next.
:param cursor: The next value of the previous page.
:returns: One page of Sessions, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| search_component_definitionsA | Searches for components based on name or description using semantic similarity.
:param query: The search query
:param top_k: Maximum number of results to return (default: 5)
:param haystack_version: Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's dependencies section for the haystack-ai package. :returns: ComponentSearchResults model or error message string The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| deactivate_deploymentB | Marks a deployment as no longer desired to be served, keeping its active revision intact.
:param deployment_id: ID of the deployment.
:returns: The updated deployment or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_metric_groupsA | Lists the workspace's Metric Groups, newest first. A Metric Group is a named, ordered set of Evaluators. It belongs to the workspace, not to a
pipeline: a scoring run judges chosen Sessions of one pipeline with it, and an Experiment scores
both its sides with one. With pipeline_name, each entry's last_run is its newest scoring
run on that pipeline without the grid (status, selection, timing), or null when it never ran
there; read a run's results with get_experiment_run. weights says how much each Metric
counts toward the group's Composite (empty: no Composite); a weight with usable false
says in unusable_reason why it will not count in a new run. The API has no paging: a result
of exactly limit groups may be cut off (at most 200 are ever reachable).
:param pipeline_name: A pipeline to attach each Metric Group's most recent scoring run on.
:param limit: Most Metric Groups to return (at most 200). With pipeline_name each one costs a call.
:returns: The Metric Groups, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| update_indexA | Updates an index in the specified workspace. Only the fields you pass are changed; a field left as None is not touched
(it is not cleared server-side). Pass yaml_configuration to replace the index's YAML. When provided, pass the complete,
updated configuration (not just the changed parts); it is validated before being applied.
If validation fails and skip_validation_errors is False, it returns error messages. All other parameters are index settings that can be updated independently of the YAML: updated_index_name: rename the index.
description: new description.
max_allowed_batch_size: cap the number of files indexed per batch (1-500). Lower values
reduce the chance that heavy files exceed the queue timeout and get retried.
max_index_replica_count: maximum number of index replicas (1-10).
gpu_enabled: enable or disable GPU acceleration.
capture_traces: record an indexing trace for every file queued for this index.
instance_size: pod size used to index files ("small", "medium", "large", or "xl").
file_name_prefix_filter: prefix pattern (e.g. "myprefix*") selecting which files are
indexed. Can only be updated while the index is not deployed.
file_meta_filter: metadata conditions (field/operator/value, AND-combined) selecting
which files are indexed. Can only be updated while the index is not deployed.
:param index_name: Name of the index to update.
:param updated_index_name: Optional new name for the index.
:param yaml_configuration: Optional complete, updated YAML configuration for the index.
:param description: Optional new description.
:param max_allowed_batch_size: Optional per-pipeline cap on files indexed per batch (1-500).
:param max_index_replica_count: Optional max number of index replicas (1-10).
:param gpu_enabled: Optional toggle for GPU acceleration.
:param capture_traces: Optional toggle for recording an indexing trace per queued file.
:param instance_size: Optional pod size: "small", "medium", "large", or "xl".
:param file_name_prefix_filter: Optional file-name prefix pattern filter.
:param file_meta_filter: Optional metadata conditions filtering which files are indexed.
:param skip_validation_errors: If True (default), updates the index even if validation fails.
If False, stops update when validation fails.
:returns: Updated index or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
update_index(data={'key': 'value'}, threshold=10)
# Call with references
update_index(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
update_index(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| replay_sessionA | Replays one Session against a pipeline version into a new Session. Costs money. Experiment support, for when you need it: to reproduce or retry the replay of one test case
that failed or looks wrong, replay that test case's Session on the version the Experiment's side
uses. It is a paid pipeline run on the customer's models: say what it costs and get a yes first.
The replay is not linked to the Experiment, so the new Session is not added to it and changes none
of its results. To retry an Experiment's failed replays inside the Experiment, use
rerun_failed_experiment with rerun="replays". The source Session and the deployed pipeline
are untouched. FIRST_USER_MESSAGE replays the first turn only; ALL_USER_MESSAGES replays every turn of a chat in
order. Leave it unset to use the server's default (the first turn), and say so when reporting.
The run's session_id is the new Session; judge it with try_evaluator. If status is
still CREATED or STARTED the wait ran out: poll get_session_replay with its
session_replay_run_id. When it is FAILED, read error_detail and the logs. setup_source and cleanup_source are optional Python run around the pipeline in an isolated
worker. Setup must define exactly one public top-level function taking no arguments and returning a
mapping with optional env (dict[str, str]), inputs (dict[str, Any], keyed by the pipeline's
declared input names) and logs (list[str]); its env and inputs take precedence over the
Session's own. Cleanup runs even when the replay failed; it must define one public top-level function
taking the setup's return value (None without a setup) and returning a mapping with optional logs.
Helpers must be underscore-prefixed or imported. Omit either to skip that step.
:param pipeline_name: Name of the pipeline.
:param session_id: The Session to replay: a search_session_id, or a single-turn run's query_id.
:param pipeline_version_id: The pipeline version to replay against, e.g. the Experiment side's version.
:param replay_mode: FIRST_USER_MESSAGE or ALL_USER_MESSAGES; unset uses the server's default.
:param setup_source: Python source run before the pipeline; unset skips the step.
:param cleanup_source: Python source run after the pipeline; unset skips the step.
:param wait_seconds: How long to wait for the replay before handing back the run to poll.
:returns: The replay run, with the new Session's session_id, or an error message.
|
| list_deployment_revisionsA | Lists revisions of a deployment, i.e. the history of pipeline configurations it has served.
:param deployment_id: ID of the deployment.
:param after: The cursor to fetch the next page of results.
:returns: Paginated list of revisions or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_deployment_metricsB | Fetches per-replica CPU/memory usage, resource limits, and replica counts for a deployment.
:param deployment_id: ID of the deployment.
:param start_ms: Start of the time range, in unix milliseconds.
:param end_ms: End of the time range, in unix milliseconds.
:returns: Deployment metrics or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| validate_indexA | Validates the provided index YAML configuration against the deepset API.
:param yaml_configuration: The YAML configuration to validate.
:returns: Validation result with original YAML or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
validate_index(data={'key': 'value'}, threshold=10)
# Call with references
validate_index(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
validate_index(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| create_datasetA | Creates a Dataset, optionally with its first test cases. Replays nothing and costs nothing. Each test case is either a recorded Session (session_id, find them with list_sessions)
or inputs to send to the pipeline, never both. A Session needs pipeline_name, the
pipeline it was recorded on. A Session sent twice becomes one test case. Add more later with
add_test_cases. Then run it with create_experiment using the returned dataset_id.
:param name: What the Dataset is called.
:param pipeline_name: The pipeline the Sessions were recorded on; required when a test case has a session_id.
:param test_cases: The test cases to start with; none by default.
:returns: The created Dataset, or an error message. |
| create_experimentA | Creates an Experiment that compares a candidate pipeline version against a baseline. Both sides are scored by the same Metric Group over the test cases of one Dataset. The baseline
is either another pipeline version (give baseline_pipeline_name and
baseline_pipeline_version_id together) or Recorded (leave both unset): a Recorded baseline
reuses the Sessions each test case recorded, with nothing replayed. The candidate is always a
pipeline version that will be replayed on each test case. Creating costs money: it replays the pipeline on the customer's models, and then every Session
is judged by the Metric Group's Evaluators, which are billed when they use an LLM. Call it first
with preview=True: that starts nothing and returns, per side, how many Sessions are
reused_sessions and how many replays_needed, plus cells (Sessions times Evaluators)
against max_cells. Show that to the user and get a yes before creating for real.
sessions_per_test_case sets how many Sessions each side scores per test case
(1..50); existing Sessions on that version are reused and only the shortfall is replayed.
Set reuse_sessions=False to replay every Session instead of reusing any, for example after a
change outside the pipeline's configuration such as a secret; it costs more replays, so preview
it. A Recorded baseline still scores the Dataset's own Sessions. Find
ids with list_metric_groups (metric groups) and list_experiments (an existing
Experiment's dataset_id). Read the running or finished Experiment with
get_experiment_results; follow its progress with get_experiment.
:param name: Human-readable name for the Experiment.
:param dataset_id: The Dataset's id (the UI's Dataset dropdown).
:param metric_group_id: The Metric Group id to score both sides with.
:param candidate_pipeline_name: Name of the candidate pipeline.
:param candidate_pipeline_version_id: The candidate pipeline version to replay.
:param baseline_pipeline_name: Baseline pipeline name; omit for a Recorded baseline.
:param baseline_pipeline_version_id: Baseline version id; required when baseline_pipeline_name is given.
:param sessions_per_test_case: Repetitions per test case (1..50, default 1).
:param replay_mode: FIRST_USER_MESSAGE replays the first turn only; ALL_USER_MESSAGES replays every turn.
:param reuse_sessions: False replays every Session each side scores and reuses none (default True).
:param preview: True returns the plan (what would be reused and replayed) and creates nothing.
:returns: The created Experiment, or with preview the plan, or an error message. |
| get_pipeline_versionA | Fetches a specific version of a pipeline by its version ID.
:param pipeline_name: Name of the pipeline.
:param version_id: UUID of the version to fetch.
:returns: Pipeline version details or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| validate_pipelineB | Validates the provided pipeline YAML configuration against the deepset API.
:param yaml_configuration: The YAML configuration to validate.
:returns: Validation result with original YAML or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
validate_pipeline(data={'key': 'value'}, threshold=10)
# Call with references
validate_pipeline(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
validate_pipeline(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| sed_object_storeA | Find and replace text in a string stored in the object store using regex. Applies substitution (like sed s/pattern/replacement/) and stores the result
as a new object, returning its ID. The original object is not modified. :param object_id: The id of the object to modify in the format @obj_001.
:param pattern: Regular expression pattern to find.
:param replacement: Replacement string. Supports backreferences like \1, \2.
:param path: Navigation path to a nested string attribute (optional).
:param count: Maximum number of replacements (0 = replace all, default: 0).
:param case_sensitive: Whether the pattern match should be case sensitive (default: False).
:return: New object ID with the modified string and a preview of the result. |
| create_metric_groupA | Creates a Metric Group: a named, ordered set of Evaluators to score Sessions of any pipeline with. The group names Evaluators, not versions, so each run judges with their newest versions. Running
it costs money if an Evaluator is judged. Find Evaluator ids with list_evaluators. weights say how much each Metric counts toward the group's Composite, as
{evaluator_id, metric_key, weight} entries. weight is a number above 0 and relative: weights
are divided by their sum, so 2, 1, 1 count as 50%, 25%, 25%. Each Evaluator must be in the group,
each metric_key must be one its newest version declares with a Normalized mean (a Score
with both range and better, or a Label with a scale), and no pair may repeat; otherwise
hub-api rejects the request. Without weights a group has no Composite. A stored weight with
usable false and an unusable_reason means a newer Evaluator version dropped the Metric or
its normalization: it is kept but no longer counts in new runs.
:param name: The Metric Group's name.
:param evaluator_ids: The Evaluators to run, in the order results show them (at least one).
:param weights: Optional Metric weights, as described above.
:returns: The created Metric Group, or an error message.
|
| create_pipeline_versionA | Creates a new version of an existing pipeline with the provided YAML configuration. Use this to update a pipeline's configuration. Each call creates a new immutable version,
preserving the full history of changes. If is_draft is True, and there is already a draft version, the existing draft will be finalized and incremented to
a new version number.
:param pipeline_name: Name of the pipeline to create a version for.
:param yaml_configuration: The new YAML configuration for this version.
:param description: Optional description of what changed in this version.
:param is_draft: If True, the version is created as a draft (default: False).
:returns: The newly created pipeline version or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
create_pipeline_version(data={'key': 'value'}, threshold=10)
# Call with references
create_pipeline_version(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
create_pipeline_version(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| delete_datasetA | Deletes a Dataset and all its test cases. This cannot be undone: get a yes first. Experiments that used the Dataset keep their results but lose the link to it. hub-api refuses with a
message while something else still uses the Dataset; relay that message.
Afterwards every Experiment that used the Dataset can no longer change sides or rerun failed replays
(hub-api answers 409).
:param dataset_id: The Dataset's id.
:returns: A confirmation, or an error message. |
| list_deployment_activityB | Lists activation and revision activity for a deployment.
:param deployment_id: ID of the deployment.
:param after: The cursor to fetch the next page of results.
:returns: Paginated list of activity events or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_custom_componentsA | Get a list of all installed custom components.
:param haystack_version: Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's dependencies section for the haystack-ai package. :returns: ComponentDefinitionList model or error message string. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| search_pipeline_with_filtersB | Searches using a pipeline with filters. Uses the specified pipeline to perform a search with the given query and filters.
Filters follow the Haystack filter syntax: https://docs.haystack.deepset.ai/docs/metadata-filtering.
Before executing the search, checks if the pipeline is deployed (status = DEPLOYED).
Returns search results.
:param pipeline_name: Name of the pipeline to use for search.
:param query: The search query to execute.
:param filters: The filters to apply to the search. :returns: Search results or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_experiment_runA | Reads one scoring run: how its cells ended, a summary per Metric, then the grid rows. A scoring run is a Metric Group judging chosen Sessions of one pipeline. Find one with
list_metric_groups (last_run) or list_experiments (a side's scoring_runs).
It judges each chosen Session with each Evaluator; one cell per pair. counts says how
the cells ended: errored is the Evaluator's own code breaking (see the cell's
error_detail), not a low Metric; failed is a cell that never ran and can be retried.
metrics summarises each Evaluator's Metric over every row, rows past max_rows
included: mean, min and max for a Score, a count per label for a Label, and how often it did
not apply. Each row is a Session with its cells; a cell's metrics carry the value per
address (session, turn/2, ...) and the rationale the Evaluator wrote, which is what to
group failures by. run.selection says whether the Sessions were SAMPLED or HAND_PICKED;
only sampled runs say anything about traffic as a whole. composite is the Metric Group's
single number for the run, 0 to 1 with 1 best, from normalized_means (each Metric on that
scale) weighted by run.composite_weights, the formula the run started with. When it has
no value it says reason and lists the Metrics that block it in missing.
aggregate is the API's whole-run result per Metric: how its Sessions fell out (valued,
errored, failed, pending, ...), coverage and the Metric's mean or label
shares, in the units it declares; it is null until the run ends. usage is what the
pipeline spent on the run's Sessions (tokens, duration, cost in USD, null unless
cost_status is priced). evaluator_versions says which version of each Evaluator
judged and what its Metrics declare. The filters keep only the cells whose Session's origin,
Service or pipeline version match (a cell still running has no origin and matches none):
they narrow counts, rows and metrics, but not aggregate, usage,
normalized_means or composite, which stay whole-run.
:param pipeline_name: Name of the pipeline.
:param metric_group_id: The id of the Metric Group the run scored with.
:param run_id: The run's id.
:param max_rows: Most rows to return; the summaries still cover every row.
:param origin: Only cells whose Session came from a Service, the pipeline's own API, or the Playground.
:param deployment_id: Only cells whose Session this Service served.
:param pipeline_version_id: Only cells whose Session this pipeline version served.
:param session_id: Only this Session's row.
:returns: The run report, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| run_componentA | Run a Haystack component with the given parameters. This tool allows you to execute a Haystack component by providing its type
and initialization parameters, then passing input data to get results.
Use this to test components and see how they would work in your pipeline.
:param component_type: The type of component to run
(e.g., "haystack.components.builders.prompt_builder.PromptBuilder")
:param init_params: Initialization parameters for the component
:param input_data: Input data for the component
:param input_types: Optional type information for inputs (inferred if not provided). For custom types use the full
import path (e.g. haystack.dataclasses.document.Document for Document)
:param haystack_version: Optional version of Haystack to use for the component.
Pass the same version as specified in the pipeline yaml's dependencies section for the haystack-ai package. :returns: Dictionary containing the component's outputs or error message string All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
run_component(data={'key': 'value'}, threshold=10)
# Call with references
run_component(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
run_component(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| delete_deploymentA | Deletes a deployment along with all of its revisions. This cannot be undone.
:param deployment_id: ID of the deployment to delete.
:returns: Confirmation or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_evaluatorsA | Lists the Evaluators in the workspace. An Evaluator is a versioned Python function that judges a Session and reports named Metrics.
Each entry carries its newest version's id and the Metrics that version declares (name, shape,
grain and, for a closed Label, its vocabulary and, if it declares one, its scale; for a
Score, its range and better), but not the source. Evaluators belong to the workspace,
not to a pipeline; a Metric Group picks which ones a scoring run judges with. The API has no
paging: a result of exactly limit Evaluators may be cut off, and Evaluators past the 200 cap
are reachable only by splitting the list with archived.
:param limit: Most Evaluators to return (at most 200).
:param archived: true for only archived Evaluators, false for only the others; omit for both.
:returns: The Evaluators, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_component_familiesA | Lists all Haystack component families that are available on deepset.
:param haystack_version: Optional version of Haystack to use.
Pass the same version as specified in the pipeline yaml's dependencies section for the haystack-ai package. :returns: ComponentFamilyList model or error message string The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| delete_experimentA | Deletes an Experiment and its results. This cannot be undone: get a yes first. The Sessions it reused, its replays and its scoring runs are kept, so later Experiments can
reuse them.
:param experiment_id: The Experiment's id.
:returns: A confirmation, or an error message. |
| get_evaluation_tryA | Reads an ad-hoc try that try_evaluator handed back while it was still running. EXPIRED means the result aged out (tries are kept for an hour): run try_evaluator again.
:param pipeline_name: Name of the pipeline.
:param try_id: The try_id from try_evaluator.
:returns: The try report, or an error message. |
| update_experimentA | Renames an Experiment or changes its candidate or baseline. Changing a side costs money. Send only what changes. A changed side is planned again as on a new Experiment: Sessions that
already exist on it are reused, the rest are replayed, and it is judged again once they have
finished; its previous scoring run is stopped and the other side is left alone. Only renaming
costs nothing. Call it first with preview=True: that changes nothing and returns, for each
changed side, reused_sessions and replays_needed (a side left alone is null). Show that
to the user and get a yes before changing for real. Follow progress with get_experiment.
:param experiment_id: The Experiment's id.
:param name: A new name.
:param candidate_pipeline_name: Pipeline of the new candidate; give it with its version id.
:param candidate_pipeline_version_id: The new candidate version.
:param baseline_pipeline_name: Pipeline of the new baseline; give it with its version id.
:param baseline_pipeline_version_id: The new baseline version.
:param recorded_baseline: True makes the baseline the Dataset's recorded Sessions, with nothing replayed.
:param preview: True returns the plan and changes nothing.
:returns: The updated Experiment, or with preview the plan, or an error message. |
| create_evaluatorA | Creates an Evaluator from Python source and adds it to the workspace. Judged Metrics cost money when run. Always validate new code first: run it on a real Session with try_evaluator and fix what it
reports before saving. python_code is the Evaluation Function; its @metrics declaration
names the Metrics it reports, and hub-api rejects code whose declaration it cannot read. Start
from list_evaluator_templates rather than from scratch. The name must be unused in the
workspace. The Evaluator scores nothing until a Metric Group runs it: add it to existing groups
with metric_group_ids (each at the end of its set), to a new group with
new_metric_group_name, or later with update_metric_group. Change it later with
update_evaluator.
:param name: The Evaluator's name; must not exist in the workspace yet.
:param python_code: The Evaluation Function's Python source.
:param metric_group_ids: Existing Metric Groups to add it to.
:param new_metric_group_name: Also creates a Metric Group of this name holding only this Evaluator.
:returns: The created Evaluator, or an error message. |
| get_experimentA | Reads one Experiment: its test cases and how far each side has got. Free to call. Use it to follow an Experiment after create_experiment, update_experiment or a rerun,
and to see why a side failed. status and each side's status go REPLAYING, SCORING, then
ENDED or FAILED. Per side: run_counts (replays by status, failed ones can be replayed
again), scoring_counts (evaluations; failed and errored ones can be judged again),
error (why it could not be scored) and experiment_run_id (the scoring run, for
get_experiment_run). The Sessions each side scored are not included; they are per test case
in get_experiment_results. To retry what failed use rerun_failed_experiment; to see why one
replay failed, read it with get_session_replay (its id is on the Session's row in get_experiment_run).
:param experiment_id: The Experiment's id, from list_experiments.
:returns: The Experiment, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_experimentsA | Lists the workspace's Experiments, newest first. An Experiment compares a candidate pipeline version against a baseline on the test cases of one
Dataset: each side gets its Sessions (reused, or replayed against its version) and is scored by
the same Metric Group. The baseline is another version, or, when recorded, the Sessions the
Dataset recorded. status and each side's status go REPLAYING, SCORING, then ENDED or
FAILED; a side's error says why it failed and scoring_counts how its evaluations ended.
Read how the candidate did against the baseline with get_experiment_results. To read one
side's scoring run cell by cell, pass its scoring_runs[].experiment_run_id, that entry's
pipeline_id resolved to a name with list_pipelines, and the Experiment's
metric_group_id to get_experiment_run. The API has no paging: a result of exactly
limit Experiments may be cut off; raise limit (at most 200) or narrow with pipeline_name.
:param pipeline_name: Only Experiments with either side on this pipeline, when given.
:param limit: Most Experiments to return (at most 200).
:returns: The Experiments, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| remove_test_casesA | Removes test cases from a Dataset. Destructive: the removed test cases are gone, so get a yes first. Ids that are not in the Dataset are ignored.
:param dataset_id: The Dataset's id.
:param test_case_ids: The test cases to remove.
:returns: The Dataset with the test cases left, or an error message. |
| list_custom_component_installationsB | List custom component installations.
:param limit: Maximum number of installations to return per page.
:param after: The cursor to fetch the next page of results. :returns: Custom component installations or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| run_evaluatorA | Runs one Evaluator version on one Session and keeps the result. A judged Evaluator costs money. Unlike try_evaluator, which runs source you send and stores nothing, this runs a saved
Evaluator version and stores an Evaluation Run that shows in list_evaluation_runs and in the Metric's history
over time. Use it to judge one Session with
an Evaluator that already exists; to judge many Sessions with a Metric Group use
start_experiment_run. An Evaluator that judges with a model costs a model call per judged
turn on the customer's provider, so say so and get a yes first. Find the version id with
get_evaluator (latest_version or versions) and the Session with list_sessions. outcome ERRORED means the Evaluator's code broke: read error_detail. metrics are
the values per address with their rationales. If status is still CREATED or STARTED the
wait ran out: poll get_evaluation_run with the evaluation_run_id.
:param pipeline_name: Name of the pipeline the Session belongs to.
:param evaluator_version_id: The exact Evaluator version to run.
:param session_id: The Session to judge: a search_session_id, or a single-turn run's query_id.
:param wait_seconds: How long to wait for the result before handing back the id to poll.
:returns: The Evaluation Run, or an error message.
|
| list_deployment_tagsB | Lists distinct tag strings attached to deployments in the workspace. Useful for autocomplete when adding tags, or to see how deployments are currently grouped.
:param name: Case-insensitive substring filter on tag names.
:param order: Sort order for the returned tags, "ASC" or "DESC" (default "ASC").
:returns: List of distinct tag names or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_secretsA | Lists all secrets available in the user's deepset organization or in a specific workspace. Use this tool to retrieve a list of secrets with their names and IDs.
This is useful for getting an overview of all secrets before retrieving specific ones.
:param limit: Maximum number of secrets to return (default: 10)
:param after: The cursor to fetch the next page of results :returns: List of secrets or error message The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_doc_sectionsA | List the main sections of the deepset AI Platform documentation. Use this to understand what documentation is available and help users navigate
to the right section. Pass a section id to search_docs as section to limit
search results to that part of the docs. :returns: A list of documentation sections with descriptions and URLs. |
| deploy_indexA | Deploys an index to production. This function attempts to deploy the specified index in the given workspace.
If the deployment fails due to validation errors, it returns an object
describing the validation errors.
:param index_name: Name of the index to deploy. :returns: A string indicating the deployment result or the validation results including errors. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_pipeline_search_historyA | Retrieves search history for a specific pipeline with pagination. Returns past searches run with the given pipeline. Each entry includes the
search query (request.query), results (response), timing
(time/duration), status, user info, feedback, labels, and note. Use the after parameter with next_cursor from the response to
fetch the next page.
:param pipeline_name: Name of the pipeline to get search history for.
:param limit: Maximum number of entries to return per page (default 10, max 1000).
:param after: ISO-8601 timestamp cursor to fetch entries older than this point.
Pass the value from next_cursor on the previous response.
:param query_filter: An OData filter expression to narrow down results.
Supported fields: query, client_source_path, pipeline_version_id, answer,
api_key, created_at, created_by, tags/tag_id, feedbacks, feedbacks/score,
feedbacks/comment, feedbacks/bookmarked, session_id, search_session_id,
feedbacks/result_id, request/filters, request/params, duration, labels,
status, note.
Example: "created_at ge 2024-01-01T00:00:00Z" or "status eq 'failed'".
:param sort_field: Field to sort results by. One of: created_at, query,
duration, feedbacks/score. Defaults to created_at.
:param sort_order: Sort direction — ASC (oldest first) or DESC (newest first).
Defaults to DESC.
:returns: Paginated list of search history entries or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| add_test_casesA | Adds test cases to the end of a Dataset. Replays nothing and costs nothing. Each test case is either a recorded Session (session_id) or inputs, never both. A
Session needs pipeline_name. A Session the Dataset already holds is skipped. To reuse test
cases from another Dataset use copy_test_cases.
:param dataset_id: The Dataset's id.
:param test_cases: The test cases to add, in order.
:param pipeline_name: The pipeline the Sessions were recorded on; required when a test case has a session_id.
:returns: The Dataset with all its test cases, or an error message. |
| update_metric_groupA | Replaces a Metric Group's name and Evaluator set, and optionally its Metric weights. This is a full replace of name and Evaluators: send every Evaluator the group keeps, in order
(read them with list_metric_groups). Past runs are unaffected; each recorded the versions it
used, and a run's Composite keeps the weights it started with, so edits change only later runs.
Leave weights out to keep the stored weights of the Evaluators that stay (those of removed
Evaluators are dropped); send an empty list to clear them all, which removes the Composite. weights say how much each Metric counts toward the group's Composite, as
{evaluator_id, metric_key, weight} entries. weight is a number above 0 and relative: weights
are divided by their sum, so 2, 1, 1 count as 50%, 25%, 25%. Each Evaluator must be in the group,
each metric_key must be one its newest version declares with a Normalized mean (a Score
with both range and better, or a Label with a scale), and no pair may repeat; otherwise
hub-api rejects the request. Without weights a group has no Composite. A stored weight with
usable false and an unusable_reason means a newer Evaluator version dropped the Metric or
its normalization: it is kept but no longer counts in new runs.
:param metric_group_id: The Metric Group's id.
:param name: The name to keep or change to.
:param evaluator_ids: Every Evaluator the group keeps, in order (at least one).
:param weights: Replaces the stored weights; None keeps them, [] clears them.
:returns: The Metric Group, or an error message.
|
| yq_object_storeA | Query or transform structured data stored in the object store using a jq filter expression. Use this to filter, map, select, or rewrite nested data without pulling the whole object into
context, e.g. {"object_id": "@obj_001", "filter": ".items[] | select(.active) | .name"}.
Transforming filters work the same way, e.g. .config.timeout = 30. If the targeted value is a JSON or YAML string (e.g. a pipeline's YAML config), it is parsed before
the filter runs so you can navigate into its fields; a transformed result is re-serialized back to
that same format. By default, the result is stored as a new object and returned with a preview, so you can reference
it further (e.g. get_from_object_store) or feed it back into another yq_object_store call. Set
store=False if you just want the full result inline and don't need it stored, e.g. for a small
lookup you'll act on immediately. :param object_id: The id of the object to query in the format @obj_001.
:param filter: jq filter expression to apply, e.g. .field, .items[], .[] | select(.status=="done"),
or a transformation like .field = "value".
:param path: Navigation path to a nested attribute to query instead of the whole object (optional).
:param store: Whether to store the result as a new object (default: True). Set to False to get the
full result inline instead of a preview, without writing anything to the object store.
:return: New object ID and a preview of the result, the full result if store is False, or a message
if the filter is invalid or produced no results. |
| get_evaluation_runA | Reads one Evaluation Run: its progress, or what the Evaluator found once it ended. Use it to follow a run run_evaluator handed back while still going. status ENDED with
outcome SUCCEEDED has metrics; ERRORED means the Evaluator's code broke (see
error_detail); FAILED never completed and can be run again.
:param pipeline_name: Name of the pipeline.
:param evaluation_run_id: The evaluation_run_id from run_evaluator or list_evaluation_runs.
:returns: The Evaluation Run, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_cost_breakdownA | Reads the LLM cost of the workspace, or of one pipeline, grouped by model, pipeline, Service or API key. Use this to find what drove the cost: which models, pipelines, Services or API keys spent the most.
Costs are in USD. Results are sorted by cost, highest first, unless you set sort_by and sort_order.
Each entry has a key (a model or provider name, or a UUID for the other dimensions) and a readable
label. A deleted pipeline still shows up with group_by='pipeline', labelled with its UUID.
total is the number of groups across all pages; when has_more is true, read the next
page_number. total_requests counts queries, not individual LLM calls. A cost_total of null
means the group had usage but none of it was priced. Without dates the range is the last 30 days. A Service (group_by='deployment') is a published Service endpoint; a deployed pipeline is a pipeline
(group_by='pipeline'). The two overlap: a query through a Service that runs a pipeline counts in both,
so never add Service groups and pipeline groups together. Usage that did not go through a Service shows up
as __unattributed__ under group_by='deployment'. Without workspace the figures cover the whole organization, as the Cost Management page does for an
organization admin; this needs the organization admin role. Use workspace for one workspace. In that
organization view pipeline_name and Service names can't be used (they belong to a workspace); pass
Service ids instead. Narrow the breakdown with services, providers and api_keys, for example the models of one
Service. They combine: usage must match every kind you set, and any one value within a list.
:param group_by: The dimension to group by: model, workspace, pipeline, deployment (a Service), api_key or
provider.
:param pipeline_name: Restrict to this pipeline. Omit for the whole workspace. Needs Pipelines read as well as
Costs read.
:param start_date: Inclusive start as an ISO timestamp. Defaults to 30 days before end_date.
:param end_date: Exclusive end as an ISO timestamp. Defaults to no upper bound.
:param sort_by: Sort by label, cost_total, total_tokens or total_requests. Defaults to cost_total.
:param sort_order: ASC or DESC. Defaults to DESC.
:param limit: Groups per page, from 1 to 100.
:param page_number: The page to read, starting at 1.
:param services: Restrict to these Services (deployment in the API; a published Service endpoint, not a
deployed pipeline, which is a pipeline). Each value is a Service name or its id, the key from
get_cost_breakdown with group_by='deployment'. Looking a Service up by name needs Services read as
well as Costs read; an id needs only Costs read.
:param providers: Restrict to these providers. Use the provider ids from get_cost_breakdown with
group_by='provider', such as bedrock_converse or openai, not their display names.
:param api_keys: Restrict to these API keys. Use the key ids from get_cost_breakdown with
group_by='api_key', never a key's secret token.
:returns: One page of the breakdown, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_session_replayA | Reads one replay run. Free to call. Experiment support, for when you need it: to see why an Experiment's replay failed or looks wrong,
read its run. Get the id from a row's session_replay_run_id in get_experiment_run (the row
is the Session the replay produced), or from replay_session. The run has status (CREATED,
STARTED, ENDED or FAILED), error_detail when it failed, setup_logs and cleanup_logs from
the setup and cleanup steps, session_id (the new Session the replay produced), source_session_id
(the Session it replayed), test_case_id (the Dataset test case it was for, if any), and the
trace_ids it produced. Only a FAILED run is retryable, with rerun_failed_experiment
(rerun="replays").
:param pipeline_name: Name of the pipeline.
:param replay_run_id: The replay run's session_replay_run_id.
:returns: The replay run, or an error message. |
| load_skillA | Loads the full content of a bundled skill guide by name. Use this tool to read the step-by-step instructions for a specific skill supported by this server. Available skills:
- custom-code: Use this skill whenever writing, generating, reviewing, or fixing a Haystack custom component (deepset_cloud_custom_nodes.code.code_component.Code) or custom tool (deepset_cloud_custom_nodes.tools.code_tool.CodeTool) for the deepset/Haystack enterprise platform. Triggers include requests to create a custom component, a custom tool, to check custom code against the platform's structural constraints (single class/function per file, required decorators, type annotations, allowed dependencies), or to extend the existing pipeline for functionality that is not already covered by existing components. :param skill_name: The name of the skill to load (see the list above).
:returns: The skill's markdown content, or an error message listing available skills if not found. |
| get_latest_custom_component_installation_logsB | Get the logs from the latest custom component installation. :returns: The latest installation logs or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_pipeline_traceA | Retrieves the Haystack pipeline run trace including all spans for a single search history record. Returns the execution trace for one query: every
component span with essential tags (excluding the component's input and output),
timing, and failure details. Use this to deep-dive into a
specific query run identified by its query_id (obtainable from
list_pipeline_traces or list_pipeline_search_history). For a targeted look at one span including the input and output at one component, use
get_pipeline_trace_span_tags; for the logs, use get_pipeline_trace_logs.
:param pipeline_name: Name of the pipeline.
:param query_id: UUID of the search history query whose trace to retrieve.
Obtain this from the query_id / search_history_id field of a
list_pipeline_traces or list_pipeline_search_history response.
:returns: The pipeline trace entry including all spans or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_evaluation_runsA | Lists a pipeline's Evaluation Runs, newest first: one Evaluator version judging one Session each. Includes the runs behind a scoring run's cells and the ones run_evaluator made. Each has its
session_id, evaluator_version_id, outcome and metrics. Read one with
get_evaluation_run.
:param pipeline_name: Name of the pipeline.
:param limit: Most runs to return (at most 200). The API has no further paging: a result of exactly
this many may be cut off.
:returns: The runs, or an error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| activate_deploymentB | Re-activates a deployment's current active revision, marking it as desired to be served. Use this to bring a deactivated deployment back online without pushing a new revision.
:param deployment_id: ID of the deployment.
:returns: The updated deployment or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| get_secretA | Retrieves detailed information about a specific secret by its ID. Use this tool to get information about a specific secret when you know its ID.
The secret value itself is not returned for security reasons, only metadata.
:param secret_id: The unique identifier of the secret to retrieve :returns: Secret information or error message The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| list_workspacesB | Retrieves a list of all workspaces available to the user. This tool provides an overview of all workspaces that the user has access to.
Each workspace contains information about its name, ID, supported languages,
and default idle timeout settings.
:returns: List of workspaces or error message. The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| restore_pipeline_versionC | Restores a non-draft pipeline version to be editable as a new draft. The previous draft (if any) is finalized, getting an incremented version number.
:param pipeline_name: Name of the pipeline to restore.
:param version_id: UUID of the version to restore.
:returns: The restored pipeline version or error message. All parameters accept object references in the form @obj_id or @obj_id.path.to.value. Examples:: # Direct call with values
restore_pipeline_version(data={'key': 'value'}, threshold=10)
# Call with references
restore_pipeline_version(data='@obj_123', threshold='@obj_456.config.threshold')
# Mixed call
restore_pipeline_version(data='@obj_123.items', threshold=10)The output is automatically stored and can be referenced in other functions.
Returns a formatted preview with an object ID (e.g., @obj_123).
Use the object store tools in combination with the object ID to view nested properties of the object.
Use the returned object ID to pass this result to other functions. |
| set_evaluator_archivedA | Archives or unarchives an Evaluator. Nothing is deleted. An archived Evaluator keeps its versions and name, and its Metric Groups still score with it; it
only shows an archived_at time. Use it to retire an Evaluator without breaking history.
:param evaluator_id: The Evaluator's id.
:param archived: True to archive it, False to unarchive it.
:returns: The Evaluator, or an error message. |