Configuring the Zeta Alpha Orchestrator agent
This tutorial explains the Zeta Alpha Orchestrator agent and how you can configure it for your tenant or usecase based on your needs.
Prerequisites
- Admin access to the Zeta Alpha platform UI.
Overview
The orchestrator is a built-in Zeta Alpha agent that can be configured in its bot_configuration with specific tools and instructions in order to be customized for a specific usecase. You can then make the agent available to the tenant, as explained in the previous section of Configuring Agents.
The bot_configuration parameters of the orchestrator agent are shown below:
tools: a list of objects defining the tools that are available to the orchestratorinstructions: custom instructions placed in the system prompt, used to steer the behavior of the orchestratorplatform_description: a description related to the specific tenant on which the agent operates on.
As an example, below you can see the bot_configuration of an orchestrator instance that is configured to work with the documents indexed to Zeta Alpha to which the user has access to, and is prompted to answer in a specific format.
{
"bot_configuration": {
"platform_description": "Tenant Foo is a market leader in software services",
"instructions": "Answer with a brief and concise summary at the beginning, followed by a section with more details related to your answer",
"tools": [
{
"enabled": true,
"description": "Search in the whole internal index for relevant context.",
"display_name": "Internal search",
"agent_tool_name": "search_context_in_internal_index"
}
]
}
}
Instructions
Use the bot_configuration.instructions field to customize the behavior of the orchestrator agent with specific instructions. This text is used to enhance the built-in system prompt of the Zeta Alpha orchestrator with custom instructions.
Tools
You can enable one tool (e.g. search_context_in_internal_index) by adding a corresponding entry inside the bot_configuration.tools, e.g.
{
"enabled": true,
"agent_tool_name": "search_context_in_internal_index"
}
You can also add the fields description, display_name in a tool configuration which overrides the built-in description of the tool. An example is the following:
{
"enabled": true,
"description": "Read or search inside the provided document. Always pass the document id to this tool call.",
"display_name": "Search in the documents",
"agent_tool_name": "search_context_in_internal_index"
}
The following tools can be enabled based on your needs.
Search tools
-
search_context_in_internal_index: Search in the internal index for relevant context. -
search_context_in_private_documents: Search in the user’s private documents for relevant context. -
search_context_from_image_in_internal_index: Search for documents related to an image by providing an image ID and a query. -
search_web: Search the web for relevant context. -
search_academic: Search public academic literature and papers.
Document access
To use these tools, you should also add the following parameter inside bot_configuration:
"collection_tools_config": {
"fe_base_url": "https://{tenant}-search.{domain url}"
}
-
locate_document: Locate a document when the user mentions a title, filename, or URL (supports fuzzy matching). -
read_document: Read the full content of a document using its document ID.
Document organization tools
To use these tools, you should also add the following parameter inside bot_configuration:
"organizing_tools_config": {
"fe_base_url": "https://{tenant}-search.{domain url}"
}
-
list_user_tags: List all tags the user has access to, including metadata. -
list_documents_in_tag: List documents inside a specific tag with pagination support.
Data Analysis tools (Tabular files – CSV/Excel)
To use these tools, verify that a dataframe_tabular_agent is already configured in the tenant settings under the chat_bot_setups.
-
load_dataframe: Load a CSV or Excel document from a document ID into a named DataFrame. -
get_dataframe_schema: Get column names, data types, and sample values from a DataFrame. -
preview_dataframe: Preview sample rows from a DataFrame. -
read_dataframe: Read rows from a DataFrame with extended options. -
count_dataframe_rows: Count the number of rows in a DataFrame. -
get_column_values: Retrieve all or distinct values from a column. -
get_column_statistics: Get statistics such as mean, median, standard deviation, min, max, and count for numeric columns. -
get_missing_value_counts: Count missing values (NaN, None, NaT) in specified columns. -
filter_dataframe_rows: Extract rows matching specific conditions. -
sort_dataframe_rows: Sort DataFrame rows by column and order. -
aggregate_column: Aggregate a numeric column, optionally grouped by another column. -
merge_dataframes: Merge two DataFrames using SQL-style joins (inner, left, right, outer). -
concatenate_dataframes: Concatenate multiple DataFrames by rows or columns.
Deep Research
handoff_to_research_agent: Conduct in-depth research across multiple sources and generate a detailed research report. This should be used along with thebot_configuration.confirm_research_request_with_userparameter set totrue, in order to allow the agent to propose a plan for the research report to the user before triggering it.