Spaces:
Sleeping
Sleeping
Final Agent form
Browse files- app.py +8 -0
- mini_agents.py +4 -2
- prompts/prompts.yaml +2 -2
app.py
CHANGED
|
@@ -102,6 +102,14 @@ class BasicAgent:
|
|
| 102 |
new_rows.append(new_row)
|
| 103 |
|
| 104 |
# Append all new rows at once
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
if new_rows:
|
| 106 |
df_agent_steps = pd.concat([df_agent_steps, pd.DataFrame(new_rows)], ignore_index=True)
|
| 107 |
|
|
|
|
| 102 |
new_rows.append(new_row)
|
| 103 |
|
| 104 |
# Append all new rows at once
|
| 105 |
+
final_row = {
|
| 106 |
+
'task_id': task_id,
|
| 107 |
+
'step_class': 'FinalAnswerStep',
|
| 108 |
+
'model_input_messages': [question],
|
| 109 |
+
'model_output_message': fixed_answer,
|
| 110 |
+
'model_output': fixed_answer,
|
| 111 |
+
}
|
| 112 |
+
new_rows.append(final_row)
|
| 113 |
if new_rows:
|
| 114 |
df_agent_steps = pd.concat([df_agent_steps, pd.DataFrame(new_rows)], ignore_index=True)
|
| 115 |
|
mini_agents.py
CHANGED
|
@@ -99,6 +99,7 @@ arithmetic_agent = CodeAgent(
|
|
| 99 |
model=arithmetic_model,
|
| 100 |
tools=[operate_two_numbers, convert_number],
|
| 101 |
max_steps=4,
|
|
|
|
| 102 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 103 |
name="arithmetic_agent",
|
| 104 |
description="This agent is responsible for performing arithmetic operations on two numbers."
|
|
@@ -114,6 +115,7 @@ pandas_agent = CodeAgent(
|
|
| 114 |
model=pandas_model,
|
| 115 |
tools=[load_dataframe_from_csv, load_dataframe_from_excel, to_dataframe, to_json, get_dataframe_data, get_dataframe_column, get_dataframe_row, get_dataframe_groupby],
|
| 116 |
max_steps=4,
|
|
|
|
| 117 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 118 |
name="pandas_agent",
|
| 119 |
description="This agent is responsible for converting data to a dataframe, performing pandas operations on such dataframe and converting the dataframe back to a json or a csv file."
|
|
@@ -167,10 +169,10 @@ class MasterAgentWrapper:
|
|
| 167 |
managed_agents=[audio_agent, vlm_agent, arithmetic_agent, pandas_agent],
|
| 168 |
tools=self.base_tools, # Initialize without browser tools
|
| 169 |
add_base_tools=False,
|
| 170 |
-
max_steps=
|
| 171 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 172 |
verbosity_level=logging.INFO,
|
| 173 |
-
planning_interval=
|
| 174 |
prompt_templates=PROMPT_TEMPLATE["master_agent"],
|
| 175 |
name="master_agent",
|
| 176 |
description="This agent is responsible for managing audio, vlm, arithmetic and pandas agents."
|
|
|
|
| 99 |
model=arithmetic_model,
|
| 100 |
tools=[operate_two_numbers, convert_number],
|
| 101 |
max_steps=4,
|
| 102 |
+
planning_interval=4,
|
| 103 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 104 |
name="arithmetic_agent",
|
| 105 |
description="This agent is responsible for performing arithmetic operations on two numbers."
|
|
|
|
| 115 |
model=pandas_model,
|
| 116 |
tools=[load_dataframe_from_csv, load_dataframe_from_excel, to_dataframe, to_json, get_dataframe_data, get_dataframe_column, get_dataframe_row, get_dataframe_groupby],
|
| 117 |
max_steps=4,
|
| 118 |
+
planning_interval=4,
|
| 119 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 120 |
name="pandas_agent",
|
| 121 |
description="This agent is responsible for converting data to a dataframe, performing pandas operations on such dataframe and converting the dataframe back to a json or a csv file."
|
|
|
|
| 169 |
managed_agents=[audio_agent, vlm_agent, arithmetic_agent, pandas_agent],
|
| 170 |
tools=self.base_tools, # Initialize without browser tools
|
| 171 |
add_base_tools=False,
|
| 172 |
+
max_steps=17, #One final plan step, 16 intermediate steps
|
| 173 |
additional_authorized_imports=AUTHORIZED_IMPORTS,
|
| 174 |
verbosity_level=logging.INFO,
|
| 175 |
+
planning_interval=4,
|
| 176 |
prompt_templates=PROMPT_TEMPLATE["master_agent"],
|
| 177 |
name="master_agent",
|
| 178 |
description="This agent is responsible for managing audio, vlm, arithmetic and pandas agents."
|
prompts/prompts.yaml
CHANGED
|
@@ -23,8 +23,8 @@ system_prompt: |-
|
|
| 23 |
All information in the 'Observation:' sequence will be available as input for the next step.
|
| 24 |
In the end you have to return a final answer using the `final_answer` tool.
|
| 25 |
|
| 26 |
-
It is advised to have at least
|
| 27 |
-
It is
|
| 28 |
|
| 29 |
You are also given access to a list of tools: these tools are basically Python functions which you can call with code.
|
| 30 |
Here are a few examples using notional tools:
|
|
|
|
| 23 |
All information in the 'Observation:' sequence will be available as input for the next step.
|
| 24 |
In the end you have to return a final answer using the `final_answer` tool.
|
| 25 |
|
| 26 |
+
It is advised to have at least 3 steps in your plan. One or two steps is not sufficient.
|
| 27 |
+
It is advised to double check your answer before calling the `final_answer` tool.
|
| 28 |
|
| 29 |
You are also given access to a list of tools: these tools are basically Python functions which you can call with code.
|
| 30 |
Here are a few examples using notional tools:
|