diff --git a/docs/source/hi/_config.py b/docs/source/hi/_config.py
new file mode 100644
index 0000000..81f6de0
--- /dev/null
+++ b/docs/source/hi/_config.py
@@ -0,0 +1,14 @@
+# docstyle-ignore
+INSTALL_CONTENT = """
+# Installation
+! pip install smolagents
+# To install from source instead of the last release, comment the command above and uncomment the following one.
+# ! pip install git+https://github.com/huggingface/smolagents.git
+"""
+
+notebook_first_cells = [{"type": "code", "content": INSTALL_CONTENT}]
+black_avoid_patterns = {
+ "{processor_class}": "FakeProcessorClass",
+ "{model_class}": "FakeModelClass",
+ "{object_class}": "FakeObjectClass",
+}
diff --git a/docs/source/hi/_toctree.yml b/docs/source/hi/_toctree.yml
new file mode 100644
index 0000000..653085a
--- /dev/null
+++ b/docs/source/hi/_toctree.yml
@@ -0,0 +1,36 @@
+- title: Get started
+ sections:
+ - local: index
+ title: ЁЯдЧ Agents
+ - local: guided_tour
+ title: рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░
+- title: Tutorials
+ sections:
+ - local: tutorials/building_good_agents
+ title: тЬи рдЕрдЪреНрдЫреЗ Agents рдХрд╛ рдирд┐рд░реНрдорд╛рдг
+ - local: tutorials/inspect_runs
+ title: ЁЯУК OpenTelemetry рдХреЗ рд╕рд╛рде runs рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг
+ - local: tutorials/tools
+ title: ЁЯЫая╕П Tools - in-depth guide
+ - local: tutorials/secure_code_execution
+ title: ЁЯЫбя╕П E2B рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░реЗрдВ
+- title: Conceptual guides
+ sections:
+ - local: conceptual_guides/intro_agents
+ title: ЁЯдЦ Agentic рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкрд░рд┐рдЪрдп
+ - local: conceptual_guides/react
+ title: ЁЯдФ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?
+- title: Examples
+ sections:
+ - local: examples/text_to_sql
+ title: рд╕реЗрд▓реНрдл рдХрд░реЗрдХреНрдЯрд┐рдВрдЧ Text-to-SQL
+ - local: examples/rag
+ title: рдПрдЬреЗрдВрдЯрд┐рдХ RAG рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЬреНрдЮрд╛рди рдЖрдзрд╛рд░рд┐рдд рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░реЗрдВ
+ - local: examples/multiagents
+ title: рдПрдХ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░реЗрдВ
+- title: Reference
+ sections:
+ - local: reference/agents
+ title: рдПрдЬреЗрдВрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕
+ - local: reference/tools
+ title: рдЯреВрд▓реНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕
diff --git a/docs/source/hi/conceptual_guides/intro_agents.md b/docs/source/hi/conceptual_guides/intro_agents.md
new file mode 100644
index 0000000..15b9379
--- /dev/null
+++ b/docs/source/hi/conceptual_guides/intro_agents.md
@@ -0,0 +1,115 @@
+
+# Agents рдХрд╛ рдкрд░рд┐рдЪрдп
+
+## ЁЯдФ Agents рдХреНрдпрд╛ рд╣реИрдВ?
+
+AI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рдХреБрд╢рд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ LLM рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рддрдХ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдЯреВрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛, рдпрд╛ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреАред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, LLM рдореЗрдВ ***agency*** рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдПрдЬреЗрдВрдЯрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо LLM рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рд╣реИрдВред
+
+> [!TIP]
+> AI Agents рд╡реЗ **рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИрдВ рдЬрд╣рд╛рдВ LLM рдЖрдЙрдЯрдкреБрдЯ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ**ред
+
+LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рднреА рдкреНрд░рдгрд╛рд▓реА LLM рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХреЛрдб рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдЧреАред рдХреЛрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкрд░ LLM рдХреЗ рдЗрдирдкреБрдЯ рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ LLM рдХреА рдПрдЬреЗрдВрд╕реА рдХрд╛ рд╕реНрддрд░ рд╣реИред
+
+рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде, "agent" рдПрдХ рдЕрд▓рдЧ, 0 рдпрд╛ 1 рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ: рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, "agency" рдПрдХ рдирд┐рд░рдВрддрд░ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдк рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкрд░ LLM рдХреЛ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╢рдХреНрддрд┐ рджреЗрддреЗ рд╣реИрдВред
+
+рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдЬреЗрдВрд╕реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ:
+
+| рдПрдЬреЗрдВрд╕реА рд╕реНрддрд░ | рд╡рд┐рд╡рд░рдг | рдЗрд╕реЗ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ | рдЙрджрд╛рд╣рд░рдг рдкреИрдЯрд░реНрди |
+|------------|---------|-------------------|----------------|
+| тШЖтШЖтШЖ | LLM рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╡рд╛рд╣ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ | рд╕рд░рд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ | `process_llm_output(llm_response)` |
+| тШЕтШЖтШЖ | LLM рдЖрдЙрдЯрдкреБрдЯ if/else рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ | рд░рд╛рдЙрдЯрд░ | `if llm_decision(): path_a() else: path_b()` |
+| тШЕтШЕтШЖ | LLM рдЖрдЙрдЯрдкреБрдЯ рдлрдВрдХреНрд╢рди рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ | рдЯреВрд▓ рдХреЙрд▓рд░ | `run_function(llm_chosen_tool, llm_chosen_args)` |
+| тШЕтШЕтШЕ | LLM рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ | рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯ | `while llm_should_continue(): execute_next_step()` |
+| тШЕтШЕтШЕ | рдПрдХ рдПрдЬреЗрдВрдЯрд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рджреВрд╕рд░реЗ рдПрдЬреЗрдВрдЯрд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ | рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ | `if llm_trigger(): execute_agent()` |
+
+рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк agent рдХреА рдпрд╣ рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
+
+```python
+memory = [user_defined_task]
+while llm_should_continue(memory): # рдпрд╣ рд▓реВрдк рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рднрд╛рдЧ рд╣реИ
+ action = llm_get_next_action(memory) # рдпрд╣ рдЯреВрд▓-рдХреЙрд▓рд┐рдВрдЧ рднрд╛рдЧ рд╣реИ
+ observations = execute_action(action)
+ memory += [action, observations]
+```
+
+рдпрд╣ рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд▓реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдПрдХ рдирдИ рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд *tools* рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдлрдВрдХреНрд╢рдВрд╕ рд╣реИрдВ), рдЬрдм рддрдХ рдХрд┐ рдЙрд╕рдХреЗ рдЕрд╡рд▓реЛрдХрди рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рди рд╣реЛ рдЬрд╛рдП рдХрд┐ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрддреЛрд╖рдЬрдирдХ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реА рдЧрдИ рд╣реИред
+
+## тЬЕ Agents рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ / тЫФ рдХрдм рдЙрдирд╕реЗ рдмрдЪреЗрдВ
+
+Agents рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдРрдк рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LLM рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдХреНрд╕рд░ рдЬрд░реВрд░рдд рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐, рдХреНрдпрд╛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
+рдпрджрд┐ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрд╣реБрдд рдмрд╛рд░ рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
+
+рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ: рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк рдПрдХ рдРрдк рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд░реНрдлрд┐рдВрдЧ рдЯреНрд░рд┐рдк рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
+
+рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз 2 рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрдПрдВрдЧреЗ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрди 2 рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИред
+
+1. рдЯреНрд░рд┐рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП? тЗТ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рдореЗрдВ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрдЪ рдмрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪ рджреЗрдВ
+2. рд╕реЗрд▓реНрд╕ рдЯреАрдо рд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? тЗТ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рдВрдкрд░реНрдХ рдлреЙрд░реНрдо рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рджреЗрдВред
+
+рдпрджрд┐ рд╡рд╣ рдирд┐рд░реНрдзрд╛рд░рдгрд╛рддреНрдордХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ, рддреЛ рдмреЗрд╢рдХ рдмрд╕ рд╕рдм рдХреБрдЫ рдХреЛрдб рдХрд░реЗрдВ! рдпрд╣ рдЖрдкрдХреЛ рдПрдХ 100% рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рд┐рд╕реНрдЯрдо рджреЗрдЧрд╛ рдФрд░ рдПрд▓рдПрд▓рдПрдо рджреНрд╡рд╛рд░рд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХреЛрдИ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕рд╛рдзрд╛рд░рдгрддрд╛ рдФрд░ рдордЬрдмреВрддреА рдХреЗ рд▓рд┐рдП, рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯрд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд┐рдпрд╛ рдЬрд╛рдПред
+
+рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЗрддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛?
+
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ: `"рдореИрдВ рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдЖ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдирд╛ рдкрд╛рд╕рдкреЛрд░реНрдЯ рднреВрд▓ рдЧрдпрд╛ рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдмреБрдзрд╡рд╛рд░ рддрдХ рджреЗрд░ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдФрд░ рдореЗрд░реА рдЪреАрдЬреЛрдВ рдХреЛ рдордВрдЧрд▓рд╡рд╛рд░ рд╕реБрдмрд╣ рд╕рд░реНрдл рдХрд░рдиреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ рдХреИрдВрд╕рд▓реЗрд╢рди рдЗрдВрд╢реНрдпреЛрд░реЗрдВрд╕ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?"` рдпрд╣ рдкреНрд░рд╢реНрди рдХрдИ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
+
+рдпрджрд┐ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрд╣реБрдд рдмрд╛рд░ рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
+
+рдпрд╣реАрдВ рдкрд░ рдПрдХ рдПрдЬреЗрдВрдЯрд┐рдХ рд╕реЗрдЯрдЕрдк рдорджрдж рдХрд░рддрд╛ рд╣реИред
+
+рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рдмрд╕ рдПрдХ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк agent рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдореМрд╕рдо рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдореМрд╕рдо API, рдпрд╛рддреНрд░рд╛ рдХреА рджреВрд░реА рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗ рд▓рд┐рдП Google Maps API, рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рдЙрдкрд▓рдмреНрдзрддрд╛ рдбреИрд╢рдмреЛрд░реНрдб рдФрд░ рдЖрдкрдХреЗ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рдкрд░ рдПрдХ RAG рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред
+
+рд╣рд╛рд▓ рд╣реА рддрдХ, рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рддрдХ рд╕реАрдорд┐рдд рдереЗ, if/else рд╕реНрд╡рд┐рдЪ рдХрд╛
+рдвреЗрд░ рд▓рдЧрд╛рдХрд╛рд░ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рдереЗред рд╡реЗ рдмреЗрд╣рдж рд╕рдВрдХреАрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдереЗ, рдЬреИрд╕реЗ "рдЗрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рдирд┐рдХрд╛рд▓реЗрдВ" рдпрд╛ "рдЗрд╕ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬреЗрдВ"ред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХреЗ рдХрд╛рд░реНрдп, рдЬреИрд╕реЗ рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣рдорд╛рд░рд╛ рдпрд╛рддреНрд░рд╛ рдЙрджрд╛рд╣рд░рдг, рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╡рд┐рд╢рд╛рд▓ рджреБрдирд┐рдпрд╛ рдЦреЛрд▓рддреЗ рд╣реИрдВ!
+
+## рдХреНрдпреЛрдВ `smolagents`?
+
+рдХреБрдЫ рд▓реЛ-рд▓реЗрд╡рд▓ рдПрдЬреЗрдВрдЯрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдЪреЗрди рдпрд╛ рд░рд╛рдЙрдЯрд░, рдЖрдк рд╕рднреА рдХреЛрдб рдЦреБрдж рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
+
+рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ LLM рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рдиреЗ рджреЗрдирд╛ (рдпрд╣ "tool calling" рд╣реИ) рдпрд╛ LLM рдХреЛ рдПрдХ while рд▓реВрдк рдЪрд▓рд╛рдиреЗ рджреЗрдирд╛ ("multi-step agent"), рдХреБрдЫ рдПрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рдиреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
+- рдЯреВрд▓ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдЬреЗрдВрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреИрд╕реЗ "рд╡рд┐рдЪрд╛рд░: рдореБрдЭреЗ 'get_weather' рдЯреВрд▓ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрд░рд┐рдпрд╛: get_weather(Paris)ред", рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ LLM рдХреЛ рджрд┐рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
+- рдПрдХ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ LLM рдЖрдЙрдЯрдкреБрдЯ рд▓реВрдк рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рд▓реВрдк рдЗрдЯрд░реЗрд╢рди рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ LLM рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЙрдореНрдкреНрдЯ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
+
+рдЗрди рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛:
+
+- рдмреЗрд╢рдХ, рдПрдХ LLM рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкрд╛рд╡рд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
+- рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓реНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА
+- рдПрдХ рдкрд╛рд░реНрд╕рд░ рдЬреЛ LLM рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЯреВрд▓ рдХреЙрд▓ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ
+- рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдореНрдкреНрдЯ рдЬреЛ рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ
+- рдПрдХ рдореЗрдореЛрд░реА
+
+рд▓реЗрдХрд┐рди рд░реБрдХрд┐рдП, рдЪреВрдВрдХрд┐ рд╣рдо рдирд┐рд░реНрдгрдпреЛрдВ рдореЗрдВ LLM рдХреЛ рдЬрдЧрд╣ рджреЗрддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реЗ рдЧрд▓рддрд┐рдпрд╛рдВ рдХрд░реЗрдВрдЧреЗ: рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрд░рд░ рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
+
+рдпреЗ рд╕рднреА рддрддреНрд╡ рдПрдХ рдЕрдЪреНрдЫреЗ рдХрд╛рдордХрд╛рдЬреА рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдШрдирд┐рд╖реНрда рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдЗрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдирд┐рд░реНрдорд╛рдг рдмреНрд▓реЙрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
+
+## рдХреЛрдб Agents
+
+рдПрдХ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдкрд░, LLM рдмрд╛рд╣рд░реА рдЯреВрд▓реНрд╕ рдХреЛ рдХреБрдЫ рдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд░реВрдк (Anthropic, OpenAI рдФрд░ рдХрдИ рдЕрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдЖрдорддреМрд░ рдкрд░ "рдЯреВрд▓реНрд╕ рдХреЗ рдирд╛рдо рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХреЛрдВ рдХреЗ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓рд┐рдЦрдиреЗ" рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдк рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдлрд┐рд░ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рдЯреВрд▓ рдХрд┐рди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИ"ред
+
+[рдХрдИ](https://huggingface.co/papers/2402.01030) [рд╢реЛрдз](https://huggingface.co/papers/2411.01747) [рдкрддреНрд░реЛрдВ](https://huggingface.co/papers/2401.00812) рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдЯреВрд▓ рдХреЙрд▓рд┐рдВрдЧ LLM рдХрд╛ рд╣реЛрдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред
+
+рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдмрд╕ рдпрд╣ рд╣реИ рдХрд┐ *рд╣рдордиреЗ рдЕрдкрдиреА рдХреЛрдб рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрднрд╡ рддрд░реАрдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛*ред рдпрджрд┐ JSON рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдмреЗрд╣рддрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддреЗ, рддреЛ JSON рд╢реАрд░реНрд╖ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реЛрддреА рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд░рдХ рдореЗрдВ рд╣реЛрддреАред
+
+рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐, [Executable Code Actions Elicit Better LLM Agents](https://huggingface.co/papers/2402.01030) рд╕реЗ рд▓реА рдЧрдИ рд╣реИ, рдЬреЛ рдХреЛрдб рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рдХреБрдЫ рдлрд╛рдпрджреЗ рджрд░реНрд╢рд╛рддреА рд╣реИ:
+
+
+
+JSON рдЬреИрд╕реЗ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреА рдмрдЬрд╛рдп рдХреЛрдб рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:
+
+- **рдХрдореНрдкреЛрдЬреЗрдмрд┐рд▓рд┐рдЯреА:** рдХреНрдпрд╛ рдЖрдк JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рднреАрддрд░ рдиреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╛рдж рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЖрдк рдмрд╕ рдПрдХ рдкрд╛рдпрдерди рдлрдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
+- **рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрди:** рдЖрдк `generate_image` рдЬреИрд╕реА рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ JSON рдореЗрдВ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ?
+- **рд╕рд╛рдорд╛рдиреНрдпрддрд╛:** рдХреЛрдб рдХреЛ рд╕рд░рд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЖрдк рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реИрдВред
+- **LLM рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡:** рдмрд╣реБрдд рд╕рд╛рд░реА рдЧреБрдгрд╡рддреНрддрд╛рдкреВрд░реНрдг рдХреЛрдб рдХреНрд░рд┐рдпрд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА LLM рдХреЗ рдЯреНрд░реЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИрдВ!
\ No newline at end of file
diff --git a/docs/source/hi/conceptual_guides/react.md b/docs/source/hi/conceptual_guides/react.md
new file mode 100644
index 0000000..c36f17c
--- /dev/null
+++ b/docs/source/hi/conceptual_guides/react.md
@@ -0,0 +1,47 @@
+
+# рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?
+
+ReAct рдлреНрд░реЗрдорд╡рд░реНрдХ ([Yao et al., 2022](https://huggingface.co/papers/2210.03629)) рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдореБрдЦреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред
+
+рдирд╛рдо рджреЛ рд╢рдмреНрджреЛрдВ, "Reason" (рддрд░реНрдХ) рдФрд░ "Act" (рдХреНрд░рд┐рдпрд╛) рдХреЗ рд╕рдВрдпреЛрдЬрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЛ рдЙрддрдиреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рддрдиреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдПрдХ Reasoning рдХрджрдо рд╣реЛрдЧрд╛, рдлрд┐рд░ рдПрдХ Action рдХрджрдо рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдБ рдпрд╣ рдЯреВрд▓ рдХреЙрд▓реНрд╕ рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЙрд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХрд░реАрдм рд▓реЗ рдЬрд╛рдПрдВрдЧреЗред
+
+ReAct рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреА рдореЗрдореЛрд░реА рд░рдЦрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
+
+> [!TIP]
+> рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП [Open-source LLMs as LangChain Agents](https://huggingface.co/blog/open-source-llms-as-agents) рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрдврд╝реЗрдВред
+
+рдпрд╣рд╛рдБ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдУрд╡рд░рд╡реНрдпреВ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
+
+
+

+

+
+
+
+
+рд╣рдо рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ ToolCallingAgent рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
+- [`ToolCallingAgent`] рдЕрдкрдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЯреВрд▓ рдХреЙрд▓ рдХреЛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред
+- [`CodeAgent`] ToolCallingAgent рдХрд╛ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдЯреВрд▓ рдХреЙрд▓ рдХреЛ рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдмреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЙрди LLM рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдордЬрдмреВрдд рд╣реИред
+
+> [!TIP]
+> рд╣рдо рдПрдЬреЗрдВрдЯреНрд╕ рдХреЛ рд╡рди-рд╢реЙрдЯ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ: рдмрд╕ рдПрдЬреЗрдВрдЯ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп `single_step=True` рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬреИрд╕реЗ `agent.run(your_task, single_step=True)`
\ No newline at end of file
diff --git a/docs/source/hi/examples/multiagents.md b/docs/source/hi/examples/multiagents.md
new file mode 100644
index 0000000..33056c8
--- /dev/null
+++ b/docs/source/hi/examples/multiagents.md
@@ -0,0 +1,199 @@
+
+# рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░реЗрдВ ЁЯдЦЁЯдЭЁЯдЦ
+
+[[open-in-colab]]
+
+рдЗрд╕ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рд╣рдо рдПрдХ **рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдПрдВрдЧреЗ: рдПрдХ рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдПрдЬреЗрдВрдЯ рд╡реЗрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ!**
+
+рдпрд╣ рдПрдХ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдЧреА, рдЬреЛ рдкреНрд░рдмрдВрдзрд┐рдд рд╡реЗрдм рдЦреЛрдЬ рдПрдЬреЗрдВрдЯ рдХреЛ рд░реИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `ManagedAgent` рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
+
+```
+ +----------------+
+ | Manager agent |
+ +----------------+
+ |
+ _______________|______________
+ | |
+ Code interpreter +--------------------------------+
+ tool | Managed agent |
+ | +------------------+ |
+ | | Web Search agent | |
+ | +------------------+ |
+ | | | |
+ | Web Search tool | |
+ | Visit webpage tool |
+ +--------------------------------+
+```
+рдЖрдЗрдП рдЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВред
+
+рдЖрд╡рд╢реНрдпрдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдВ:
+
+```
+!pip install markdownify duckduckgo-search smolagents --upgrade -q
+```
+
+HF Inference API рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ:
+
+```
+from huggingface_hub import login
+
+login()
+```
+
+тЪбя╕П рд╣рдорд╛рд░рд╛ рдПрдЬреЗрдВрдЯ [Qwen/Qwen2.5-Coder-32B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct) рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрдЧрд╛ рдЬреЛ `HfApiModel` рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ HF рдХреЗ Inference API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: Inference API рдХрд┐рд╕реА рднреА OS рдореЙрдбрд▓ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
+
+_рдиреЛрдЯ:_ The Inference API рд╡рд┐рднрд┐рдиреНрди рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдмрд┐рдирд╛ рдкреВрд░реНрд╡ рд╕реВрдЪрдирд╛ рдХреЗ рдЕрдкрдбреЗрдЯ рдпрд╛ рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ [рдпрд╣рд╛рдВ](https://huggingface.co/docs/api-inference/supported-models)ред
+
+```py
+model_id = "Qwen/Qwen2.5-Coder-32B-Instruct"
+```
+
+## ЁЯФН рдПрдХ рд╡реЗрдм рд╕рд░реНрдЪ рдЯреВрд▓ рдмрдирд╛рдПрдВ
+
+рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж [`DuckDuckGoSearchTool`](https://github.com/huggingface/smolagents/blob/main/src/smolagents/default_tools.py#L151-L176) рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Google search рдХреЗ рд╕рдорд╛рди рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
+
+рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдореЗрдВ `DuckDuckGoSearchTool` рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреЗ рдЧрдП рдкреЗрдЬ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
+рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд┐рд▓реНрдЯ-рдЗрди `VisitWebpageTool` рдХреЛ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдВрдЧреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
+
+рддреЛ рдЖрдЗрдП `markdownify` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реБрд░реВ рд╕реЗ рдЕрдкрдирд╛ `VisitWebpageTool` рдЯреВрд▓ рдмрдирд╛рдПрдВред
+
+```py
+import re
+import requests
+from markdownify import markdownify
+from requests.exceptions import RequestException
+from smolagents import tool
+
+
+@tool
+def visit_webpage(url: str) -> str:
+ """Visits a webpage at the given URL and returns its content as a markdown string.
+
+ Args:
+ url: The URL of the webpage to visit.
+
+ Returns:
+ The content of the webpage converted to Markdown, or an error message if the request fails.
+ """
+ try:
+ # Send a GET request to the URL
+ response = requests.get(url)
+ response.raise_for_status() # Raise an exception for bad status codes
+
+ # Convert the HTML content to Markdown
+ markdown_content = markdownify(response.text).strip()
+
+ # Remove multiple line breaks
+ markdown_content = re.sub(r"\n{3,}", "\n\n", markdown_content)
+
+ return markdown_content
+
+ except RequestException as e:
+ return f"Error fetching the webpage: {str(e)}"
+ except Exception as e:
+ return f"An unexpected error occurred: {str(e)}"
+```
+
+рдареАрдХ рд╣реИ, рдЕрдм рдЪрд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЯреВрд▓ рдХреЛ рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВ!
+
+```py
+print(visit_webpage("https://en.wikipedia.org/wiki/Hugging_Face")[:500])
+```
+
+## рд╣рдорд╛рд░реА рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ ЁЯдЦЁЯдЭЁЯдЦ
+
+рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдЯреВрд▓реНрд╕ `search` рдФрд░ `visit_webpage` рд╣реИрдВ, рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдПрдЬреЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЗрд╕ рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪреБрдиреЗрдВ?
+- рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ рдПрдХ рд╕рд┐рдВрдЧрд▓-рдЯрд╛рдЗрдорд▓рд╛рдЗрди рдЯрд╛рд╕реНрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЯреВрд▓ рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП JSON рдЯреВрд▓ рдХреЙрд▓рд┐рдВрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо `JsonAgent` рдЪреБрдирддреЗ рд╣реИрдВред
+- рд╕рд╛рде рд╣реА, рдЪреВрдВрдХрд┐ рдХрднреА-рдХрднреА рд╡реЗрдм рд╕рд░реНрдЪ рдореЗрдВ рд╕рд╣реА рдЙрддреНрддрд░ рдЦреЛрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ рдкреЗрдЬреЛрдВ рдХреА рд╕рд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╣рдо `max_steps` рдХреЛ рдмрдврд╝рд╛рдХрд░ 10 рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред
+
+```py
+from smolagents import (
+ CodeAgent,
+ ToolCallingAgent,
+ HfApiModel,
+ ManagedAgent,
+ DuckDuckGoSearchTool,
+ LiteLLMModel,
+)
+
+model = HfApiModel(model_id)
+
+web_agent = ToolCallingAgent(
+ tools=[DuckDuckGoSearchTool(), visit_webpage],
+ model=model,
+ max_steps=10,
+)
+```
+
+рдлрд┐рд░ рд╣рдо рдЗрд╕ рдПрдЬреЗрдВрдЯ рдХреЛ рдПрдХ `ManagedAgent` рдореЗрдВ рд░реИрдк рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдореИрдиреЗрдЬрд░ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдЧрд╛ред
+
+```py
+managed_web_agent = ManagedAgent(
+ agent=web_agent,
+ name="search",
+ description="Runs web searches for you. Give it your query as an argument.",
+)
+```
+
+рдЕрдВрдд рдореЗрдВ рд╣рдо рдПрдХ рдореИрдиреЗрдЬрд░ рдПрдЬреЗрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рд╣рдо рдЕрдкрдиреЗ рдореИрдиреЗрдЬреНрдб рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрд╕рдХреЗ `managed_agents` рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
+
+рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдЬреЗрдВрдЯ рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдФрд░ рд╕реЛрдЪрдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрдирдд рддрд░реНрдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП `CodeAgent` рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред
+
+рд╕рд╛рде рд╣реА, рд╣рдо рдПрдХ рдРрд╕рд╛ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрд╖ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдЧрдгрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ: рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП `additional_authorized_imports=["time", "numpy", "pandas"]` рдЬреЛрдбрд╝реЗрдВ, рдпрджрд┐ рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред
+
+```py
+manager_agent = CodeAgent(
+ tools=[],
+ model=model,
+ managed_agents=[managed_web_agent],
+ additional_authorized_imports=["time", "numpy", "pandas"],
+)
+```
+
+рдмрд╕ рдЗрддрдирд╛ рд╣реА! рдЕрдм рдЪрд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ! рд╣рдо рдПрдХ рдРрд╕рд╛ рдкреНрд░рд╢реНрди рдЪреБрдирддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЧрдгрдирд╛ рдФрд░ рд╢реЛрдз рджреЛрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
+
+```py
+answer = manager_agent.run("If LLM training continues to scale up at the current rhythm until 2030, what would be the electric power in GW required to power the biggest training runs by 2030? What would that correspond to, compared to some countries? Please provide a source for any numbers used.")
+```
+
+We get this report as the answer:
+```
+Based on current growth projections and energy consumption estimates, if LLM trainings continue to scale up at the
+current rhythm until 2030:
+
+1. The electric power required to power the biggest training runs by 2030 would be approximately 303.74 GW, which
+translates to about 2,660,762 GWh/year.
+
+2. Comparing this to countries' electricity consumption:
+ - It would be equivalent to about 34% of China's total electricity consumption.
+ - It would exceed the total electricity consumption of India (184%), Russia (267%), and Japan (291%).
+ - It would be nearly 9 times the electricity consumption of countries like Italy or Mexico.
+
+3. Source of numbers:
+ - The initial estimate of 5 GW for future LLM training comes from AWS CEO Matt Garman.
+ - The growth projection used a CAGR of 79.80% from market research by Springs.
+ - Country electricity consumption data is from the U.S. Energy Information Administration, primarily for the year
+2021.
+```
+
+рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ [рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╣рд╛рдЗрдкреЛрдерд┐рд╕рд┐рд╕](https://gwern.net/scaling-hypothesis) рд╕рддреНрдп рдмрдиреА рд░рд╣рддреА рд╣реИ рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдмрдбрд╝реЗ рдкрд╛рд╡рд░рдкреНрд▓рд╛рдВрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
+
+рд╣рдорд╛рд░реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдиреЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд╣рдпреЛрдЧ рдХрд┐рдпрд╛! тЬЕ
+
+ЁЯТб рдЖрдк рдЗрд╕ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдзрд┐рдХ рдПрдЬреЗрдВрдЯреНрд╕ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╡реЗрдм рд╕рд░реНрдЪ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдлрд╛рдЗрд▓ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
diff --git a/docs/source/hi/examples/rag.md b/docs/source/hi/examples/rag.md
new file mode 100644
index 0000000..9e7a0e5
--- /dev/null
+++ b/docs/source/hi/examples/rag.md
@@ -0,0 +1,156 @@
+
+# рдПрдЬреЗрдВрдЯрд┐рдХ RAG
+
+[[open-in-colab]]
+
+рд░рд┐рдЯреНрд░реАрд╡рд▓-рдСрдЧрдореЗрдВрдЯреЗрдб-рдЬрдирд░реЗрд╢рди (RAG) рд╣реИ "рдПрдХ рдпреВрдЬрд░ рдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдХреЛ рдПрдХ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░рдирд╛"ред рдЗрд╕рдореЗрдВ рд╡реИрдирд┐рд▓рд╛ рдпрд╛ рдлрд╛рдЗрди-рдЯреНрдпреВрдиреНрдб LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ: рдХреБрдЫ рдирд╛рдо рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрддреНрддрд░ рдХреЛ рд╕рддреНрдп рддрдереНрдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рдмрд╛рддреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╣ LLM рдХреЛ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬреНрдЮрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рд╕реВрдХреНрд╖реНрдо рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
+
+рд▓реЗрдХрд┐рди рд╡реИрдирд┐рд▓рд╛ RAG рдХреА рд╕реАрдорд╛рдПрдВ рд╣реИрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпреЗ рджреЛ:
+- рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдЯреНрд░реАрд╡рд▓ рд╕реНрдЯреЗрдк рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдЦрд░рд╛рдм рд╣реИрдВ, рддреЛ рдЬрдирд░реЗрд╢рди рднреА рдмрджрд▓реЗ рдореЗрдВ рдЦрд░рд╛рдм рд╣реЛрдЧрд╛ред
+- рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╕рдорд╛рдирддрд╛ рдХреА рдЧрдгрдирд╛ рдпреВрдЬрд░ рдХреЗ рдкреНрд░рд╢реНрди рдХреЛ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдЬрд░ рдХрд╛ рдкреНрд░рд╢реНрди рдЕрдХреНрд╕рд░ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рд╕рд╣реА рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕реНрд╡рд░ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╕рдорд╛рдирддрд╛ рд╕реНрдХреЛрд░ рдЕрдиреНрдп рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╢реНрдирд╡рд╛рдЪрдХ рд╕реНрд╡рд░ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЪреВрдХрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред
+
+рд╣рдо рдПрдХ RAG рдПрдЬреЗрдВрдЯ рдмрдирд╛рдХрд░ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдмрд╣реБрдд рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ, рдПрдХ рд░рд┐рдЯреНрд░реАрд╡рд░ рдЯреВрд▓ рд╕реЗ рд▓реИрд╕ рдПрдЬреЗрдВрдЯ!
+
+рдпрд╣ рдПрдЬреЗрдВрдЯ рдХрд░реЗрдЧрд╛: тЬЕ рд╕реНрд╡рдпрдВ рдХреНрд╡реЗрд░реА рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ рдФрд░ тЬЕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдкреБрдирдГ-рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ред
+
+рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдХреБрдЫ рдЙрдиреНрдирдд RAG рддрдХрдиреАрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП!
+- рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЦреЛрдЬ рдореЗрдВ рд╕реАрдзреЗ рдпреВрдЬрд░ рдХреНрд╡реЗрд░реА рдХрд╛ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдЬреЗрдВрдЯ рд╕реНрд╡рдпрдВ рдПрдХ рд╕рдВрджрд░реНрдн рд╡рд╛рдХреНрдп рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓рдХреНрд╖рд┐рдд рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреЗ рдХрд░реАрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ [HyDE](https://huggingface.co/papers/2212.10496) рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
+рдПрдЬреЗрдВрдЯ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдкреБрдирдГ-рдкреНрд░рд╛рдкреНрддрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ [Self-Query](https://docs.llamaindex.ai/en/stable/examples/evaluation/RetryQuery/) рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
+
+рдЪрд▓рд┐рдП рдЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВред ЁЯЫая╕П
+
+рдЖрд╡рд╢реНрдпрдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдВред
+```bash
+!pip install smolagents pandas langchain langchain-community sentence-transformers rank_bm25 --upgrade -q
+```
+HF Inference API рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ `HF_TOKEN` рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡реИрдз рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
+рд╣рдо рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП python-dotenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
+```py
+from dotenv import load_dotenv
+load_dotenv()
+```
+
+рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╣рдо RAG рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдпрд╣ рдбреЗрдЯрд╛ рд╕реЗрдЯ Hugging Face рдХреЗ рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ Markdown рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ `transformers` рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд░рдЦреЗрдВрдЧреЗред
+
+рдлрд┐рд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдХреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдХреЗ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд░рд┐рдЯреНрд░реАрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
+
+рд╣рдо [LangChain](https://python.langchain.com/docs/introduction/) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдВ рд╣реИрдВред
+
+```py
+import datasets
+from langchain.docstore.document import Document
+from langchain.text_splitter import RecursiveCharacterTextSplitter
+from langchain_community.retrievers import BM25Retriever
+
+knowledge_base = datasets.load_dataset("m-ric/huggingface_doc", split="train")
+knowledge_base = knowledge_base.filter(lambda row: row["source"].startswith("huggingface/transformers"))
+
+source_docs = [
+ Document(page_content=doc["text"], metadata={"source": doc["source"].split("/")[1]})
+ for doc in knowledge_base
+]
+
+text_splitter = RecursiveCharacterTextSplitter(
+ chunk_size=500,
+ chunk_overlap=50,
+ add_start_index=True,
+ strip_whitespace=True,
+ separators=["\n\n", "\n", ".", " ", ""],
+)
+docs_processed = text_splitter.split_documents(source_docs)
+```
+
+рдЕрдм рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд╕ рддреИрдпрд╛рд░ рд╣реИрдВред
+
+рддреЛ рдЪрд▓рд┐рдП рдЕрдкрдирд╛ рдПрдЬреЗрдВрдЯрд┐рдХ RAG рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдВ!
+
+ЁЯСЙ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ RetrieverTool рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░рд╛ рдПрдЬреЗрдВрдЯ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реИред
+
+рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЯреВрд▓ рдХреЗ рдПрдЯреНрд░реАрдмреНрдпреВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ vectordb рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рд╕рд░рд▓ рдЯреВрд▓ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ `@tool` рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ: рдЗрд╕рд▓рд┐рдП рд╣рдо [tools tutorial](../tutorials/tools) рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рд╕реЗрдЯрдЕрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред
+
+```py
+from smolagents import Tool
+
+class RetrieverTool(Tool):
+ name = "retriever"
+ description = "Uses semantic search to retrieve the parts of transformers documentation that could be most relevant to answer your query."
+ inputs = {
+ "query": {
+ "type": "string",
+ "description": "The query to perform. This should be semantically close to your target documents. Use the affirmative form rather than a question.",
+ }
+ }
+ output_type = "string"
+
+ def __init__(self, docs, **kwargs):
+ super().__init__(**kwargs)
+ self.retriever = BM25Retriever.from_documents(
+ docs, k=10
+ )
+
+ def forward(self, query: str) -> str:
+ assert isinstance(query, str), "Your search query must be a string"
+
+ docs = self.retriever.invoke(
+ query,
+ )
+ return "\nRetrieved documents:\n" + "".join(
+ [
+ f"\n\n===== Document {str(i)} =====\n" + doc.page_content
+ for i, doc in enumerate(docs)
+ ]
+ )
+
+retriever_tool = RetrieverTool(docs_processed)
+```
+рд╣рдордиреЗ BM25 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд░рд┐рдЯреНрд░реАрд╡рд▓ рд╡рд┐рдзрд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
+рд░рд┐рдЯреНрд░реАрд╡рд▓ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк BM25 рдХреЛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╡реЗрдХреНрдЯрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдЦреЛрдЬ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ: рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдк рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдореЙрдбрд▓ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП [MTEB Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЕрдм рдпрд╣ рд╕реАрдзрд╛ рд╣реИ рдХрд┐ рдПрдХ рдПрдЬреЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рдЗрд╕ `retriever_tool` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛!
+
+
+рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдЗрди рдЖрд░реНрдЧреБрдореЗрдВрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
+- `tools`: рдЯреВрд▓реНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдЬрд┐рдиреНрд╣реЗрдВ рдПрдЬреЗрдВрдЯ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдЧрд╛ред
+- `model`: LLM рдЬреЛ рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╛рд╡рд░ рджреЗрддрд╛ рд╣реИред
+рд╣рдорд╛рд░рд╛ `model` рдПрдХ рдХреЙрд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдПрдХ stop_sequences рдЖрд░реНрдЧреБрдореЗрдВрдЯ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдирд░реЗрд╢рди рдХрдм рд░реЛрдХрдиреА рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдзреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ HfEngine рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдПрдХ LLM рдЗрдВрдЬрди рдорд┐рд▓ рд╕рдХреЗ рдЬреЛ Hugging Face рдХреЗ Inference API рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
+
+рдФрд░ рд╣рдо [meta-llama/Llama-3.3-70B-Instruct](meta-llama/Llama-3.3-70B-Instruct) рдХрд╛ рдЙрдкрдпреЛрдЧ llm рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐:
+- рдЗрд╕рдореЗрдВ рд▓рдВрдмрд╛ 128k рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╣реИ, рдЬреЛ рд▓рдВрдмреЗ рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реИ
+- рдпрд╣ рд╣рд░ рд╕рдордп HF рдХреЗ Inference API рдкрд░ рдореБрдлреНрдд рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ!
+
+_рдиреЛрдЯ:_ Inference API рд╡рд┐рднрд┐рдиреНрди рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдмрд┐рдирд╛ рдкреВрд░реНрд╡ рд╕реВрдЪрдирд╛ рдХреЗ рдЕрдкрдбреЗрдЯ рдпрд╛ рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ [рдпрд╣рд╛рдВ](https://huggingface.co/docs/api-inference/supported-models) рдкрдврд╝реЗрдВред
+
+```py
+from smolagents import HfApiModel, CodeAgent
+
+agent = CodeAgent(
+ tools=[retriever_tool], model=HfApiModel("meta-llama/Llama-3.3-70B-Instruct"), max_steps=4, verbosity_level=2
+)
+```
+
+CodeAgent рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬ рдХрд░рдиреЗ рдкрд░, рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ LLM рдЗрдВрдЬрди рдХреЛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреВрд▓ рдХреЙрд▓ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЗрд╕ рдкреНрд░реЙрдореНрдкреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЕрдкрдиреЗ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЬрдм CodeAgent рдХрд╛ `.run()` рдореЗрдердб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ LLM рдЗрдВрдЬрди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯреВрд▓ рдХреЙрд▓реНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдм рдПрдХ рд▓реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рддрдм рддрдХ рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЯреВрд▓ final_answer рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ред
+
+```py
+agent_output = agent.run("For a transformers model training, which is slower, the forward or the backward pass?")
+
+print("Final output:")
+print(agent_output)
+```
+
+
diff --git a/docs/source/hi/examples/text_to_sql.md b/docs/source/hi/examples/text_to_sql.md
new file mode 100644
index 0000000..213821a
--- /dev/null
+++ b/docs/source/hi/examples/text_to_sql.md
@@ -0,0 +1,203 @@
+
+# Text-to-SQL
+
+[[open-in-colab]]
+
+рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ `smolagents` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
+
+> рдЖрдЗрдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рдЗрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдХреНрдпреЛрдВ рдирд╣реАрдВ рд░рдЦреЗрдВ рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп text-to-SQL рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?
+
+рдПрдХ рд╕рд╛рдорд╛рдиреНрдп text-to-SQL рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрдордЬреЛрд░ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрдкрдиреНрди SQL рдХреНрд╡реЗрд░реА рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕рд╕реЗ рднреА рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдПрд░рд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧреА, рдмрд▓реНрдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрд▓рд╛рд░реНрдо рдХреЗ рдЧрд▓рдд/рдмреЗрдХрд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рджреЗ рд╕рдХрддреА рд╣реИред
+
+
+ЁЯСЙ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рддрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрд╡реЗрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
+
+рдЖрдЗрдП рдЗрд╕ рдПрдЬреЗрдВрдЯ рдХреЛ рдмрдирд╛рдПрдВ! ЁЯТк
+
+рдкрд╣рд▓реЗ, рд╣рдо SQL рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╕реЗрдЯрдЕрдк рдХрд░рддреЗ рд╣реИрдВ:
+```py
+from sqlalchemy import (
+ create_engine,
+ MetaData,
+ Table,
+ Column,
+ String,
+ Integer,
+ Float,
+ insert,
+ inspect,
+ text,
+)
+
+engine = create_engine("sqlite:///:memory:")
+metadata_obj = MetaData()
+
+# create city SQL table
+table_name = "receipts"
+receipts = Table(
+ table_name,
+ metadata_obj,
+ Column("receipt_id", Integer, primary_key=True),
+ Column("customer_name", String(16), primary_key=True),
+ Column("price", Float),
+ Column("tip", Float),
+)
+metadata_obj.create_all(engine)
+
+rows = [
+ {"receipt_id": 1, "customer_name": "Alan Payne", "price": 12.06, "tip": 1.20},
+ {"receipt_id": 2, "customer_name": "Alex Mason", "price": 23.86, "tip": 0.24},
+ {"receipt_id": 3, "customer_name": "Woodrow Wilson", "price": 53.43, "tip": 5.43},
+ {"receipt_id": 4, "customer_name": "Margaret James", "price": 21.11, "tip": 1.00},
+]
+for row in rows:
+ stmt = insert(receipts).values(**row)
+ with engine.begin() as connection:
+ cursor = connection.execute(stmt)
+```
+
+### Agent рдмрдирд╛рдПрдВ
+
+рдЕрдм рдЖрдЗрдП рд╣рдорд╛рд░реА SQL рдЯреЗрдмрд▓ рдХреЛ рдПрдХ рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВред
+
+рдЯреВрд▓ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ LLM рдХреЗ prompt рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдпрд╣ LLM рдХреЛ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред рдпрд╣реАрдВ рдкрд░ рд╣рдо SQL рдЯреЗрдмрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
+
+```py
+inspector = inspect(engine)
+columns_info = [(col["name"], col["type"]) for col in inspector.get_columns("receipts")]
+
+table_description = "Columns:\n" + "\n".join([f" - {name}: {col_type}" for name, col_type in columns_info])
+print(table_description)
+```
+
+```text
+Columns:
+ - receipt_id: INTEGER
+ - customer_name: VARCHAR(16)
+ - price: FLOAT
+ - tip: FLOAT
+```
+
+рдЕрдм рдЖрдЗрдП рд╣рдорд╛рд░рд╛ рдЯреВрд▓ рдмрдирд╛рдПрдВред рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП [рдЯреВрд▓ doc](../tutorials/tools) рдкрдврд╝реЗрдВ)
+- рдПрдХ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬрд┐рд╕рдореЗрдВ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓рд╛ `Args:` рднрд╛рдЧ рд╣реЛред
+- рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рджреЛрдиреЛрдВ рдкрд░ рдЯрд╛рдЗрдк рд╣рд┐рдВрдЯреНрд╕ред
+
+```py
+from smolagents import tool
+
+@tool
+def sql_engine(query: str) -> str:
+ """
+ Allows you to perform SQL queries on the table. Returns a string representation of the result.
+ The table is named 'receipts'. Its description is as follows:
+ Columns:
+ - receipt_id: INTEGER
+ - customer_name: VARCHAR(16)
+ - price: FLOAT
+ - tip: FLOAT
+
+ Args:
+ query: The query to perform. This should be correct SQL.
+ """
+ output = ""
+ with engine.connect() as con:
+ rows = con.execute(text(query))
+ for row in rows:
+ output += "\n" + str(row)
+ return output
+```
+
+рдЕрдм рдЖрдЗрдП рдПрдХ рдПрдЬреЗрдВрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рдЗрд╕ рдЯреВрд▓ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред
+
+рд╣рдо `CodeAgent` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ smolagents рдХрд╛ рдореБрдЦреНрдп рдПрдЬреЗрдВрдЯ рдХреНрд▓рд╛рд╕ рд╣реИ: рдПрдХ рдПрдЬреЗрдВрдЯ рдЬреЛ рдХреЛрдб рдореЗрдВ рдПрдХреНрд╢рди рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ ReAct рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд┐рдЫрд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
+
+рдореЙрдбрд▓ рд╡рд╣ LLM рд╣реИ рдЬреЛ рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред `HfApiModel` рдЖрдкрдХреЛ HF рдХреЗ Inference API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ LLM рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рддреЛ рд╕рд░реНрд╡рд░рд▓реЗрд╕ рдпрд╛ рдбреЗрдбрд┐рдХреЗрдЯреЗрдб рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд▓реЗрдХрд┐рди рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдкреНрд░рд╛рдЗрдЯрд░реА API рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+```py
+from smolagents import CodeAgent, HfApiModel
+
+agent = CodeAgent(
+ tools=[sql_engine],
+ model=HfApiModel("meta-llama/Meta-Llama-3.1-8B-Instruct"),
+)
+agent.run("Can you give me the name of the client who got the most expensive receipt?")
+```
+
+### рд▓реЗрд╡рд▓ 2: рдЯреЗрдмрд▓ рдЬреЙрдЗрдиреНрд╕
+
+рдЕрдм рдЖрдЗрдП рдЗрд╕реЗ рдФрд░ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рдмрдирд╛рдПрдВ! рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдЬреЗрдВрдЯ рдХрдИ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдмреАрдЪ рдЬреЙрдЗрди рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХреЗред
+
+рддреЛ рдЖрдЗрдП рд╣рдо рдкреНрд░рддреНрдпреЗрдХ receipt_id рдХреЗ рд▓рд┐рдП рд╡реЗрдЯрд░реНрд╕ рдХреЗ рдирд╛рдо рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рджреВрд╕рд░реА рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ!
+
+```py
+table_name = "waiters"
+receipts = Table(
+ table_name,
+ metadata_obj,
+ Column("receipt_id", Integer, primary_key=True),
+ Column("waiter_name", String(16), primary_key=True),
+)
+metadata_obj.create_all(engine)
+
+rows = [
+ {"receipt_id": 1, "waiter_name": "Corey Johnson"},
+ {"receipt_id": 2, "waiter_name": "Michael Watts"},
+ {"receipt_id": 3, "waiter_name": "Michael Watts"},
+ {"receipt_id": 4, "waiter_name": "Margaret James"},
+]
+for row in rows:
+ stmt = insert(receipts).values(**row)
+ with engine.begin() as connection:
+ cursor = connection.execute(stmt)
+```
+рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдЯреЗрдмрд▓ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рд╣рдо LLM рдХреЛ рдЗрд╕ рдЯреЗрдмрд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯреЗрдмрд▓ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде `SQLExecutorTool` рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
+
+```py
+updated_description = """Allows you to perform SQL queries on the table. Beware that this tool's output is a string representation of the execution output.
+It can use the following tables:"""
+
+inspector = inspect(engine)
+for table in ["receipts", "waiters"]:
+ columns_info = [(col["name"], col["type"]) for col in inspector.get_columns(table)]
+
+ table_description = f"Table '{table}':\n"
+
+ table_description += "Columns:\n" + "\n".join([f" - {name}: {col_type}" for name, col_type in columns_info])
+ updated_description += "\n\n" + table_description
+
+print(updated_description)
+```
+рдЪреВрдВрдХрд┐ рдпрд╣ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рд╕реЗ рдереЛрдбрд╝реА рдХрдард┐рди рд╣реИ, рд╣рдо LLM рдЗрдВрдЬрди рдХреЛ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА [Qwen/Qwen2.5-Coder-32B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗ!
+
+```py
+sql_engine.description = updated_description
+
+agent = CodeAgent(
+ tools=[sql_engine],
+ model=HfApiModel("Qwen/Qwen2.5-Coder-32B-Instruct"),
+)
+
+agent.run("Which waiter got more total money from tips?")
+```
+рдпрд╣ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд╕реЗрдЯрдЕрдк рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдерд╛, рд╣реИ рдирд╛?
+
+рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛! рд╣рдордиреЗ рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЫреБрдЖ рд╣реИ:
+- рдирдП рдЯреВрд▓реНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
+- рдЯреВрд▓ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ред
+- рдПрдХ рдордЬрдмреВрдд LLM рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рдПрдЬреЗрдВрдЯ рдХреА рддрд░реНрдХрд╢рдХреНрддрд┐ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред
+
+тЬЕ рдЕрдм рдЖрдк рд╡рд╣ text-to-SQL рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рд╣рдореЗрд╢рд╛ рд╕рдкрдирд╛ рджреЗрдЦрд╛ рд╣реИ! тЬи
\ No newline at end of file
diff --git a/docs/source/hi/guided_tour.md b/docs/source/hi/guided_tour.md
new file mode 100644
index 0000000..24cb71d
--- /dev/null
+++ b/docs/source/hi/guided_tour.md
@@ -0,0 +1,360 @@
+
+# Agents - рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░
+
+[[open-in-colab]]
+
+рдЗрд╕ рдЧрд╛рдЗрдбреЗрдб рд╡рд┐рдЬрд┐рдЯ рдореЗрдВ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдФрд░ рдЕрдкрдиреЗ рдпреВрдЬ-рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
+
+### рдЕрдкрдирд╛ Agent рдмрдирд╛рдирд╛
+
+рдПрдХ рдорд┐рдирд┐рдорд▓ рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдЗрди рджреЛ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
+
+- `model`, рдЖрдкрдХреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╛рд╡рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ-рдЬрдирд░реЗрд╢рди рдореЙрдбрд▓ - рдХреНрдпреЛрдВрдХрд┐ рдПрдЬреЗрдВрдЯ рдПрдХ рд╕рд┐рдВрдкрд▓ LLM рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдпрд╣ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ LLM рдХреЛ рдЕрдкрдиреЗ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
+ - [`TransformersModel`] `transformers` рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ рдЬреЛ `transformers` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреА рд▓реЛрдХрд▓ рдорд╢реАрди рдкрд░ рдЗрдиреНрдлрд░реЗрдВрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
+ - [`HfApiModel`] рдЕрдВрджрд░ рд╕реЗ `huggingface_hub.InferenceClient` рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред
+ - [`LiteLLMModel`] рдЖрдкрдХреЛ [LiteLLM](https://docs.litellm.ai/) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 100+ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбрд▓реНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ!
+
+- `tools`, `Tools` рдХреА рдПрдХ рд▓рд┐рд╕реНрдЯ рдЬрд┐рд╕реЗ рдПрдЬреЗрдВрдЯ рдЯрд╛рд╕реНрдХ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рд▓рд┐рд╕реНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдСрдкреНрд╢рдирд▓ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ `add_base_tools=True` рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЕрдкрдиреА `tools` рд▓рд┐рд╕реНрдЯ рдХреЗ рдКрдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреВрд▓рдмреЙрдХреНрд╕ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдпреЗ рджреЛ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕, `tools` рдФрд░ `model` рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдПрдЬреЗрдВрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдХреЛрдИ рднреА LLM рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рддреЛ [Hugging Face API](https://huggingface.co/docs/api-inference/en/index), [transformers](https://github.com/huggingface/transformers/), [ollama](https://ollama.com/), рдпрд╛ [LiteLLM](https://www.litellm.ai/) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
+
+
+
+
+Hugging Face API рдЯреЛрдХрди рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрд╕рдореЗрдВ рд░реЗрдЯ рд▓рд┐рдорд┐рдЯреЗрд╢рди рд╣реЛрдЧреАред
+
+рдЧреЗрдЯреЗрдб рдореЙрдбрд▓реНрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдпрд╛ PRO рдЕрдХрд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд░реЗрдЯ рд▓рд┐рдорд┐рдЯреНрд╕ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ `HF_TOKEN` рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ `HfApiModel` рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ `token` рд╡реЗрд░рд┐рдПрдмрд▓ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
+
+```python
+from smolagents import CodeAgent, HfApiModel
+
+model_id = "meta-llama/Llama-3.3-70B-Instruct"
+
+model = HfApiModel(model_id=model_id, token="")
+agent = CodeAgent(tools=[], model=model, add_base_tools=True)
+
+agent.run(
+ "Could you give me the 118th number in the Fibonacci sequence?",
+)
+```
+
+
+
+```python
+from smolagents import CodeAgent, TransformersModel
+
+model_id = "meta-llama/Llama-3.2-3B-Instruct"
+
+model = TransformersModel(model_id=model_id)
+agent = CodeAgent(tools=[], model=model, add_base_tools=True)
+
+agent.run(
+ "Could you give me the 118th number in the Fibonacci sequence?",
+)
+```
+
+
+
+`LiteLLMModel` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ `ANTHROPIC_API_KEY` рдпрд╛ `OPENAI_API_KEY` рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ `api_key` рд╡реЗрд░рд┐рдПрдмрд▓ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
+
+```python
+from smolagents import CodeAgent, LiteLLMModel
+
+model = LiteLLMModel(model_id="anthropic/claude-3-5-sonnet-latest", api_key="YOUR_ANTHROPIC_API_KEY") # Could use 'gpt-4o'
+agent = CodeAgent(tools=[], model=model, add_base_tools=True)
+
+agent.run(
+ "Could you give me the 118th number in the Fibonacci sequence?",
+)
+```
+
+
+
+```python
+from smolagents import CodeAgent, LiteLLMModel
+
+model = LiteLLMModel(
+ model_id="ollama_chat/llama3.2", # This model is a bit weak for agentic behaviours though
+ api_base="http://localhost:11434", # replace with 127.0.0.1:11434 or remote open-ai compatible server if necessary
+ api_key="YOUR_API_KEY" # replace with API key if necessary
+ num_ctx=8192 # ollama default is 2048 which will fail horribly. 8192 works for easy tasks, more is better. Check https://huggingface.co/spaces/NyxKrage/LLM-Model-VRAM-Calculator to calculate how much VRAM this will need for the selected model.
+)
+
+agent = CodeAgent(tools=[], model=model, add_base_tools=True)
+
+agent.run(
+ "Could you give me the 118th number in the Fibonacci sequence?",
+)
+```
+
+
+
+#### CodeAgent рдФрд░ ToolCallingAgent
+
+[`CodeAgent`] рд╣рдорд╛рд░рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдЬреЗрдВрдЯ рд╣реИред рдпрд╣ рд╣рд░ рд╕реНрдЯреЗрдк рдкрд░ рдкрд╛рдпрдерди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рд▓рд┐рдЦреЗрдЧрд╛ рдФрд░ рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд░реЗрдЧрд╛ред
+
+рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдЖрдкрдХреЗ рд▓реЛрдХрд▓ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
+рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рд╡рд╣реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЙрд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рдпрд╣ рдХреЗрд╡рд▓ Hugging Face рдЯреВрд▓реНрд╕ рд╣реИрдВ) рдФрд░ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреИрд╕реЗ `print` рдпрд╛ `math` рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕, рдЗрд╕рд▓рд┐рдП рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдорд┐рдд рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
+
+рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдл рд▓рд┐рд╕реНрдЯ рдХреЗ рдмрд╛рд╣рд░ рдЗрдореНрдкреЛрд░реНрдЯ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЕрдЯреИрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
+рдЖрдк рдЕрдкрдиреЗ [`CodeAgent`] рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ `additional_authorized_imports` рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рд▓рд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+```py
+model = HfApiModel()
+agent = CodeAgent(tools=[], model=model, additional_authorized_imports=['requests', 'bs4'])
+agent.run("Could you get me the title of the page at url 'https://huggingface.co/blog'?")
+```
+
+> [!WARNING]
+> LLM рдЖрд░реНрдмрд┐рдЯреНрд░рд░реА рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдХреЛрдИ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЗрдореНрдкреЛрд░реНрдЯ рди рдЬреЛрдбрд╝реЗрдВ!
+
+рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХрд┐рд╕реА рднреА рдХреЛрдб рдкрд░ рд░реБрдХ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдПрдХ рдЕрд╡реИрдз рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдПрдХ рд░реЗрдЧреБрд▓рд░ рдкрд╛рдпрдерди рдПрд░рд░ рд╣реИред
+
+рдЖрдк [E2B рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░](https://e2b.dev/docs#what-is-e2-b) рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЛрдХрд▓ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ [`E2B_API_KEY` рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдХрд░рдХреЗ](https://e2b.dev/dashboard?tab=keys) рдФрд░ рдлрд┐рд░ рдПрдЬреЗрдВрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ `use_e2b_executor=True` рдкрд╛рд╕ рдХрд░рдХреЗред
+
+> [!TIP]
+> рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ [рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ](tutorials/secure_code_execution)ред
+
+рд╣рдо JSON-рдЬреИрд╕реЗ рдмреНрд▓реЙрдмреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЗ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣ [`ToolCallingAgent`] рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ [`CodeAgent`] рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмреЗрд╢рдХ `additional_authorized_imports` рдХреЗ рдмрд┐рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ред
+
+```py
+from smolagents import ToolCallingAgent
+
+agent = ToolCallingAgent(tools=[], model=model)
+agent.run("Could you get me the title of the page at url 'https://huggingface.co/blog'?")
+```
+
+### рдПрдЬреЗрдВрдЯ рд░рди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг
+
+рд░рди рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реБрдЖ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рд╣реИрдВ:
+- `agent.logs` рдПрдЬреЗрдВрдЯ рдХреЗ рдлрд╛рдЗрди-рдЧреНрд░реЗрдиреНрдб рд▓реЙрдЧреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдПрдЬреЗрдВрдЯ рдХреЗ рд░рди рдХреЗ рд╣рд░ рд╕реНрдЯреЗрдк рдкрд░, рд╕рдм рдХреБрдЫ рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ `agent.logs` рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
+- `agent.write_inner_memory_from_logs()` рдЪрд▓рд╛рдиреЗ рд╕реЗ LLM рдХреЗ рд▓рд┐рдП рдПрдЬреЗрдВрдЯ рдХреЗ рд▓реЙрдЧреНрд╕ рдХреА рдПрдХ рдЗрдирд░ рдореЗрдореЛрд░реА рдмрдирддреА рд╣реИ, рдЪреИрдЯ рдореИрд╕реЗрдЬ рдХреА рд▓рд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╣ рдореЗрдердб рд▓реЙрдЧ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЗрдк рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╡рд╣реА рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрдХ рдореИрд╕реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдФрд░ рдЯрд╛рд╕реНрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореИрд╕реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЗрдк рдХреЗ рд▓рд┐рдП рдпрд╣ LLM рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рдореИрд╕реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдЯреВрд▓ рдХреЙрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреВрд╕рд░реЗ рдореИрд╕реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдЧрд╛ред
+
+## рдЯреВрд▓реНрд╕
+
+рдЯреВрд▓ рдПрдХ рдПрдЯреЙрдорд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред LLM рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреБрдЫ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрд╕рдХреА API рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ LLM рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдЗрд╕ рдЯреВрд▓ рдХреЛ рдХреИрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ:
+- рдПрдХ рдирд╛рдо
+- рдПрдХ рд╡рд┐рд╡рд░рдг
+- рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд┐рд╡рд░рдг
+- рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░
+
+рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП [`PythonInterpreterTool`] рдХреЛ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЗрд╕рдореЗрдВ рдПрдХ рдирд╛рдо, рд╡рд┐рд╡рд░рдг, рдЗрдирдкреБрдЯ рд╡рд┐рд╡рд░рдг, рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░, рдФрд░ рдПрдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ `forward` рдореЗрдердб рд╣реИред
+
+рдЬрдм рдПрдЬреЗрдВрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЯреВрд▓ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдЯреВрд▓ рд╡рд┐рд╡рд░рдг рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдЬреЗрдВрдЯ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреМрди рд╕реЗ рдЯреВрд▓реНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВред
+
+### рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреВрд▓рдмреЙрдХреНрд╕
+
+Transformers рдПрдЬреЗрдВрдЯреНрд╕ рдХреЛ рд╕рд╢рдХреНрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ `add_base_tools = True` рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдореЗрдВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
+
+- **DuckDuckGo рд╡реЗрдм рд╕рд░реНрдЪ**: DuckDuckGo рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рд╕рд░реНрдЪ рдХрд░рддрд╛ рд╣реИред
+- **рдкрд╛рдпрдерди рдХреЛрдб рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░**: рдЖрдкрдХрд╛ LLM рдЬрдирд░реЗрдЯреЗрдб рдкрд╛рдпрдерди рдХреЛрдб рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдЯреВрд▓ [`ToolCallingAgent`] рдореЗрдВ рдХреЗрд╡рд▓ рддрднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЖрдк рдЗрд╕реЗ `add_base_tools=True` рдХреЗ рд╕рд╛рде рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб-рдмреЗрд╕реНрдб рдПрдЬреЗрдВрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреЗрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
+- **рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд╛рдЗрдмрд░**: Whisper-Turbo рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╕реНрдкреАрдЪ-рдЯреВ-рдЯреЗрдХреНрд╕реНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреЛ рдСрдбрд┐рдпреЛ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рддрд╛ рд╣реИред
+
+рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕рдХреЗ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+```python
+from smolagents import DuckDuckGoSearchTool
+
+search_tool = DuckDuckGoSearchTool()
+print(search_tool("Who's the current president of Russia?"))
+```
+
+### рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдЯреВрд▓ рдмрдирд╛рдПрдВ
+
+рдЖрдк рдРрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЯреВрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Hugging Face рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреВрд▓реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд▓рд┐рдП рдПрдХ рдЯреВрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп (task) рдХреЗ рд▓рд┐рдП рд╣рдм рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИред
+
+рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗред
+
+```python
+from huggingface_hub import list_models
+
+task = "text-classification"
+
+most_downloaded_model = next(iter(list_models(filter=task, sort="downloads", direction=-1)))
+print(most_downloaded_model.id)
+```
+
+рдпрд╣ рдХреЛрдб рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреВрд▓ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд░реИрдк рдХрд░реЗрдВ рдФрд░ `tool` рдбреЗрдХреЛрд░реЗрдЯрд░ рдЬреЛрдбрд╝реЗрдВ:
+рдпрд╣ рдЯреВрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ: рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ [`Tool`] рдХрд╛ рд╕рдмрдХреНрд▓рд╛рд╕ рдмрдирд╛рдХрд░ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рднрд╛рд░реА рдХреНрд▓рд╛рд╕ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред
+
+рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
+
+
+
+
+```py
+from smolagents import tool
+
+@tool
+def model_download_tool(task: str) -> str:
+ """
+ This is a tool that returns the most downloaded model of a given task on the Hugging Face Hub.
+ It returns the name of the checkpoint.
+
+ Args:
+ task: The task for which to get the download count.
+ """
+ most_downloaded_model = next(iter(list_models(filter=task, sort="downloads", direction=-1)))
+ return most_downloaded_model.id
+```
+
+рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд╛рд╣рд┐рдП:
+- рдПрдХ рд╕реНрдкрд╖реНрдЯ рдирд╛рдо: рдирд╛рдо рдЯреВрд▓ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ LLM рдХреЛ рдЖрд╕рд╛рдиреА рд╣реЛред рдЪреВрдВрдХрд┐ рдпрд╣ рдЯреВрд▓ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдирд╛рдо `model_download_tool` рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред
+- рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЯрд╛рдЗрдк рд╣рд┐рдВрдЯреНрд╕ред
+- рдПрдХ рд╡рд┐рд╡рд░рдг: рдЗрд╕рдореЗрдВ 'Args:' рднрд╛рдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рд╡рд░реНрдгрди (рдмрд┐рдирд╛ рдЯрд╛рдЗрдк рд╕рдВрдХреЗрдд рдХреЗ) рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрд╣ рд╡рд┐рд╡рд░рдг рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдореИрдиреБрдЕрд▓ рдХреА рддрд░рд╣ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ LLM рдХреЛ рдЯреВрд▓ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рди рдХрд░реЗрдВред
+рдЗрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдЬреЗрдВрдЯ рдХреА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдЗрд╕рд▓рд┐рдП рдЗрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ!
+
+> [!TIP]
+> рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рд╛рд░реВрдк `apply_chat_template` рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдЯреВрд▓ рд╕реНрдХреАрдорд╛ рдЬреИрд╕рд╛ рд╣реА рд╣реИ, рдХреЗрд╡рд▓ рдЕрддрд┐рд░рд┐рдХреНрдд `tool` рдбреЗрдХреЛрд░реЗрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдЯреВрд▓ рдЙрдкрдпреЛрдЧ API рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ [рдпрд╣рд╛рдБ](https://huggingface.co/blog/unified-tool-use#passing-tools-to-a-chat-template)ред
+
+
+
+```py
+from smolagents import Tool
+
+class ModelDownloadTool(Tool):
+ name = "model_download_tool"
+ description = "This is a tool that returns the most downloaded model of a given task on the Hugging Face Hub. It returns the name of the checkpoint."
+ inputs = {"task": {"type": "string", "description": "The task for which to get the download count."}}
+ output_type = "string"
+
+ def forward(self, task: str) -> str:
+ most_downloaded_model = next(iter(list_models(filter=task, sort="downloads", direction=-1)))
+ return most_downloaded_model.id
+```
+
+рд╕рдмрдХреНрд▓рд╛рд╕ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
+- рдПрдХ рд╕реНрдкрд╖реНрдЯ `name`: рдирд╛рдо рдЯреВрд▓ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
+- рдПрдХ `description`: рдпрд╣ рднреА LLM рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рдореИрдиреБрдЕрд▓ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
+- рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдгред
+- рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░ред
+рдЗрди рд╕рднреА рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХреЛ рдПрдЬреЗрдВрдЯ рдХреА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдмрдирд╛рдПрдВред
+
+
+
+
+рдЖрдк рд╕реАрдзреЗ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
+```py
+from smolagents import CodeAgent, HfApiModel
+agent = CodeAgent(tools=[model_download_tool], model=HfApiModel())
+agent.run(
+ "Can you give me the name of the model that has the most downloads in the 'text-to-video' task on the Hugging Face Hub?"
+)
+```
+
+рд▓реЙрдЧреНрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдВрдЧреЗ:
+```text
+тХнтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА New run тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХо
+тФВ тФВ
+тФВ Can you give me the name of the model that has the most downloads in the 'text-to-video' тФВ
+тФВ task on the Hugging Face Hub? тФВ
+тФВ тФВ
+тХ░тФА HfApiModel - Qwen/Qwen2.5-Coder-32B-Instruct тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХп
+тФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБ Step 0 тФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБ
+тХнтФА Executing this code: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХо
+тФВ 1 model_name = model_download_tool(task="text-to-video") тФВ
+тФВ 2 print(model_name) тФВ
+тХ░тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХп
+Execution logs:
+ByteDance/AnimateDiff-Lightning
+
+Out: None
+[Step 0: Duration 0.27 seconds| Input tokens: 2,069 | Output tokens: 60]
+тФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБ Step 1 тФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБтФБ
+тХнтФА Executing this code: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХо
+тФВ 1 final_answer("ByteDance/AnimateDiff-Lightning") тФВ
+тХ░тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтХп
+Out - Final answer: ByteDance/AnimateDiff-Lightning
+[Step 1: Duration 0.10 seconds| Input tokens: 4,288 | Output tokens: 148]
+Out[20]: 'ByteDance/AnimateDiff-Lightning'
+```
+
+ [!TIP]
+> рдЯреВрд▓реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ [dedicated tutorial](./tutorials/tools#рдЯреВрд▓-рдХреНрдпрд╛-рд╣реИ-рдФрд░-рдЗрд╕реЗ-рдХреИрд╕реЗ-рдмрдирд╛рдПрдВ) рдореЗрдВред
+
+## рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯреНрд╕
+
+Microsoft рдХреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ [Autogen](https://huggingface.co/papers/2308.08155) рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдореНрд╕ рдХреА рд╢реБрд░реБрдЖрдд рд╣реБрдИред
+
+рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ, рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдПрдЬреЗрдВрдЯреНрд╕ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХред
+рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреЗрдВрдЪрдорд╛рд░реНрдХреНрд╕ рдкрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░реНрд╡-рд╕рдорд╛рд╡реЗрд╢реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЙрдк-рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рддрд░рд╣, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреВрд▓ рд╕реЗрдЯреНрд╕ рдФрд░ рдореЗрдореЛрд░реА рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖рдХрд░рдг рдХреА рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯ рдХреА рдореЗрдореЛрд░реА рдХреЛ рд╡реЗрдм рд╕рд░реНрдЪ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рд╡реЗрдмрдкреЗрдЬреЛрдВ рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдХреНрдпреЛрдВ рднрд░реЗрдВ? рдЗрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
+
+рдЖрдк `smolagents` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдореНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдЬреЗрдВрдЯ рдХреЛ [`ManagedAgent`] рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рдХрд░реЗрдВред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ `agent`, `name`, рдФрд░ рдПрдХ `description` рдЬреИрд╕реЗ рддрд░реНрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдлрд┐рд░ рдореИрдиреЗрдЬрд░ рдПрдЬреЗрдВрдЯ рдХреА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
+
+рдпрд╣рд╛рдВ рдПрдХ рдПрдЬреЗрдВрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ [`DuckDuckGoSearchTool`] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рдЦреЛрдЬ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
+
+```py
+from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool, ManagedAgent
+
+model = HfApiModel()
+
+web_agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)
+
+managed_web_agent = ManagedAgent(
+ agent=web_agent,
+ name="web_search",
+ description="Runs web searches for you. Give it your query as an argument."
+)
+
+manager_agent = CodeAgent(
+ tools=[], model=model, managed_agents=[managed_web_agent]
+)
+
+manager_agent.run("Who is the CEO of Hugging Face?")
+```
+
+> [!TIP]
+> рдХреБрд╢рд▓ рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рдЗрдВрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, [рдХреИрд╕реЗ рд╣рдордиреЗ рдЕрдкрдиреЗ рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ GAIA рд▓реАрдбрд░рдмреЛрд░реНрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛рдпрд╛](https://huggingface.co/blog/beating-gaia) рдкрд░ рдЬрд╛рдПрдВред
+
+
+## рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдПрдХ рд╢рд╛рдирджрд╛рд░ Gradio рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ
+
+рдЖрдк `GradioUI` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдп рд╕реМрдВрдк рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рд╕реЛрдЪрдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
+
+```py
+from smolagents import (
+ load_tool,
+ CodeAgent,
+ HfApiModel,
+ GradioUI
+)
+
+# Import tool from Hub
+image_generation_tool = load_tool("m-ric/text-to-image", trust_remote_code=True)
+
+model = HfApiModel(model_id)
+
+# Initialize the agent with the image generation tool
+agent = CodeAgent(tools=[image_generation_tool], model=model)
+
+GradioUI(agent).launch()
+```
+
+рдЕрдВрджрд░реВрдиреА рддреМрд░ рдкрд░, рдЬрдм рдпреВрдЬрд░ рдПрдХ рдирдпрд╛ рдЙрддреНрддрд░ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ рдХреЛ `agent.run(user_request, reset=False)` рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
+рдпрд╣рд╛рдБ `reset=False` рдлреНрд▓реИрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯ рдХреА рдореЗрдореЛрд░реА рдЗрд╕ рдирдП рдХрд╛рд░реНрдп рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд▓рд┐рдпрд░ рдирд╣реАрдВ рд╣реЛрддреА, рдЬрд┐рд╕рд╕реЗ рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рд╣рддреА рд╣реИред
+
+рдЖрдк рдЗрд╕ `reset=False` рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдПрдЬреЗрдВрдЯрд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+## рдЕрдЧрд▓реЗ рдХрджрдо
+
+рдЕрдзрд┐рдХ рдЧрд╣рди рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣рдорд╛рд░реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
+- [рд╣рдорд╛рд░реЗ рдХреЛрдб рдПрдЬреЗрдВрдЯреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг](./tutorials/secure_code_execution)
+- [рдЕрдЪреНрдЫреЗ рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЧрд╛рдЗрдб](./tutorials/building_good_agents)
+- [рдЯреВрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрди-рдбреЗрдкреНрде рдЧрд╛рдЗрдб ](./tutorials/building_good_agents)ред
diff --git a/docs/source/hi/index.md b/docs/source/hi/index.md
new file mode 100644
index 0000000..533b3b6
--- /dev/null
+++ b/docs/source/hi/index.md
@@ -0,0 +1,54 @@
+
+
+# `smolagents`
+
+
+

+
+
+рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╛рд╡рд░рдлреБрд▓ рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ! рд╡реИрд╕реЗ, "рдПрдЬреЗрдВрдЯреНрд╕" рд╣реИрдВ рдХреНрдпрд╛? рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рднрд╛рд╖рд╛ [рдЗрд╕ рдкреЗрдЬ рдкрд░](conceptual_guides/intro_agents) рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдЗрдиреНрд╣реЗрдВ рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рди рдХрд░реЗрдВ (рд╕реНрдкреЙрдЗрд▓рд░: рдЖрдк рдЕрдХреНрд╕рд░ рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
+
+рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ:
+
+тЬи **рд╕рд░рд▓рддрд╛**: Agents рдХрд╛ рд▓реЙрдЬрд┐рдХ рд▓рдЧрднрдЧ рдПрдХ рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреНрд╕ рдСрдлрд╝ рдХреЛрдб рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред рд╣рдордиреЗ рд░реЙ рдХреЛрдб рдХреЗ рдКрдкрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЛ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рдореЗрдВ рд░рдЦрд╛ рд╣реИ!
+
+ЁЯМР **рд╕рднреА LLM рдХреЗ рд▓рд┐рдП рд╕рдкреЛрд░реНрдЯ**: рдпрд╣ рд╣рдм рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓реНрд╕ рдХреЛ рдЙрдирдХреЗ `transformers` рд╡рд░реНрдЬрди рдореЗрдВ рдпрд╛ рд╣рдорд╛рд░реЗ рдЗрдиреНрдлрд░реЗрдВрд╕ API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА OpenAI, Anthropic рд╕реЗ рднреА... рдХрд┐рд╕реА рднреА LLM рд╕реЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╛рд╡рд░ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред
+
+ЁЯзСтАНЁЯТ╗ **рдХреЛрдб Agents рдХреЗ рд▓рд┐рдП рдлрд░реНрд╕реНрдЯ-рдХреНрд▓рд╛рд╕ рд╕рдкреЛрд░реНрдЯ**, рдпрд╛рдиреА рдРрд╕реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдЬреЛ рдЕрдкрдиреА рдПрдХреНрд╢рдиреНрд╕ рдХреЛ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд), [рдпрд╣рд╛рдБ рдФрд░ рдкрдврд╝реЗрдВ](tutorials/secure_code_execution)ред
+
+ЁЯдЧ **рд╣рдм рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди**: рдЖрдк рдЯреВрд▓реНрд╕ рдХреЛ рд╣рдм рдкрд░ рд╢реЗрдпрд░ рдФрд░ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЧреЗ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ!
+!
+
+
\ No newline at end of file
diff --git a/docs/source/hi/reference/agents.md b/docs/source/hi/reference/agents.md
new file mode 100644
index 0000000..11b461e
--- /dev/null
+++ b/docs/source/hi/reference/agents.md
@@ -0,0 +1,156 @@
+
+# Agents
+
+
+
+Smolagents рдПрдХ experimental API рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдПрдЬреЗрдВрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ APIs рдпрд╛ underlying рдореЙрдбрд▓ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред
+
+
+
+Agents рдФрд░ tools рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП [introductory guide](../index) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+рдпрд╣ рдкреЗрдЬ underlying рдХреНрд▓рд╛рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП API docs рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред
+
+## Agents
+
+рд╣рдорд╛рд░реЗ рдПрдЬреЗрдВрдЯреНрд╕ [`MultiStepAgent`] рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рдЪрд╛рд░, рдлрд┐рд░ рдПрдХ рдЯреВрд▓ рдХреЙрд▓ рдФрд░ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред [рдЗрд╕ рдХреЙрдиреНрд╕реЗрдкреНрдЪреБрдЕрд▓ рдЧрд╛рдЗрдб](../conceptual_guides/react) рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВред
+
+рд╣рдо рдореБрдЦреНрдп [`Agent`] рдХреНрд▓рд╛рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдЬреЗрдВрдЯреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
+ - [`CodeAgent`] рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдЬреЗрдВрдЯ рд╣реИ, рдпрд╣ рдЕрдкрдиреЗ рдЯреВрд▓ рдХреЙрд▓реНрд╕ рдХреЛ Python рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред
+ - [`ToolCallingAgent`] рдЕрдкрдиреЗ рдЯреВрд▓ рдХреЙрд▓реНрд╕ рдХреЛ JSON рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред
+
+рджреЛрдиреЛрдВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ `model` рдФрд░ рдЯреВрд▓реНрд╕ рдХреА рд╕реВрдЪреА `tools` рдЖрд░реНрдЧреБрдореЗрдВрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
+
+### Agents рдХреА рдХреНрд▓рд╛рд╕реЗрдЬ
+
+[[autodoc]] MultiStepAgent
+
+[[autodoc]] CodeAgent
+
+[[autodoc]] ToolCallingAgent
+
+
+### ManagedAgent
+
+[[autodoc]] ManagedAgent
+
+### stream_to_gradio
+
+[[autodoc]] stream_to_gradio
+
+### GradioUI
+
+[[autodoc]] GradioUI
+
+## рдореЙрдбрд▓реНрд╕
+
+рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЙрдбрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЖрдк рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА `model` рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐:
+1. рдпрд╣ рдЕрдкрдиреЗ рдЗрдирдкреБрдЯ `messages` рдХреЗ рд▓рд┐рдП [messages format](./chat_templating) (`List[Dict[str, str]]`) рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ `str` рд▓реМрдЯрд╛рддрд╛ рд╣реИред
+2. рдпрд╣ рдЖрд░реНрдЧреБрдореЗрдВрдЯ `stop_sequences` рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╕реАрдХреНрд╡реЗрдВрд╕ рд╕реЗ *рдкрд╣рд▓реЗ* рдЖрдЙрдЯрдкреБрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
+
+рдЕрдкрдиреЗ LLM рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ `custom_model` рдореЗрдердб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ [messages](./chat_templating) рдХреА рдПрдХ рд╕реВрдЪреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдпреБрдХреНрдд .content рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХреЙрд▓реЗрдмрд▓ рдХреЛ рдПрдХ `stop_sequences` рдЖрд░реНрдЧреБрдореЗрдВрдЯ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдм рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдмрдВрдж рдХрд░рдирд╛ рд╣реИред
+
+```python
+from huggingface_hub import login, InferenceClient
+
+login("")
+
+model_id = "meta-llama/Llama-3.3-70B-Instruct"
+
+client = InferenceClient(model=model_id)
+
+def custom_model(messages, stop_sequences=["Task"]):
+ response = client.chat_completion(messages, stop=stop_sequences, max_tokens=1000)
+ answer = response.choices[0].message
+ return answer
+```
+
+рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, `custom_model` рдПрдХ `grammar` рдЖрд░реНрдЧреБрдореЗрдВрдЯ рднреА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк рдПрдЬреЗрдВрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдПрдХ `grammar` рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдореЙрдбрд▓ рдХреЗ рдХреЙрд▓реНрд╕ рдХреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд `grammar` рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ [constrained generation](https://huggingface.co/docs/text-generation-inference/conceptual/guidance) рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рд╕рдХреЗ рдЬрд┐рд╕рд╕реЗ рдЙрдЪрд┐рдд-рдлреЙрд░реНрдореЗрдЯреЗрдб рдПрдЬреЗрдВрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдлреЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
+
+### TransformersModel
+
+рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ `TransformersModel` рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рджрд┐рдП рдЧрдП model_id рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрд▓ `transformers` рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдХрд░ рдКрдкрд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
+
+```python
+from smolagents import TransformersModel
+
+model = TransformersModel(model_id="HuggingFaceTB/SmolLM-135M-Instruct")
+
+print(model([{"role": "user", "content": "Ok!"}], stop_sequences=["great"]))
+```
+```text
+>>> What a
+```
+
+[[autodoc]] TransformersModel
+
+### HfApiModel
+
+`HfApiModel` LLM рдХреЗ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдХреЗ рд▓рд┐рдП [HF Inference API](https://huggingface.co/docs/api-inference/index) рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд░реИрдк рдХрд░рддрд╛ рд╣реИред
+
+```python
+from smolagents import HfApiModel
+
+messages = [
+ {"role": "user", "content": "Hello, how are you?"},
+ {"role": "assistant", "content": "I'm doing great. How can I help you today?"},
+ {"role": "user", "content": "No need to help, take it easy."},
+]
+
+model = HfApiModel()
+print(model(messages))
+```
+```text
+>>> Of course! If you change your mind, feel free to reach out. Take care!
+```
+[[autodoc]] HfApiModel
+
+### LiteLLMModel
+
+`LiteLLMModel` рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ 100+ LLMs рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [LiteLLM](https://www.litellm.ai/) рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред
+рдЖрдк рдореЙрдбрд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ kwargs рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддрдм рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╣рдо `temperature` рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
+
+```python
+from smolagents import LiteLLMModel
+
+messages = [
+ {"role": "user", "content": "Hello, how are you?"},
+ {"role": "assistant", "content": "I'm doing great. How can I help you today?"},
+ {"role": "user", "content": "No need to help, take it easy."},
+]
+
+model = LiteLLMModel("anthropic/claude-3-5-sonnet-latest", temperature=0.2, max_tokens=10)
+print(model(messages))
+```
+
+[[autodoc]] LiteLLMModel
+
+### OpenAiServerModel
+
+
+рдпрд╣ рдХреНрд▓рд╛рд╕ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА OpenAIServer рдХрдореНрдкреИрдЯрд┐рдмрд▓ рдореЙрдбрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
+рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдк рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдкреЙрдЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `api_base` url рдХреЛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):
+```py
+from smolagents import OpenAIServerModel
+
+model = OpenAIServerModel(
+ model_id="gpt-4o",
+ api_base="https://api.openai.com/v1",
+ api_key=os.environ["OPENAI_API_KEY"],
+)
+```
\ No newline at end of file
diff --git a/docs/source/hi/reference/tools.md b/docs/source/hi/reference/tools.md
new file mode 100644
index 0000000..ddb24d1
--- /dev/null
+++ b/docs/source/hi/reference/tools.md
@@ -0,0 +1,91 @@
+
+# Tools
+
+
+
+Smolagents рдПрдХ experimental API рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдПрдЬреЗрдВрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ APIs рдпрд╛ underlying рдореЙрдбрд▓ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред
+
+
+
+рдПрдЬреЗрдВрдЯреНрд╕ рдФрд░ рдЯреВрд▓реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП [introductory guide](../index) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+рдпрд╣ рдкреЗрдЬ underlying рдХреНрд▓рд╛рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП API docs рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред
+
+## Tools
+
+### load_tool
+
+[[autodoc]] load_tool
+
+### tool
+
+[[autodoc]] tool
+
+### Tool
+
+[[autodoc]] Tool
+
+### launch_gradio_demo
+
+[[autodoc]] launch_gradio_demo
+
+## Default Tools
+
+### PythonInterpreterTool
+
+[[autodoc]] PythonInterpreterTool
+
+### DuckDuckGoSearchTool
+
+[[autodoc]] DuckDuckGoSearchTool
+
+### VisitWebpageTool
+
+[[autodoc]] VisitWebpageTool
+
+### UserInputTool
+
+[[autodoc]] UserInputTool
+
+## ToolCollection
+
+[[autodoc]] ToolCollection
+
+## Agent рдЯрд╛рдЗрдкреНрд╕
+
+рдПрдЬреЗрдВрдЯреНрд╕ рдЯреВрд▓реНрд╕ рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ; рдЯреВрд▓реНрд╕, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд▓реНрдЯреАрдореЛрдбрд▓ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдЯреЗрдХреНрд╕реНрдЯ, рдЗрдореЗрдЬ, рдСрдбрд┐рдпреЛ, рд╡реАрдбрд┐рдпреЛ рд╕рд╣рд┐рдд рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдФрд░ рд░рд┐рдЯрд░реНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+рдЯреВрд▓реНрд╕ рдХреЗ рдмреАрдЪ рдЕрдиреБрдХреВрд▓рддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрди рд░рд┐рдЯрд░реНрдиреНрд╕ рдХреЛ ipython (jupyter, colab, ipython notebooks, ...) рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрди рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд░реИрдкрд░ рдХреНрд▓рд╛рд╕реЗрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
+
+рд░реИрдк рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдЬреИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡реИрд╕рд╛ рд╣реА рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП; рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрднреА рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП|
+рдПрдХ рдЗрдореЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрднреА рднреА `PIL.Image` рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
+
+рдЗрди рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рддреАрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджреНрджреЗрд╢реНрдп рд╣реИрдВ:
+
+- рдЯрд╛рдЗрдк рдкрд░ `to_raw` рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рд░рд┐рдЯрд░реНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
+- рдЯрд╛рдЗрдк рдкрд░ `to_string` рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдЯрд░реНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡рд╣ `AgentText` рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреНрдб рд╡рд░реНрдЬрди рдХрд╛ рдкрд╛рде рд╣реЛрдЧрд╛
+- рдЗрд╕реЗ рдПрдХ ipython kernel рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
+
+### AgentText
+
+[[autodoc]] smolagents.types.AgentText
+
+### AgentImage
+
+[[autodoc]] smolagents.types.AgentImage
+
+### AgentAudio
+
+[[autodoc]] smolagents.types.AgentAudio
diff --git a/docs/source/hi/tutorials/building_good_agents.md b/docs/source/hi/tutorials/building_good_agents.md
new file mode 100644
index 0000000..86eee27
--- /dev/null
+++ b/docs/source/hi/tutorials/building_good_agents.md
@@ -0,0 +1,286 @@
+
+# рдЕрдЪреНрдЫреЗ Agents рдХрд╛ рдирд┐рд░реНрдорд╛рдг
+
+[[open-in-colab]]
+
+рдПрдХ рдРрд╕рд╛ рдПрдЬреЗрдВрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдЬрд╝рдореАрди-рдЖрд╕рдорд╛рди рдХрд╛ рдЕрдВрддрд░ рд╣реИред
+рд╣рдо рдХреИрд╕реЗ рдРрд╕реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд╛рдж рд╡рд╛рд▓реА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддреЗ рд╣реИрдВ?
+рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдо рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
+
+> [!TIP]
+> рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ [рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп](../conceptual_guides/intro_agents) рдФрд░ [smolagents рдХреА рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░](../guided_tour) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+
+### рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВ: рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рдЙрддрдирд╛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ
+
+рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдПрдХ LLM рдХреЛ рдХреБрдЫ рдПрдЬреЗрдВрд╕реА рджреЗрдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред
+
+рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЧрдП рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡реИрд╕реЗ рднреА рдЕрдЪреНрдЫреА рдПрд░рд░ рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рд░реАрдЯреНрд░рд╛рдИ рдореИрдХреЗрдирд┐рдЬреНрдо рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ LLM рдЗрдВрдЬрди рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди LLM рддреНрд░реБрдЯрд┐ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!
+
+рдЖрдЗрдП [рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп](../conceptual_guides/intro_agents) рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдПрдХ рд╕рд░реНрдл рдЯреНрд░рд┐рдк рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдмреЙрдЯред
+рдПрдЬреЗрдВрдЯ рдХреЛ рд╣рд░ рдмрд╛рд░ рдЬрдм рдПрдХ рдирдП рд╕рд░реНрдл рд╕реНрдкреЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ "travel distance API" рдФрд░ "weather API" рдХреЗ рд▓рд┐рдП 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрд▓ рдХрд░рдиреЗ рджреЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдПрдХреАрдХреГрдд рдЯреВрд▓ "return_spot_information" рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдлрдВрдХреНрд╢рди рдЬреЛ рджреЛрдиреЛрдВ APIs рдХреЛ рдПрдХ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
+
+рдпрд╣ рд▓рд╛рдЧрдд, рджреЗрд░реА рдФрд░ рддреНрд░реБрдЯрд┐ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛!
+
+рдореБрдЦреНрдп рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рд╣реИ: LLM рдХреЙрд▓реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рдЙрддрдирд╛ рдХрдо рдХрд░реЗрдВред
+
+рдЗрд╕рд╕реЗ рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ:
+- рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рджреЛ APIs рдХреЗ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ 2 рдЯреВрд▓реНрд╕ рдХреЛ рдПрдХ рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВред
+- рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рд▓реЙрдЬрд┐рдХ рдПрдЬреЗрдВрдЯрд┐рдХ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдЯрд░рдорд┐рдирд┐рд╕реНрдЯрд┐рдХ рдлрдВрдХреНрд╢рдВрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
+
+### LLM рдЗрдВрдЬрди рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВ
+
+рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ LLM рдЗрдВрдЬрди рдПрдХ *рдмреБрджреНрдзрд┐рдорд╛рди* рд░реЛрдмреЛрдЯ рдХреА рддрд░рд╣ рд╣реИ, рдЬреЛ рдПрдХ рдХрдорд░реЗ рдореЗрдВ рдмрдВрдж рд╣реИ, рдФрд░ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдВрдЪрд╛рд░ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдиреЛрдЯреНрд╕ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реИред
+
+рдпрд╣ рдХрд┐рд╕реА рднреА рдРрд╕реА рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдиреЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред
+
+рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЛ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ!
+рдЪреВрдВрдХрд┐ рдПрдХ рдПрдЬреЗрдВрдЯ LLM рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдлрд┐рд░, рдЯреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреА рдУрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВред
+
+рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢:
+- рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд▓ рдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рд▓реЙрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЯреВрд▓ рдХреА `forward` рдореЗрдердб рдХреЗ рдЕрдВрджрд░ рдХреЗрд╡рд▓ `print` рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЬреЛ LLM рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
+ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЯреВрд▓ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рдЧрд▓рддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧрд┐рдВрдЧ рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧреА!
+
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рдЯреВрд▓ рд╣реИ рдЬреЛ рд▓реЛрдХреЗрд╢рди рдФрд░ рдбреЗрдЯ-рдЯрд╛рдЗрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореМрд╕рдо рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ:
+
+рдкрд╣рд▓реЗ, рдпрд╣рд╛рдБ рдПрдХ рдЦрд░рд╛рдм рд░реВрдк рд╣реИ:
+```python
+import datetime
+from smolagents import tool
+
+def get_weather_report_at_coordinates(coordinates, date_time):
+ # Dummy function, returns a list of [temperature in ┬░C, risk of rain on a scale 0-1, wave height in m]
+ return [28.0, 0.35, 0.85]
+
+def convert_location_to_coordinates(location):
+ # Returns dummy coordinates
+ return [3.3, -42.0]
+
+@tool
+def get_weather_api(location: str, date_time: str) -> str:
+ """
+ Returns the weather report.
+
+ Args:
+ location: the name of the place that you want the weather for.
+ date_time: the date and time for which you want the report.
+ """
+ lon, lat = convert_location_to_coordinates(location)
+ date_time = datetime.strptime(date_time)
+ return str(get_weather_report_at_coordinates((lon, lat), date_time))
+```
+
+# рдпрд╣ рдЦрд░рд╛рдм рдХреНрдпреЛрдВ рд╣реИ?
+- `date_time` рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлреЙрд░реНрдореЗрдЯ рдХреА рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред
+- рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдерд╛рди (location) рдХреЛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
+- рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд▓реЙрдЧрд┐рдВрдЧ рдореЗрдХреИрдирд┐рдЬреНрдо рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕реНрдерд╛рди рдЧрд▓рдд рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╣реЛрдирд╛ рдпрд╛ `date_time` рдХрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдлреЙрд░реНрдореЗрдЯ рди рд╣реЛрдирд╛ред
+- рдЖрдЙрдЯрдкреБрдЯ рдлреЙрд░реНрдореЗрдЯ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрдард┐рди рд╣реИред
+
+рдпрджрд┐ рдЯреВрд▓ рдХреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЙрдЧ рдХреА рдЧрдИ рдПрд░рд░ рдЯреНрд░реЗрд╕ LLM рдХреЛ рдЯреВрд▓ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рд╕рд╛рд░рд╛ рдХрд╛рдо LLM рдХреЛ рд╣реА рдХреНрдпреЛрдВ рдХрд░рдиреЗ рджреЗрдирд╛?
+
+рдЗрд╕ рдЯреВрд▓ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
+
+```python
+@tool
+def get_weather_api(location: str, date_time: str) -> str:
+ """
+ Returns the weather report.
+
+ Args:
+ location: the name of the place that you want the weather for. Should be a place name, followed by possibly a city name, then a country, like "Anchor Point, Taghazout, Morocco".
+ date_time: the date and time for which you want the report, formatted as '%m/%d/%y %H:%M:%S'.
+ """
+ lon, lat = convert_location_to_coordinates(location)
+ try:
+ date_time = datetime.strptime(date_time)
+ except Exception as e:
+ raise ValueError("Conversion of `date_time` to datetime format failed, make sure to provide a string in format '%m/%d/%y %H:%M:%S'. Full trace:" + str(e))
+ temperature_celsius, risk_of_rain, wave_height = get_weather_report_at_coordinates((lon, lat), date_time)
+ return f"Weather report for {location}, {date_time}: Temperature will be {temperature_celsius}┬░C, risk of rain is {risk_of_rain*100:.0f}%, wave height is {wave_height}m."
+```
+
+рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдкрдиреЗ LLM рдХрд╛ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦреБрдж рд╕реЗ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗрдВ: "рдпрджрд┐ рдореИрдВ рдирдпрд╛ рдФрд░ рдЕрдиреБрднрд╡рд╣реАрди рд╣реВрдВ рдФрд░ рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдЗрд╕ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рдирд╛ рдФрд░ рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛?"
+
+### рдПрдЬреЗрдВрдЯ рдХреЛ рдЕрдзрд┐рдХ рддрд░реНрдХ (arguments) рджреЗрдВ
+
+рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк `additional_args` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ:
+
+
+```py
+from smolagents import CodeAgent, HfApiModel
+
+model_id = "meta-llama/Llama-3.3-70B-Instruct"
+
+agent = CodeAgent(tools=[], model=HfApiModel(model_id=model_id), add_base_tools=True)
+
+agent.run(
+ "Why does Mike not know many people in New York?",
+ additional_args={"mp3_sound_file_url":'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/recording.mp3'}
+)
+```
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ `additional_args` рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЗрдореЗрдЬреЗрдЬрд╝ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдПрдЬреЗрдВрдЯ рдЙрдкрдпреЛрдЧ рдХрд░реЗред
+
+
+
+## рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
+
+### 1. рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
+
+рдПрдЬреЗрдВрдЯрд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ, рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛрддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рдХреБрдЫ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдкрдХреЗ LLM рдЗрдВрдЬрди рдХреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рддрд░реНрдХ рди рдХрд░ рдкрд╛рдиреЗ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣реЛрддреА рд╣реИрдВред
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЯреНрд░реЗрд╕ рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдПрдХ `CodeAgent` рд╕реЗ рдПрдХ рдХрд╛рд░ рдХреА рддрд╕реНрд╡реАрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛:
+```
+==================================================================================================== New task ====================================================================================================
+Make me a cool car picture
+тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА New step тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+Agent is executing the code below: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+image_generator(prompt="A cool, futuristic sports car with LED headlights, aerodynamic design, and vibrant color, high-res, photorealistic")
+тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+
+Last output from code snippet: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+/var/folders/6m/9b1tts6d5w960j80wbw9tx3m0000gn/T/tmpx09qfsdd/652f0007-3ee9-44e2-94ac-90dae6bb89a4.png
+Step 1:
+
+- Time taken: 16.35 seconds
+- Input tokens: 1,383
+- Output tokens: 77
+тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА New step тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+Agent is executing the code below: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+final_answer("/var/folders/6m/9b1tts6d5w960j80wbw9tx3m0000gn/T/tmpx09qfsdd/652f0007-3ee9-44e2-94ac-90dae6bb89a4.png")
+тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+Print outputs:
+
+Last output from code snippet: тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА
+/var/folders/6m/9b1tts6d5w960j80wbw9tx3m0000gn/T/tmpx09qfsdd/652f0007-3ee9-44e2-94ac-90dae6bb89a4.png
+Final answer:
+/var/folders/6m/9b1tts6d5w960j80wbw9tx3m0000gn/T/tmpx09qfsdd/652f0007-3ee9-44e2-94ac-90dae6bb89a4.png
+```
+рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ, рдПрдХ рдЗрдореЗрдЬ рд▓реМрдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкрд╛рде рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
+рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдХреА: рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХрд┐ LLM рдмреНрд░реЗрди рдиреЗ рдЗрдореЗрдЬ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░рдиреЗ рдХреА рдЧрд▓рддреА рдХреАред
+рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдЗрдореЗрдЬ рдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╕рд┐рд╡рд╛рдп рдЗрдореЗрдЬ рдХреЛ рд╕реЗрд╡ рдХрд░рддреЗ рд╕рдордп рд▓реЙрдЧ рдХрд┐рдП рдЧрдП рдкрд╛рде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрдореЗрдЬ рдХреЗ рдмрдЬрд╛рдп рдкрд╛рде рд▓реМрдЯрд╛рддрд╛ рд╣реИред
+
+рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ "рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА LLM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ"ред `Qwen2/5-72B-Instruct` рдЬреИрд╕реЗ рд╡рд┐рдХрд▓реНрдк рд╡рд╣ рдЧрд▓рддреА рдирд╣реАрдВ рдХрд░рддреЗред
+
+### 2. рдЕрдзрд┐рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рди / рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
+
+рдЖрдк рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдореЙрдбрд▓реНрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╢рд░реНрддреЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реЗрдВред
+
+рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреА рдЬрдЧрд╣ рд░рдЦреЗрдВ: рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЙрдбрд▓ рд╣реЛрддреЗ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реА (рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ + рдХрд╛рд░реНрдп рдирд┐рд░реНрдорд╛рдг + рдЯреВрд▓ рд╡рд┐рд╡рд░рдг рд╕реЗ) рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ?
+
+рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА?
+
+рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреБрд░рдВрдд рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдХрдИ рд╕рдорд╛рдпреЛрдЬрди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рддрдм рддрдХ рдирд╣реАрдВ рдмрд┐рдЧрд╛рдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рдЬрдм рддрдХ рдЖрдк рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭрддреЗред
+рдЕрдкрдиреЗ LLM рдЗрдВрдЬрди рдХреЛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╣реИрдВ:
+- рдпрджрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ: рдЗрди рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдХрд╛рд░реНрдп рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдХрд╛рд░реНрдп 100 рдкреЗрдЬ рд▓рдВрдмрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
+- рдпрджрд┐ рдпрд╣ рдЯреВрд▓реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ: рдЖрдкрдХреЗ рдЯреВрд▓реНрд╕ рдХреА рд╡рд┐рд╡рд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛ред
+
+### 3. рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдмрджрд▓реЗрдВ (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреА рдЬрд╛рддреА)
+
+рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП [`CodeAgent`] рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ (рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрдЬрди рдЬреАрд░реЛ-рд╢реЙрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
+
+```python
+print(agent.system_prompt_template)
+```
+Here is what you get:
+```text
+You are an expert assistant who can solve any task using code blobs. You will be given a task to solve as best you can.
+To do so, you have been given access to a list of tools: these tools are basically Python functions which you can call with code.
+To solve the task, you must plan forward to proceed in a series of steps, in a cycle of 'Thought:', 'Code:', and 'Observation:' sequences.
+
+At each step, in the 'Thought:' sequence, you should first explain your reasoning towards solving the task and the tools that you want to use.
+Then in the 'Code:' sequence, you should write the code in simple Python. The code sequence must end with '' sequence.
+During each intermediate step, you can use 'print()' to save whatever important information you will then need.
+These print outputs will then appear in the 'Observation:' field, which will be available as input for the next step.
+In the end you have to return a final answer using the `final_answer` tool.
+
+Here are a few examples using notional tools:
+---
+{examples}
+
+Above example were using notional tools that might not exist for you. On top of performing computations in the Python code snippets that you create, you only have access to these tools:
+
+{{tool_descriptions}}
+
+{{managed_agents_descriptions}}
+
+Here are the rules you should always follow to solve your task:
+1. Always provide a 'Thought:' sequence, and a 'Code:\n```py' sequence ending with '```' sequence, else you will fail.
+2. Use only variables that you have defined!
+3. Always use the right arguments for the tools. DO NOT pass the arguments as a dict as in 'answer = wiki({'query': "What is the place where James Bond lives?"})', but use the arguments directly as in 'answer = wiki(query="What is the place where James Bond lives?")'.
+4. Take care to not chain too many sequential tool calls in the same code block, especially when the output format is unpredictable. For instance, a call to search has an unpredictable return format, so do not have another tool call that depends on its output in the same block: rather output results with print() to use them in the next block.
+5. Call a tool only when needed, and never re-do a tool call that you previously did with the exact same parameters.
+6. Don't name any new variable with the same name as a tool: for instance don't name a variable 'final_answer'.
+7. Never create any notional variables in our code, as having these in your logs might derail you from the true variables.
+8. You can use imports in your code, but only from the following list of modules: {{authorized_imports}}
+9. The state persists between code executions: so if in one step you've created variables or imported modules, these will all persist.
+10. Don't give up! You're in charge of solving the task, not providing directions to solve it.
+
+Now Begin! If you solve the task correctly, you will receive a reward of $1,000,000.
+```
+
+рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, `"{{tool_descriptions}}"` рдЬреИрд╕реЗ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рд╣реИрдВ: рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдЬреЗрдВрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд╕рдордп рдЯреВрд▓реНрд╕ рдпрд╛ рдореИрдиреЗрдЬреНрдб рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
+
+рдЗрд╕рд▓рд┐рдП рдЬрдмрдХрд┐ рдЖрдк `system_prompt` рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдХреЗ рдЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдирдП рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:
+- рдЯреВрд▓ рд╡рд┐рд╡рд░рдг рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП `"{{tool_descriptions}}"`ред
+- рдпрджрд┐ рдХреЛрдИ рдореИрдиреЗрдЬреНрдб рдПрдЬреЗрдВрдЯреНрд╕ рд╣реИрдВ рддреЛ рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП `"{{managed_agents_description}}"`ред
+- рдХреЗрд╡рд▓ `CodeAgent` рдХреЗ рд▓рд┐рдП: рдЕрдзрд┐рдХреГрдд рдЗрдореНрдкреЛрд░реНрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП `"{{authorized_imports}}"`ред
+
+рдлрд┐рд░ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
+
+```py
+from smolagents.prompts import CODE_SYSTEM_PROMPT
+
+modified_system_prompt = CODE_SYSTEM_PROMPT + "\nHere you go!" # Change the system prompt here
+
+agent = CodeAgent(
+ tools=[],
+ model=HfApiModel(),
+ system_prompt=modified_system_prompt
+)
+```
+
+This also works with the [`ToolCallingAgent`].
+
+
+### 4. рдЕрддрд┐рд░рд┐рдХреНрдд рдпреЛрдЬрдирд╛
+
+рд╣рдо рдкреВрд░рдХ рдпреЛрдЬрдирд╛ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдПрдЬреЗрдВрдЯ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдХреЛрдИ рдЯреВрд▓ рдХреЙрд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, LLM рд╕реЗ рдХреЗрд╡рд▓ рдЙрди рддрдереНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рдЗрди рддрдереНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕реЗ рдЕрдЧрд▓реЗ рдХрджрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
+
+```py
+from smolagents import load_tool, CodeAgent, HfApiModel, DuckDuckGoSearchTool
+from dotenv import load_dotenv
+
+load_dotenv()
+
+# Import tool from Hub
+image_generation_tool = load_tool("m-ric/text-to-image", trust_remote_code=True)
+
+search_tool = DuckDuckGoSearchTool()
+
+agent = CodeAgent(
+ tools=[search_tool],
+ model=HfApiModel("Qwen/Qwen2.5-72B-Instruct"),
+ planning_interval=3 # This is where you activate planning!
+)
+
+# Run it!
+result = agent.run(
+ "How long would a cheetah at full speed take to run the length of Pont Alexandre III?",
+)
+```
diff --git a/docs/source/hi/tutorials/inspect_runs.md b/docs/source/hi/tutorials/inspect_runs.md
new file mode 100644
index 0000000..db85fc7
--- /dev/null
+++ b/docs/source/hi/tutorials/inspect_runs.md
@@ -0,0 +1,104 @@
+
+# OpenTelemetry рдХреЗ рд╕рд╛рде runs рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг
+
+[[open-in-colab]]
+
+> [!TIP]
+> рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ [рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп](../conceptual_guides/intro_agents) рдФрд░ [smolagents рдХреА рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░](../guided_tour) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+
+### Agents runs рдХреЛ рд▓реЙрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?
+
+Agent runs рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
+
+рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдПрдХ рд░рди рдареАрдХ рд╕реЗ рдЪрд▓рд╛ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдЬреЗрдВрдЯ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ [рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд](../conceptual_guides/intro_agents) рд╣реЛрддреЗ рд╣реИрдВ (рдпрджрд┐ рд╡реЗ рдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрддреЗ, рддреЛ рдЖрдк рдкреБрд░рд╛рдиреЗ рдЕрдЪреНрдЫреЗ рдХреЛрдб рдХрд╛ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ)ред
+
+рдФрд░ рд░рди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рднреА рдХрдард┐рди рд╣реИ: рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдк рдПрдЬреЗрдВрдЯреНрд╕ рдЬрд▓реНрджреА рд╣реА рдХрдВрд╕реЛрд▓ рдХреЛ рд▓реЙрдЧ рд╕реЗ рднрд░ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреЗрд╡рд▓ "LLM dumb" рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рдирд╕реЗ LLM рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рдмреЗрд╣рддрд░ рдХреЛрдб рдпрд╛ рдЯреВрд▓ рдХреЙрд▓ рд▓рд┐рдЦрдХрд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╕реБрдзрд╛рд░ рд▓реЗрддрд╛ рд╣реИред
+
+рдЗрд╕рд▓рд┐рдП рдмрд╛рдж рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ agent runs рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреНрд░реБрдореЗрдВрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ!
+
+рд╣рдордиреЗ agent runs рдХреЛ рдЗрдВрд╕реНрдЯреНрд░реБрдореЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [OpenTelemetry](https://opentelemetry.io/) рдорд╛рдирдХ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рд╣реИред
+
+рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдмрд╕ рдХреБрдЫ рдЗрдВрд╕реНрдЯреНрд░реБрдореЗрдВрдЯреЗрд╢рди рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯреНрд╕ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рд▓реЙрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
+
+рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ:
+рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рд╣рдо [Phoenix by Arize AI](https://github.com/Arize-ai/phoenix) рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЙрдЧреНрд╕ рдХреЛ рдПрдХрддреНрд░ рдФрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рдирд┐рд░реАрдХреНрд╖рдг рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЖрдк рдЕрдиреНрдп OpenTelemetry-рдХрдореНрдкреИрдЯрд┐рдмрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдореНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+```shell
+pip install smolagents
+pip install arize-phoenix opentelemetry-sdk opentelemetry-exporter-otlp openinference-instrumentation-smolagents
+```
+
+рдлрд┐рд░ рдХрд▓реЗрдХреНрдЯрд░ рдХреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓рд╛рдПрдВред
+
+```shell
+python -m phoenix.server.main serve
+```
+
+рдЕрдВрдд рдореЗрдВ, рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯреНрд╕ рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдФрд░ рдЯреНрд░реЗрд╕ рдХреЛ рдиреАрдЪреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ Phoenix рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `SmolagentsInstrumentor` рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВред
+
+```python
+from opentelemetry import trace
+from opentelemetry.sdk.trace import TracerProvider
+from opentelemetry.sdk.trace.export import BatchSpanProcessor
+
+from openinference.instrumentation.smolagents import SmolagentsInstrumentor
+from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
+from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
+
+endpoint = "http://0.0.0.0:6006/v1/traces"
+trace_provider = TracerProvider()
+trace_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
+
+SmolagentsInstrumentor().instrument(tracer_provider=trace_provider)
+```
+рддрдм рдЖрдк рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ!
+
+```py
+from smolagents import (
+ CodeAgent,
+ ToolCallingAgent,
+ ManagedAgent,
+ DuckDuckGoSearchTool,
+ VisitWebpageTool,
+ HfApiModel,
+)
+
+model = HfApiModel()
+
+agent = ToolCallingAgent(
+ tools=[DuckDuckGoSearchTool(), VisitWebpageTool()],
+ model=model,
+)
+managed_agent = ManagedAgent(
+ agent=agent,
+ name="managed_agent",
+ description="This is an agent that can do web search.",
+)
+manager_agent = CodeAgent(
+ tools=[],
+ model=model,
+ managed_agents=[managed_agent],
+)
+manager_agent.run(
+ "If the US keeps its 2024 growth rate, how many years will it take for the GDP to double?"
+)
+```
+рдФрд░ рдлрд┐рд░ рдЖрдк рдЕрдкрдиреЗ рд░рди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `http://0.0.0.0:6006/projects/` рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ!
+
+
+
+рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ CodeAgent рдиреЗ рдЕрдкрдиреЗ рдореИрдиреЗрдЬреНрдб ToolCallingAgent рдХреЛ (рд╡реИрд╕реЗ, рдореИрдиреЗрдЬреНрдб рдПрдЬреЗрдВрдЯ рдПрдХ CodeAgent рднреА рд╣реЛ рд╕рдХрддрд╛ рдерд╛) U.S. 2024 рдЧреНрд░реЛрде рд░реЗрдЯ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╕рд░реНрдЪ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд┐рдпрд╛ред рдлрд┐рд░ рдореИрдиреЗрдЬреНрдб рдПрдЬреЗрдВрдЯ рдиреЗ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рд▓реМрдЯрд╛рдИ рдФрд░ рдореИрдиреЗрдЬрд░ рдПрдЬреЗрдВрдЯ рдиреЗ рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рджреЛрдЧреБрдирд╛ рд╣реЛрдиреЗ рдХрд╛ рд╕рдордп рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд░ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛! рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣реИ рдирд╛?
\ No newline at end of file
diff --git a/docs/source/hi/tutorials/secure_code_execution.md b/docs/source/hi/tutorials/secure_code_execution.md
new file mode 100644
index 0000000..ad2cd8c
--- /dev/null
+++ b/docs/source/hi/tutorials/secure_code_execution.md
@@ -0,0 +1,82 @@
+
+# рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди
+
+[[open-in-colab]]
+
+> [!TIP]
+> рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ [рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп](../conceptual_guides/intro_agents) рдФрд░ [smolagents рдХреА рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░](../guided_tour) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+
+### рдХреЛрдб Agents
+
+[рдХрдИ](https://huggingface.co/papers/2402.01030) [рд╢реЛрдз](https://huggingface.co/papers/2411.01747) [рдкрддреНрд░реЛрдВ](https://huggingface.co/papers/2401.00812) рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ LLM рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреА рдХреНрд░рд┐рдпрд╛рдУрдВ (рдЯреВрд▓ рдХреЙрд▓реНрд╕) рдХреЛ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрдирд╛, рдЯреВрд▓ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд╡рд░реНрддрдорд╛рди рдорд╛рдирдХ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рдЬреЛ industry рдореЗрдВ "рдЯреВрд▓реНрд╕ рдиреЗрдореНрд╕ рдФрд░ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреЛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдиреЗ" рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдк рд╣реИрдВред
+
+рдХреЛрдб рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреА рдХреЛрдб рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ JSON рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛрддрд╛, рддреЛ рдпрд╣ рдкреИрдХреЗрдЬ JSON рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛ рдФрд░ рд╢реИрддрд╛рди рд╣рдо рдкрд░ рд╣рдВрд╕ рд░рд╣рд╛ рд╣реЛрддрд╛ред
+
+рдХреЛрдб рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХреНрд░рд┐рдпрд╛рдПрдБ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИ:
+- **рдХрдВрдкреЛрдЬрд╝реЗрдмрд┐рд▓рд┐рдЯреА:** рдХреНрдпрд╛ рдЖрдк JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рднреАрддрд░ рдиреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╛рдж рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЖрдк рдмрд╕ рдПрдХ рдкрд╛рдпрдерди рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
+- **рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрди:** JSON рдореЗрдВ `generate_image` рдЬреИрд╕реА рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ?
+- **рд╕рд╛рдорд╛рдиреНрдпрддрд╛:** рдХреЛрдб рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛рд░реНрдп рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
+- **LLM рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЙрд░реНрдкрд╕ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡:** рдХреНрдпреЛрдВ рди рдЗрд╕ рдЖрд╢реАрд░реНрд╡рд╛рдж рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВ рдХрд┐ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА LLM рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ?
+
+рдпрд╣ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ [Executable Code Actions Elicit Better LLM Agents](https://huggingface.co/papers/2402.01030) рд╕реЗ рд▓реА рдЧрдИ рд╣реИред
+
+
+
+рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХреЛрдб рдПрдЬреЗрдВрдЯреНрд╕, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд╛рдпрдерди рдПрдЬреЗрдВрдЯреНрд╕ рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдмрдирд╛рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдерд╛ред
+
+### рд▓реЛрдХрд▓ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░
+
+рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, `CodeAgent` LLM-рдЬрдирд░реЗрдЯреЗрдб рдХреЛрдб рдХреЛ рдЖрдкрдХреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред
+рдпрд╣ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡реИрдирд┐рд▓рд╛ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛: рд╣рдордиреЗ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд `LocalPythonInterpreter` рдХреЛ рд╢реБрд░реВ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИред
+рдпрд╣ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
+ - рдЗрдореНрдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХреА рдЧрдИ рд╕реВрдЪреА рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛
+ - рдЗрдирдлрд┐рдирд┐рдЯ рд▓реВрдкреНрд╕ рдФрд░ рд░рд┐рд╕реЛрд░реНрд╕ рдмреНрд▓реЛрдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рдВрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреИрдк рдХрд░рдирд╛
+ - рдХреЛрдИ рднреА рдРрд╕рд╛ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ
+
+рд╣рдордиреЗ рдЗрд╕реЗ рдХрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдХрднреА рднреА рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рджреЗрдЦрд╛ред
+
+рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ: рдХреЛрдИ рдРрд╕реЗ рдЕрд╡рд╕рд░реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП LLM рдЕрднреА рднреА рдЖрдкрдХреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `Pillow` рдЬреИрд╕реЗ рдорд╛рд╕реВрдо рдкреИрдХреЗрдЬ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ, рддреЛ LLM рдЖрдкрдХреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдмреНрд▓реЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реЗрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
+рдпрджрд┐ рдЖрдкрдиреЗ рдЦреБрдж LLM рдЗрдВрдЬрди рдЪреБрдирд╛ рд╣реИ рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
+
+рддреЛ рдпрджрд┐ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд░рд┐рдореЛрдЯ рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+### E2B рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░
+
+рдЕрдзрд┐рдХрддрдо рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЛрдб рдХреЛ рд╕реИрдВрдбрдмреЙрдХреНрд╕реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП E2B рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд░рд┐рдореЛрдЯ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдПрдХ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдб рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХрд╛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
+
+рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдирд╛ E2B рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдЕрдкрдирд╛ `E2B_API_KEY` рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП [E2B рдХреА рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди](https://e2b.dev/docs/quickstart) рдкрд░ рдЬрд╛рдПрдВред
+
+рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ `pip install e2b-code-interpreter python-dotenv` рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдЕрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВ!
+
+рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░ рдХреЛ E2B рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЕрдкрдиреЗ `CodeAgent` рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп `use_e2b_executor=True` рдлреНрд▓реИрдЧ рдкрд╛рд╕ рдХрд░реЗрдВред
+рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ `additional_authorized_imports` рдореЗрдВ рд╕рднреА рдЯреВрд▓ рдХреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдЬреЛрдбрд╝рдиреА рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗред
+
+```py
+from smolagents import CodeAgent, VisitWebpageTool, HfApiModel
+agent = CodeAgent(
+ tools = [VisitWebpageTool()],
+ model=HfApiModel(),
+ additional_authorized_imports=["requests", "markdownify"],
+ use_e2b_executor=True
+)
+
+agent.run("What was Abraham Lincoln's preferred pet?")
+```
+
+E2B рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдмреНрд▓реЙрдм рдореЗрдВ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЙрд▓ рдХрд░рдирд╛ рдЬреЛ рд░рд┐рдореЛрдЯрд▓реА рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ!
diff --git a/docs/source/hi/tutorials/tools.md b/docs/source/hi/tutorials/tools.md
new file mode 100644
index 0000000..bb56d7b
--- /dev/null
+++ b/docs/source/hi/tutorials/tools.md
@@ -0,0 +1,247 @@
+
+# Tools
+
+[[open-in-colab]]
+
+рдпрд╣рд╛рдБ, рд╣рдо рдПрдбрд╡рд╛рдВрд╕реНрдб tools рдЙрдкрдпреЛрдЧ рджреЗрдЦреЗрдВрдЧреЗред
+
+> [!TIP]
+> рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ [рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп](../conceptual_guides/intro_agents) рдФрд░ [smolagents рдХреА рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░](../guided_tour) рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
+
+- [Tools](#tools)
+ - [рдЯреВрд▓ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ?](#рдЯреВрд▓-рдХреНрдпрд╛-рд╣реИ-рдФрд░-рдЗрд╕реЗ-рдХреИрд╕реЗ-рдмрдирд╛рдПрдВ)
+ - [рдЕрдкрдирд╛ рдЯреВрд▓ рд╣рдм рдкрд░ рд╢реЗрдпрд░ рдХрд░реЗрдВ](#рдЕрдкрдирд╛-рдЯреВрд▓-рд╣рдм-рдкрд░-рд╢реЗрдпрд░-рдХрд░реЗрдВ)
+ - [рд╕реНрдкреЗрд╕ рдХреЛ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВ](#рд╕реНрдкреЗрд╕-рдХреЛ-рдЯреВрд▓-рдХреЗ-рд░реВрдк-рдореЗрдВ-рдЗрдореНрдкреЛрд░реНрдЯ-рдХрд░реЗрдВ)
+ - [LangChain рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ](#LangChain-рдЯреВрд▓реНрд╕-рдХрд╛-рдЙрдкрдпреЛрдЧ-рдХрд░реЗрдВ)
+ - [рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░реЗрдВ](#рдЕрдкрдиреЗ-рдПрдЬреЗрдВрдЯ-рдХреЗ-рдЯреВрд▓рдмреЙрдХреНрд╕-рдХреЛ-рдореИрдиреЗрдЬ-рдХрд░реЗрдВ)
+ - [рдЯреВрд▓реНрд╕ рдХрд╛ рдХрд▓реЗрдХреНрд╢рди рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ](#рдЯреВрд▓реНрд╕-рдХрд╛-рдХрд▓реЗрдХреНрд╢рди-рдЙрдкрдпреЛрдЧ-рдХрд░реЗрдВ)
+
+### рдЯреВрд▓ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ
+
+рдЯреВрд▓ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ LLM рдПрдЬреЗрдВрдЯрд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
+
+рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, LLM рдХреЛ рдПрдХ API рджреА рдЬрд╛рдПрдЧреА: рдирд╛рдо, рдЯреВрд▓ рд╡рд┐рд╡рд░рдг, рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╡рд┐рд╡рд░рдг, рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░ред
+
+рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
+
+рддреЛ рдореВрд▓ рд░реВрдк рд╕реЗ, рдЯреВрд▓ рдПрдХ рдХреНрд▓рд╛рд╕ рд╣реИ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд░реИрдк рдХрд░рддреА рд╣реИ рдЬреЛ LLM рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
+
+рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
+
+```python
+from smolagents import Tool
+
+class HFModelDownloadsTool(Tool):
+ name = "model_download_counter"
+ description = """
+ This is a tool that returns the most downloaded model of a given task on the Hugging Face Hub.
+ It returns the name of the checkpoint."""
+ inputs = {
+ "task": {
+ "type": "string",
+ "description": "the task category (such as text-classification, depth-estimation, etc)",
+ }
+ }
+ output_type = "string"
+
+ def forward(self, task: str):
+ from huggingface_hub import list_models
+
+ model = next(iter(list_models(filter=task, sort="downloads", direction=-1)))
+ return model.id
+
+model_downloads_tool = HFModelDownloadsTool()
+```
+
+рдХрд╕реНрдЯрдо рдЯреВрд▓ `Tool` рдХреЛ рд╕рдмрдХреНрд▓рд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЙрдкрдпреЛрдЧреА рдореЗрдердбреНрд╕ рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЪрд╛рдЗрд▓реНрдб рдХреНрд▓рд╛рд╕ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ:
+- рдПрдХ `name` рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ, рдЬреЛ рдЯреВрд▓ рдХреЗ рдирд╛рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдирд╛рдо рдЖрдорддреМрд░ рдкрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯреВрд▓ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХреЛрдб рдПрдХ рдЯрд╛рд╕реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЛ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ `model_download_counter` рдирд╛рдо рджреЗрдВред
+- рдПрдХ `description` рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдкреЙрдкреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
+- рдПрдХ `inputs` рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ, рдЬреЛ `"type"` рдФрд░ `"description"` keys рд╡рд╛рд▓рд╛ рдбрд┐рдХреНрд╢рдирд░реА рд╣реИред рдЗрд╕рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред
+- рдПрдХ `output_type` рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдЯрд╛рдЗрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред `inputs` рдФрд░ `output_type` рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк [Pydantic formats](https://docs.pydantic.dev/latest/concepts/json_schema/#generating-json-schema) рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рд╡реЗ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: [`~AUTHORIZED_TYPES`]ред
+- рдПрдХ `forward` рдореЗрдердб рдЬрд┐рд╕рдореЗрдВ рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЗрдиреНрдлрд░реЗрдВрд╕ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред
+
+рдПрдЬреЗрдВрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╣реА рдЪрд╛рд╣рд┐рдП!
+
+рдЯреВрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред [guided_tour](../guided_tour) рдореЗрдВ, рд╣рдордиреЗ `@tool` рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЯреВрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред [`tool`] рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕рд░рд▓ рдЯреВрд▓реНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдХрдИ рдореЗрдердбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд▓рд╛рд╕ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
+
+рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ [`Tool`] рдХреЛ рд╕рдмрдХреНрд▓рд╛рд╕ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдЯреВрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
+
+### рдЕрдкрдирд╛ рдЯреВрд▓ рд╣рдм рдкрд░ рд╢реЗрдпрд░ рдХрд░реЗрдВ
+
+рдЖрдк рдЯреВрд▓ рдкрд░ [`~Tool.push_to_hub`] рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдХрд╕реНрдЯрдо рдЯреВрд▓ рд╣рдм рдкрд░ рд╢реЗрдпрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╣рдм рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдИ рд╣реИ рдФрд░ рдЖрдк рд░реАрдб рдПрдХреНрд╕реЗрд╕ рд╡рд╛рд▓рд╛ рдЯреЛрдХрди рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
+
+```python
+model_downloads_tool.push_to_hub("{your_username}/hf-model-downloads", token="")
+```
+
+рд╣рдм рдкрд░ рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдЯреВрд▓ рдХреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
+- рд╕рднреА рдореЗрдердбреНрд╕ рд╕реЗрд▓реНрдл-рдХрдВрдЯреЗрдиреНрдб рд╣реИрдВ, рдпрд╛рдиреА рдЙрдирдХреЗ рдЖрд░реНрдЧреНрд╕ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
+- рдЙрдкрд░реЛрдХреНрдд рдмрд┐рдВрджреБ рдХреЗ рдЕрдиреБрд╕рд╛рд░, **рд╕рднреА рдЗрдореНрдкреЛрд░реНрдЯреНрд╕ рдХреЛ рд╕реАрдзреЗ рдЯреВрд▓ рдХреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рднреАрддрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП**, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдЯреВрд▓ рдХреЗ рд╕рд╛рде [`~Tool.save`] рдпрд╛ [`~Tool.push_to_hub`] рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдПрд░рд░ рдорд┐рд▓реЗрдЧрд╛ред
+- рдпрджрд┐ рдЖрдк `__init__` рд╡рд┐рдзрд┐ рдХреЛ рд╕рдмрдХреНрд▓рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ `self` рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреВрд▓ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреЛ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╣рдм рдкрд░ рдареАрдХ рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдФрд░ рд╡реИрд╕реЗ рднреА, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╣рд╛рд░реНрдб-рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдмрд╕ `your_variable=(...)` рдХреЛ рд╕реАрдзреЗ `class YourTool(Tool):` рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕реЗрдЯ рдХрд░реЗрдВ ). рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЕрднреА рднреА `self.your_variable` рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рднреА рдПрдХ рдХреНрд▓рд╛рд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
+
+
+рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХрд╛ рдЯреВрд▓ рд╣рдм рдкрд░ рдкреБрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред [рдпрд╣рд╛рдБ](https://huggingface.co/spaces/m-ric/hf-model-downloads) `model_downloads_tool` рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкреБрд╢ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЧреНрд░реЗрдбрд┐рдпреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред
+
+рдЯреВрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдкрд░, рдЖрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рд░реА рдЯреВрд▓ рд▓реЙрдЬрд┐рдХ [tool.py](https://huggingface.co/spaces/m-ric/hf-model-downloads/blob/main/tool.py) рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╣реИред рдпрд╣реАрдВ рдЖрдк рдХрд┐рд╕реА рдФрд░ рджреНрд╡рд╛рд░рд╛ рд╢реЗрдпрд░ рдХрд┐рдП рдЧрдП рдЯреВрд▓ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+рдлрд┐рд░ рдЖрдк рдЯреВрд▓ рдХреЛ [`load_tool`] рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ [`~Tool.from_hub`] рдХреЗ рд╕рд╛рде рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдореЗрдВ `tools` рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+рдЪреВрдВрдХрд┐ рдЯреВрд▓реНрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рдХрд╕реНрдЯрдо рдХреЛрдб рдЪрд▓рд╛рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╣рдм рд╕реЗ рдЯреВрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `trust_remote_code=True` рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд░рдЦрддреЗ рд╣реИрдВред
+
+```python
+from smolagents import load_tool, CodeAgent
+
+model_download_tool = load_tool(
+ "{your_username}/hf-model-downloads",
+ trust_remote_code=True
+)
+```
+
+### рд╕реНрдкреЗрд╕ рдХреЛ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВ
+
+рдЖрдк [`Tool.from_space`] рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдм рд╕реЗ рдПрдХ рд╕реНрдкреЗрд╕ рдХреЛ рд╕реАрдзреЗ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
+
+рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╣рдм рдкрд░ рд╕реНрдкреЗрд╕ рдХреА ID, рдЗрд╕рдХрд╛ рдирд╛рдо, рдФрд░ рдПрдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдЯреВрд▓ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдВрджрд░ рд╕реЗ, рдпрд╣ рд╕реНрдкреЗрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [`gradio-client`](https://pypi.org/project/gradio-client/) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
+
+рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд▓рд┐рдП рд╣рдм рд╕реЗ [FLUX.1-dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) рд╕реНрдкреЗрд╕ рдХреЛ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдЗрдореЗрдЬ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред
+
+```python
+image_generation_tool = Tool.from_space(
+ "black-forest-labs/FLUX.1-schnell",
+ name="image_generator",
+ description="Generate an image from a prompt"
+)
+
+image_generation_tool("A sunny beach")
+```
+рдФрд░ рджреЗрдЦреЛ, рдпрд╣ рддреБрдореНрд╣рд╛рд░реА рдЫрд╡рд┐ рд╣реИ! ЁЯПЦя╕П
+
+
+
+рдлрд┐рд░ рдЖрдк рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯреВрд▓ рдХреА рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд▓рд┐рдП рдкреНрд░реЙрдореНрдкреНрдЯ `a rabbit wearing a space suit` рдХреЛ рд╕реБрдзрд╛рд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рдПрдХ рдЗрдореЗрдЬ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдпрд╣ рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдЬреЗрдВрдЯ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
+
+```python
+from smolagents import CodeAgent, HfApiModel
+
+model = HfApiModel("Qwen/Qwen2.5-Coder-32B-Instruct")
+agent = CodeAgent(tools=[image_generation_tool], model=model)
+
+agent.run(
+ "Improve this prompt, then generate an image of it.", additional_args={'user_prompt': 'A rabbit wearing a space suit'}
+)
+```
+
+```text
+=== Agent thoughts:
+improved_prompt could be "A bright blue space suit wearing rabbit, on the surface of the moon, under a bright orange sunset, with the Earth visible in the background"
+
+Now that I have improved the prompt, I can use the image generator tool to generate an image based on this prompt.
+>>> Agent is executing the code below:
+image = image_generator(prompt="A bright blue space suit wearing rabbit, on the surface of the moon, under a bright orange sunset, with the Earth visible in the background")
+final_answer(image)
+```
+
+
+
+рдпрд╣ рдХрд┐рддрдирд╛ рдХреВрд▓ рд╣реИ? ЁЯдй
+
+### LangChain рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
+
+рд╣рдо LangChain рдХреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЯреВрд▓реНрд╕ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдЖрдХрд░реНрд╖рдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред
+LangChain рд╕реЗ рдПрдХ рдЯреВрд▓ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, `from_langchain()` рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
+
+рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк LangChain рд╡реЗрдм рд╕рд░реНрдЪ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд░реНрдЪ рд░рд┐рдЬрд▓реНрдЯ рдХреЛ рдХреИрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
+рдЗрд╕ рдЯреВрд▓ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `pip install langchain google-search-results -q` рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
+```python
+from langchain.agents import load_tools
+
+search_tool = Tool.from_langchain(load_tools(["serpapi"])[0])
+
+agent = CodeAgent(tools=[search_tool], model=model)
+
+agent.run("How many more blocks (also denoted as layers) are in BERT base encoder compared to the encoder from the architecture proposed in Attention is All You Need?")
+```
+
+### рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░реЗрдВ
+
+рдЖрдк рдПрдЬреЗрдВрдЯ рдХреЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЛ `agent.tools` рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдореЗрдВ рдПрдХ рдЯреВрд▓ рдЬреЛрдбрд╝рдХрд░ рдпрд╛ рдмрджрд▓рдХрд░ рдореИрдиреЗрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реНрдЯреИрдВрдбрд░реНрдб рдбрд┐рдХреНрд╢рдирд░реА рд╣реИред
+
+рдЪрд▓рд┐рдП рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдП рдЧрдП рдореМрдЬреВрджрд╛ рдПрдЬреЗрдВрдЯ рдореЗрдВ `model_download_tool` рдЬреЛрдбрд╝реЗрдВред
+
+```python
+from smolagents import HfApiModel
+
+model = HfApiModel("Qwen/Qwen2.5-Coder-32B-Instruct")
+
+agent = CodeAgent(tools=[], model=model, add_base_tools=True)
+agent.tools[model_download_tool.name] = model_download_tool
+```
+рдЕрдм рд╣рдо рдирдП рдЯреВрд▓ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
+
+```python
+agent.run(
+ "Can you give me the name of the model that has the most downloads in the 'text-to-video' task on the Hugging Face Hub but reverse the letters?"
+)
+```
+
+
+> [!TIP]
+> рдПрдЬреЗрдВрдЯ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЯреВрд▓реНрд╕ рди рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: рдпрд╣ рдХрдордЬреЛрд░ LLM рдЗрдВрдЬрди рдХреЛ рдУрд╡рд░рд╡реНрд╣реЗрд▓реНрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
+
+
+### рдЯреВрд▓реНрд╕ рдХрд╛ рдХрд▓реЗрдХреНрд╢рди рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
+
+рдЖрдк `ToolCollection` рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреВрд▓ рдХрд▓реЗрдХреНрд╢рдВрд╕ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдпрд╛ рддреЛ рд╣рдм рд╕реЗ рдПрдХ рдХрд▓реЗрдХреНрд╢рди рдпрд╛ MCP рд╕рд░реНрд╡рд░ рдЯреВрд▓реНрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
+
+#### рд╣рдм рдореЗрдВ рдХрд▓реЗрдХреНрд╢рди рд╕реЗ рдЯреВрд▓ рдХрд▓реЗрдХреНрд╢рди
+
+рдЖрдк рдЙрд╕ рдХрд▓реЗрдХреНрд╢рди рдХреЗ рд╕реНрд▓рдЧ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
+рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░реЗрдВ!
+
+```py
+from smolagents import ToolCollection, CodeAgent
+
+image_tool_collection = ToolCollection.from_hub(
+ collection_slug="huggingface-tools/diffusion-tools-6630bb19a942c2306a2cdb6f",
+ token=""
+)
+agent = CodeAgent(tools=[*image_tool_collection.tools], model=model, add_base_tools=True)
+
+agent.run("Please draw me a picture of rivers and lakes.")
+```
+
+рд╕реНрдЯрд╛рд░реНрдЯ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреВрд▓реНрд╕ рдХреЗрд╡рд▓ рддрднреА рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
+
+#### рдХрд┐рд╕реА рднреА MCP рд╕рд░реНрд╡рд░ рд╕реЗ рдЯреВрд▓ рдХрд▓реЗрдХреНрд╢рди
+
+[glama.ai](https://glama.ai/mcp/servers) рдпрд╛ [smithery.ai](https://smithery.ai/) рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕реИрдХрдбрд╝реЛрдВ MCP рд╕рд░реНрд╡рд░реНрд╕ рд╕реЗ рдЯреВрд▓реНрд╕ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВред
+
+MCP рд╕рд░реНрд╡рд░реНрд╕ рдЯреВрд▓реНрд╕ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ `ToolCollection` рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
+
+```py
+from smolagents import ToolCollection, CodeAgent
+from mcp import StdioServerParameters
+
+server_parameters = StdioServerParameters(
+ command="uv",
+ args=["--quiet", "pubmedmcp@0.1.3"],
+ env={"UV_PYTHON": "3.12", **os.environ},
+)
+
+with ToolCollection.from_mcp(server_parameters) as tool_collection:
+ agent = CodeAgent(tools=[*tool_collection.tools], add_base_tools=True)
+ agent.run("Please find a remedy for hangover.")
+```
\ No newline at end of file