pulkitme
commited on
Commit
·
dddddce
1
Parent(s):
2a23dee
simple smolagent with duck duck go search tool and youtube transcription tool
Browse files- app.py +1 -1
- test.ipynb +252 -0
app.py
CHANGED
|
@@ -10,7 +10,7 @@ from langchain_community.document_loaders import YoutubeLoader
|
|
| 10 |
|
| 11 |
|
| 12 |
#client = genai.Client(api_key=os.getenv("API_KEY"))
|
| 13 |
-
model = LiteLLMModel(model_id="gemini/gemini-2.0-flash-
|
| 14 |
api_key=os.getenv("API_KEY"))
|
| 15 |
# (Keep Constants as is)
|
| 16 |
# --- Constants ---
|
|
|
|
| 10 |
|
| 11 |
|
| 12 |
#client = genai.Client(api_key=os.getenv("API_KEY"))
|
| 13 |
+
model = LiteLLMModel(model_id="gemini/gemini-2.0-flash-lite",
|
| 14 |
api_key=os.getenv("API_KEY"))
|
| 15 |
# (Keep Constants as is)
|
| 16 |
# --- Constants ---
|
test.ipynb
CHANGED
|
@@ -363,6 +363,258 @@
|
|
| 363 |
"What does Teal'c say in response to the question \"\"Isn't that hot?\"\"\")"
|
| 364 |
]
|
| 365 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
{
|
| 367 |
"cell_type": "code",
|
| 368 |
"execution_count": null,
|
|
|
|
| 363 |
"What does Teal'c say in response to the question \"\"Isn't that hot?\"\"\")"
|
| 364 |
]
|
| 365 |
},
|
| 366 |
+
{
|
| 367 |
+
"cell_type": "code",
|
| 368 |
+
"execution_count": 12,
|
| 369 |
+
"metadata": {},
|
| 370 |
+
"outputs": [
|
| 371 |
+
{
|
| 372 |
+
"name": "stdout",
|
| 373 |
+
"output_type": "stream",
|
| 374 |
+
"text": [
|
| 375 |
+
"\u001b[1;31mInit signature:\u001b[0m\n",
|
| 376 |
+
"\u001b[0mCodeAgent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 377 |
+
"\u001b[0m \u001b[0mtools\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0msmolagents\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtools\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTool\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 378 |
+
"\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mCallable\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msmolagents\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mChatMessage\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 379 |
+
"\u001b[0m \u001b[0mprompt_templates\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0msmolagents\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0magents\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPromptTemplates\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 380 |
+
"\u001b[0m \u001b[0mgrammar\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 381 |
+
"\u001b[0m \u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 382 |
+
"\u001b[0m \u001b[0mplanning_interval\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 383 |
+
"\u001b[0m \u001b[0mexecutor_type\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstr\u001b[0m \u001b[1;33m|\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'local'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 384 |
+
"\u001b[0m \u001b[0mexecutor_kwargs\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 385 |
+
"\u001b[0m \u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 386 |
+
"\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 387 |
+
"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
| 388 |
+
"\u001b[1;31mSource:\u001b[0m \n",
|
| 389 |
+
"\u001b[1;32mclass\u001b[0m \u001b[0mCodeAgent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMultiStepAgent\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 390 |
+
"\u001b[0m \u001b[1;34m\"\"\"\n",
|
| 391 |
+
" In this agent, the tool calls will be formulated by the LLM in code format, then parsed and executed.\n",
|
| 392 |
+
"\n",
|
| 393 |
+
" Args:\n",
|
| 394 |
+
" tools (`list[Tool]`): [`Tool`]s that the agent can use.\n",
|
| 395 |
+
" model (`Callable[[list[dict[str, str]]], ChatMessage]`): Model that will generate the agent's actions.\n",
|
| 396 |
+
" prompt_templates ([`~agents.PromptTemplates`], *optional*): Prompt templates.\n",
|
| 397 |
+
" grammar (`dict[str, str]`, *optional*): Grammar used to parse the LLM output.\n",
|
| 398 |
+
" additional_authorized_imports (`list[str]`, *optional*): Additional authorized imports for the agent.\n",
|
| 399 |
+
" planning_interval (`int`, *optional*): Interval at which the agent will run a planning step.\n",
|
| 400 |
+
" executor_type (`str`, default `\"local\"`): Which executor type to use between `\"local\"`, `\"e2b\"`, or `\"docker\"`.\n",
|
| 401 |
+
" executor_kwargs (`dict`, *optional*): Additional arguments to pass to initialize the executor.\n",
|
| 402 |
+
" max_print_outputs_length (`int`, *optional*): Maximum length of the print outputs.\n",
|
| 403 |
+
" **kwargs: Additional keyword arguments.\n",
|
| 404 |
+
"\n",
|
| 405 |
+
" \"\"\"\u001b[0m\u001b[1;33m\n",
|
| 406 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 407 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 408 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 409 |
+
"\u001b[0m \u001b[0mtools\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mTool\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 410 |
+
"\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mCallable\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mChatMessage\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 411 |
+
"\u001b[0m \u001b[0mprompt_templates\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mPromptTemplates\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 412 |
+
"\u001b[0m \u001b[0mgrammar\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 413 |
+
"\u001b[0m \u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mList\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 414 |
+
"\u001b[0m \u001b[0mplanning_interval\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 415 |
+
"\u001b[0m \u001b[0mexecutor_type\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstr\u001b[0m \u001b[1;33m|\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"local\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 416 |
+
"\u001b[0m \u001b[0mexecutor_kwargs\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mDict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 417 |
+
"\u001b[0m \u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mOptional\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 418 |
+
"\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 419 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 420 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madditional_authorized_imports\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0madditional_authorized_imports\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 421 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mauthorized_imports\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msorted\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mBASE_BUILTIN_MODULES\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m|\u001b[0m \u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 422 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmax_print_outputs_length\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m\n",
|
| 423 |
+
"\u001b[0m \u001b[0mprompt_templates\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprompt_templates\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0myaml\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msafe_load\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 424 |
+
"\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mresources\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfiles\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"smolagents.prompts\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoinpath\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"code_agent.yaml\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_text\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 425 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 426 |
+
"\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 427 |
+
"\u001b[0m \u001b[0mtools\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtools\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 428 |
+
"\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 429 |
+
"\u001b[0m \u001b[0mprompt_templates\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mprompt_templates\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 430 |
+
"\u001b[0m \u001b[0mgrammar\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mgrammar\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 431 |
+
"\u001b[0m \u001b[0mplanning_interval\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mplanning_interval\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 432 |
+
"\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 433 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 434 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;34m\"*\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 435 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 436 |
+
"\u001b[0m \u001b[1;34m\"Caution: you set an authorization for all imports, meaning your agent can decide to import any package it deems necessary. This might raise issues if the package is not installed in your environment.\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 437 |
+
"\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 438 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 439 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_type\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mexecutor_type\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;34m\"local\"\u001b[0m\u001b[1;33m\n",
|
| 440 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_kwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mexecutor_kwargs\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\n",
|
| 441 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython_executor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcreate_python_executor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 442 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 443 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mcreate_python_executor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mPythonExecutor\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 444 |
+
"\u001b[0m \u001b[0mmatch\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_type\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 445 |
+
"\u001b[0m \u001b[0mcase\u001b[0m \u001b[1;34m\"e2b\"\u001b[0m \u001b[1;33m|\u001b[0m \u001b[1;34m\"docker\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 446 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmanaged_agents\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 447 |
+
"\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mException\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Managed agents are not yet supported with remote code execution.\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 448 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_type\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"e2b\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 449 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mE2BExecutor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 450 |
+
"\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 451 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mDockerExecutor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 452 |
+
"\u001b[0m \u001b[0mcase\u001b[0m \u001b[1;34m\"local\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 453 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mLocalPythonExecutor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 454 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madditional_authorized_imports\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 455 |
+
"\u001b[0m \u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 456 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 457 |
+
"\u001b[0m \u001b[0mcase\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m# if applicable\u001b[0m\u001b[1;33m\n",
|
| 458 |
+
"\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33mf\"\u001b[0m\u001b[1;33mUnsupported executor type: \u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_type\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 459 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 460 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0minitialize_system_prompt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 461 |
+
"\u001b[0m \u001b[0msystem_prompt\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpopulate_template\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 462 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprompt_templates\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"system_prompt\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 463 |
+
"\u001b[0m \u001b[0mvariables\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;33m\n",
|
| 464 |
+
"\u001b[0m \u001b[1;34m\"tools\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtools\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 465 |
+
"\u001b[0m \u001b[1;34m\"managed_agents\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmanaged_agents\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 466 |
+
"\u001b[0m \u001b[1;34m\"authorized_imports\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 467 |
+
"\u001b[0m \u001b[1;34m\"You can import from any package you want.\"\u001b[0m\u001b[1;33m\n",
|
| 468 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;34m\"*\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mauthorized_imports\u001b[0m\u001b[1;33m\n",
|
| 469 |
+
"\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mauthorized_imports\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 470 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 471 |
+
"\u001b[0m \u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 472 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 473 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0msystem_prompt\u001b[0m\u001b[1;33m\n",
|
| 474 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 475 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mstep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mActionStep\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mUnion\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 476 |
+
"\u001b[0m \u001b[1;34m\"\"\"\n",
|
| 477 |
+
" Perform one step in the ReAct framework: the agent thinks, acts, and observes the result.\n",
|
| 478 |
+
" Returns None if the step is not final.\n",
|
| 479 |
+
" \"\"\"\u001b[0m\u001b[1;33m\n",
|
| 480 |
+
"\u001b[0m \u001b[0mmemory_messages\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite_memory_to_messages\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 481 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 482 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minput_messages\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmemory_messages\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 483 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 484 |
+
"\u001b[0m \u001b[1;31m# Add new step in logs\u001b[0m\u001b[1;33m\n",
|
| 485 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodel_input_messages\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmemory_messages\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 486 |
+
"\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 487 |
+
"\u001b[0m \u001b[0madditional_args\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m\"grammar\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgrammar\u001b[0m\u001b[1;33m}\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgrammar\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\n",
|
| 488 |
+
"\u001b[0m \u001b[0mchat_message\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mChatMessage\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 489 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minput_messages\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 490 |
+
"\u001b[0m \u001b[0mstop_sequences\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"<end_code>\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"Observation:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"Calling tools:\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 491 |
+
"\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0madditional_args\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 492 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 493 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodel_output_message\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mchat_message\u001b[0m\u001b[1;33m\n",
|
| 494 |
+
"\u001b[0m \u001b[0mmodel_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mchat_message\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcontent\u001b[0m\u001b[1;33m\n",
|
| 495 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 496 |
+
"\u001b[0m \u001b[1;31m# This adds <end_code> sequence to the history.\u001b[0m\u001b[1;33m\n",
|
| 497 |
+
"\u001b[0m \u001b[1;31m# This will nudge ulterior LLM calls to finish with <end_code>, thus efficiently stopping generation.\u001b[0m\u001b[1;33m\n",
|
| 498 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmodel_output\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mmodel_output\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mendswith\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"```\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 499 |
+
"\u001b[0m \u001b[0mmodel_output\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;34m\"<end_code>\"\u001b[0m\u001b[1;33m\n",
|
| 500 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodel_output_message\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcontent\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel_output\u001b[0m\u001b[1;33m\n",
|
| 501 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 502 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodel_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel_output\u001b[0m\u001b[1;33m\n",
|
| 503 |
+
"\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 504 |
+
"\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mAgentGenerationError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33mf\"\u001b[0m\u001b[1;33mError in generating model output:\\n\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m\n",
|
| 505 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 506 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog_markdown\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 507 |
+
"\u001b[0m \u001b[0mcontent\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmodel_output\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 508 |
+
"\u001b[0m \u001b[0mtitle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"Output message of the LLM:\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 509 |
+
"\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLogLevel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDEBUG\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 510 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 511 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 512 |
+
"\u001b[0m \u001b[1;31m# Parse\u001b[0m\u001b[1;33m\n",
|
| 513 |
+
"\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 514 |
+
"\u001b[0m \u001b[0mcode_action\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfix_final_answer_code\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparse_code_blobs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel_output\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 515 |
+
"\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 516 |
+
"\u001b[0m \u001b[0merror_msg\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33mf\"\u001b[0m\u001b[1;33mError in code parsing:\\n\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\\nMake sure to provide correct code blobs.\u001b[0m\u001b[1;33m\"\u001b[0m\u001b[1;33m\n",
|
| 517 |
+
"\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mAgentParsingError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0merror_msg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 518 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 519 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtool_calls\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m\n",
|
| 520 |
+
"\u001b[0m \u001b[0mToolCall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 521 |
+
"\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"python_interpreter\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 522 |
+
"\u001b[0m \u001b[0marguments\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcode_action\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 523 |
+
"\u001b[0m \u001b[0mid\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33mf\"\u001b[0m\u001b[1;33mcall_\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmemory\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msteps\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 524 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 525 |
+
"\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 526 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 527 |
+
"\u001b[0m \u001b[1;31m# Execute\u001b[0m\u001b[1;33m\n",
|
| 528 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog_code\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"Executing parsed code:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcontent\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcode_action\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLogLevel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mINFO\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 529 |
+
"\u001b[0m \u001b[0mis_final_answer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\n",
|
| 530 |
+
"\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 531 |
+
"\u001b[0m \u001b[0moutput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexecution_logs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mis_final_answer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython_executor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcode_action\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 532 |
+
"\u001b[0m \u001b[0mexecution_outputs_console\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 533 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexecution_logs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 534 |
+
"\u001b[0m \u001b[0mexecution_outputs_console\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m\n",
|
| 535 |
+
"\u001b[0m \u001b[0mText\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Execution logs:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstyle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"bold\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 536 |
+
"\u001b[0m \u001b[0mText\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexecution_logs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 537 |
+
"\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 538 |
+
"\u001b[0m \u001b[0mobservation\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"Execution logs:\\n\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mexecution_logs\u001b[0m\u001b[1;33m\n",
|
| 539 |
+
"\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 540 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython_executor\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"state\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;34m\"_print_outputs\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython_executor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 541 |
+
"\u001b[0m \u001b[0mexecution_logs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython_executor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"_print_outputs\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 542 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexecution_logs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 543 |
+
"\u001b[0m \u001b[0mexecution_outputs_console\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m\n",
|
| 544 |
+
"\u001b[0m \u001b[0mText\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Execution logs:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstyle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"bold\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 545 |
+
"\u001b[0m \u001b[0mText\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexecution_logs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 546 |
+
"\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 547 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobservations\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"Execution logs:\\n\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mexecution_logs\u001b[0m\u001b[1;33m\n",
|
| 548 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mGroup\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mexecution_outputs_console\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLogLevel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mINFO\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 549 |
+
"\u001b[0m \u001b[0merror_msg\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 550 |
+
"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;34m\"Import of \"\u001b[0m \u001b[1;32min\u001b[0m \u001b[0merror_msg\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;34m\" is not allowed\"\u001b[0m \u001b[1;32min\u001b[0m \u001b[0merror_msg\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 551 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 552 |
+
"\u001b[0m \u001b[1;34m\"[bold red]Warning to user: Code execution failed due to an unauthorized import - Consider passing said import under `additional_authorized_imports` when initializing your CodeAgent.\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 553 |
+
"\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLogLevel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mINFO\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 554 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 555 |
+
"\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mAgentExecutionError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0merror_msg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 556 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 557 |
+
"\u001b[0m \u001b[0mtruncated_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtruncate_content\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutput\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 558 |
+
"\u001b[0m \u001b[0mobservation\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;34m\"Last output from code snippet:\\n\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mtruncated_output\u001b[0m\u001b[1;33m\n",
|
| 559 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobservations\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mobservation\u001b[0m\u001b[1;33m\n",
|
| 560 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 561 |
+
"\u001b[0m \u001b[0mexecution_outputs_console\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m\n",
|
| 562 |
+
"\u001b[0m \u001b[0mText\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
|
| 563 |
+
"\u001b[0m \u001b[1;33mf\"\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Out - Final answer'\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mis_final_answer\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;34m'Out'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m: \u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mtruncated_output\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 564 |
+
"\u001b[0m \u001b[0mstyle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33mf\"\u001b[0m\u001b[1;33mbold \u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mYELLOW_HEX\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\"\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mis_final_answer\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;34m\"\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 565 |
+
"\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 566 |
+
"\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\n",
|
| 567 |
+
"\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlogger\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlog\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mGroup\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mexecution_outputs_console\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mLogLevel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mINFO\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 568 |
+
"\u001b[0m \u001b[0mmemory_step\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maction_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0moutput\u001b[0m\u001b[1;33m\n",
|
| 569 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0moutput\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mis_final_answer\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\n",
|
| 570 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 571 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mto_dict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mdict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 572 |
+
"\u001b[0m \u001b[1;34m\"\"\"Convert the agent to a dictionary representation.\n",
|
| 573 |
+
"\n",
|
| 574 |
+
" Returns:\n",
|
| 575 |
+
" `dict`: Dictionary representation of the agent.\n",
|
| 576 |
+
" \"\"\"\u001b[0m\u001b[1;33m\n",
|
| 577 |
+
"\u001b[0m \u001b[0magent_dict\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_dict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 578 |
+
"\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"authorized_imports\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mauthorized_imports\u001b[0m\u001b[1;33m\n",
|
| 579 |
+
"\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"executor_type\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_type\u001b[0m\u001b[1;33m\n",
|
| 580 |
+
"\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"executor_kwargs\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecutor_kwargs\u001b[0m\u001b[1;33m\n",
|
| 581 |
+
"\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"max_print_outputs_length\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmax_print_outputs_length\u001b[0m\u001b[1;33m\n",
|
| 582 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m\n",
|
| 583 |
+
"\u001b[0m\u001b[1;33m\n",
|
| 584 |
+
"\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mclassmethod\u001b[0m\u001b[1;33m\n",
|
| 585 |
+
"\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mfrom_dict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mdict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[1;34m\"CodeAgent\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
|
| 586 |
+
"\u001b[0m \u001b[1;34m\"\"\"Create CodeAgent from a dictionary representation.\n",
|
| 587 |
+
"\n",
|
| 588 |
+
" Args:\n",
|
| 589 |
+
" agent_dict (`dict[str, Any]`): Dictionary representation of the agent.\n",
|
| 590 |
+
" **kwargs: Additional keyword arguments that will override agent_dict values.\n",
|
| 591 |
+
"\n",
|
| 592 |
+
" Returns:\n",
|
| 593 |
+
" `CodeAgent`: Instance of the CodeAgent class.\n",
|
| 594 |
+
" \"\"\"\u001b[0m\u001b[1;33m\n",
|
| 595 |
+
"\u001b[0m \u001b[1;31m# Add CodeAgent-specific parameters to kwargs\u001b[0m\u001b[1;33m\n",
|
| 596 |
+
"\u001b[0m \u001b[0mcode_agent_kwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m\n",
|
| 597 |
+
"\u001b[0m \u001b[1;34m\"additional_authorized_imports\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"authorized_imports\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 598 |
+
"\u001b[0m \u001b[1;34m\"executor_type\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"executor_type\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 599 |
+
"\u001b[0m \u001b[1;34m\"executor_kwargs\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"executor_kwargs\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 600 |
+
"\u001b[0m \u001b[1;34m\"max_print_outputs_length\"\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0magent_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"max_print_outputs_length\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
|
| 601 |
+
"\u001b[0m \u001b[1;33m}\u001b[0m\u001b[1;33m\n",
|
| 602 |
+
"\u001b[0m \u001b[1;31m# Filter out None values\u001b[0m\u001b[1;33m\n",
|
| 603 |
+
"\u001b[0m \u001b[0mcode_agent_kwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mv\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mv\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mcode_agent_kwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mv\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\n",
|
| 604 |
+
"\u001b[0m \u001b[1;31m# Update with any additional kwargs\u001b[0m\u001b[1;33m\n",
|
| 605 |
+
"\u001b[0m \u001b[0mcode_agent_kwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
|
| 606 |
+
"\u001b[0m \u001b[1;31m# Call the parent class's from_dict method\u001b[0m\u001b[1;33m\n",
|
| 607 |
+
"\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfrom_dict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0magent_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mcode_agent_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
| 608 |
+
"\u001b[1;31mFile:\u001b[0m c:\\users\\pulkitme\\appdata\\local\\miniconda3\\lib\\site-packages\\smolagents\\agents.py\n",
|
| 609 |
+
"\u001b[1;31mType:\u001b[0m ABCMeta\n",
|
| 610 |
+
"\u001b[1;31mSubclasses:\u001b[0m "
|
| 611 |
+
]
|
| 612 |
+
}
|
| 613 |
+
],
|
| 614 |
+
"source": [
|
| 615 |
+
"CodeAgent??"
|
| 616 |
+
]
|
| 617 |
+
},
|
| 618 |
{
|
| 619 |
"cell_type": "code",
|
| 620 |
"execution_count": null,
|