in src/smolagents/remote_executors.py [0:0]
def send_tools(self, tools: dict[str, Tool]):
if "final_answer" in tools:
self._patch_final_answer_with_exception(tools["final_answer"])
# Install tool packages
packages_to_install = {
pkg
for tool in tools.values()
for pkg in tool.to_dict()["requirements"]
if pkg not in self.installed_packages + ["smolagents"]
}
if packages_to_install:
self.installed_packages += self.install_packages(list(packages_to_install))
# Get tool definitions
code = get_tools_definition_code(tools)
if code:
code_output = self.run_code_raise_errors(code)
self.logger.log(code_output.logs)