Releases: huggingface/smolagents
Releases Β· huggingface/smolagents
v1.17.0
New Features β¨
- Structured Generation in CodeAgent: Add optional support for structured outputs in
CodeAgent
, enabling more reliable and consistent generation patterns- Adding optional structured generation to CodeAgent by @akseljoonas in #1346
- Support for Streamable HTTP MCP Servers: Expand compatibility with new server types to support streamable HTTP MCP implementations
- Support Streamable HTTP MCP servers by @albertvillanova in #1384
- Run Results from
Agent.run()
: TheAgent.run()
method can now return aRunResult
object, providing richer metadata on agent execution- Agent.run() can return RunResult object by @aymeric-roucher in #1337
Security Enhancements π
- Safer LocalPythonExecutor: Prevent indirect submodule access via attribute resolution, mitigating potential security risks in user-defined code
- Prevent submodules through indirect attribute access in LocalPythonExecutor by @albertvillanova in #1375
Enhancements π οΈ
- LocalPythonExecutor Enhancements:
- Support annotated assignments within class definition in LocalPythonExecutor by @albertvillanova in #1355
- Fix evaluate_class_def for Assign Attribute target in LocalPythonExecutor by @albertvillanova in #1357
- Support 'pass' statement in class definition in LocalPythonExecutor by @albertvillanova in #1358
- Refactor tests of LocalPythonExecutor by @albertvillanova in #1356
- Improve LaTeX rendering in GradioUI with extended delimiter support by @albertvillanova in #1387
Bug Fixes π
- Streaming fixes
- Fix live streaming when generating planning steps by @FlorianVal in #1348
- Stop streaming if LiteLLM provide a finish_reason by @FlorianVal in #1350
- add api_base and api_keys to preparation of kwargs for generate stream by @FlorianVal in #1344
- Fix WebSearchTool validation error by @albertvillanova in #1367
- Fix smolagents benchmark by @aymeric-roucher in #1377
Documentation Improvements π
- Add example docs about using OpenRouter models by @albertvillanova in #1364
- Fix Llama model name in docs example by @SaiDunoyer in #1379
- fix typo in docstring in mcp_client.py by @grll in #1380
- Document use_structured_outputs_internally with version added by @albertvillanova in #1388
- Fix rendering of version added in docs by @albertvillanova in #1389
- Fix broken link in agentic RAG examples page by @vksx in #1363
Maintenance ποΈ
- Bump dev version: v1.17.0.dev0 by @albertvillanova in #1336
- Remove deprecated from_hf_api methods by @albertvillanova in #1351
New Contributors
- @FlorianVal made their first contribution in #1344
- @vksx made their first contribution in #1363
- @akseljoon 8000 as made their first contribution in #1346
- @SaiDunoyer made their first contribution in #1379
Full Changelog: v1.16.1...v1.17.0
v1.16.1
Bug Fixes π
- Revert "Add timeout mechanism for code execution" by @albertvillanova in #1340
Full Changelog: v1.16.0...v1.16.1
v1.16.0
New features π
- Tools
- Add Bing search engine to WebSearchTool by @albertvillanova in #1313
- Local Python executor improvements
- Support passing custom functions to local Python executor by @albertvillanova in #1302
- Support executor_kwargs in LocalPythonExecutor for initialization customization by @albertvillanova in #1314
- Add timeout mechanism for code execution by @albertvillanova in #1318
- CLI improvements
- Enable local web agents via api_base and api_key by @zbloss in #1333
Important changes β οΈ
- Default provider for InferenceClientModel is now "auto"
The default value of theprovider
argument inInferenceClientModel
has changed from"hf-inference"
to"auto"
.
With"auto"
, the client will automatically select the first available provider for the model, following the user's configured priority at https://hf.co/settings/inference-providers
Bug Fixes π
- Streaming GradioUI fixes
- Fix thought yield in GradioUI for streaming and non-streaming by @albertvillanova in #1311
- Fix duplicate error message in GradioUI, test, and refactor by @albertvillanova in #1312
- Fix duplicate plan display in GradioUI when streaming by @albertvillanova in #1317
Documentation π
- Improve docs about Agentic RAG by @albertvillanova in #1319
- Update Readme video with streaming example by @aymeric-roucher in #1306
Misc π οΈ
- Bump dev version: v1.16.0.dev0 by @albertvillanova in #1304
- Update minimum supported Gradio version to 5.14.0 to fix Sidebar-related AttributeError by @albertvillanova in #1309
- Fix deprecation of HfApiModel by @albertvillanova in #1315
- Fix CI DuckDuckGoSearchTool tests raising 202 Ratelimit by @albertvillanova in #1324
- Remove utils dir from Makefile check_dirs by @tobiasofsn in #1335
New Contributors
- @tobiasofsn made their first contribution in #1335
- @zbloss made their first contribution in #1333
Full Changelog: v1.15.0...v1.16.0
v1.15.0
New features π
-
Streaming support
- Streaming model outputs by @aymeric-roucher in #1236
- Working streaming Gradio chatbot outputs by @aymeric-roucher in #1246
- Simplify validation of stream by @albertvillanova in #1242
- Fix return type hint for generate_stream and rename CompletionDelta to ChatMessageStreamDelta by @albertvillanova in #1247
- Remove dead code related to non-CompletionDelta streaming results by @albertvillanova in #1248
-
New models
- Add LiteLLM Router model by @NishantBaheti in #1096
-
New tools
- Implement WebSearchTool by @albertvillanova in #1300
- Replace DuckDuckGoSearchTool with WebSearchTool in docs by @albertvillanova in #1303
New documentation π
- Add Installation docs by @albertvillanova in #1293
- Add docs about Using different models: Gemini models by @albertvillanova in #1297
Fixes and improvements π§
- Fix typo in pydoc by @darxriggs in #1222
- Change language from semantic to lexical for BM25 by @HeardACat in #1230
- Move MCPClient to root-level lib and manage optional dependencies by @njbrake in #1238
- Update README.md by @aymeric-roucher in #1233
- Set __name__ to "__main__" in local Python interpreter by @albertvillanova in #1234
- Remove unused argument from the MultiStepAgent documentation by @damnever in #1250
- Add billing for inference providers model by @merveenoyan in #1260
- Fix Loading GAIA dataset by @aymeric-roucher in #1266
- Fix remote executor send_tools to skip pip install on empty package list by @albertvillanova in #1273
- Remove smolagents installation from remote executors by @albertvillanova in #1274
- Allow VisitWebpageTool to run on remote executors without installing smolagents by @keetrap in #1288
- Refactor RemotePythonExecutor.send_tools to call install_packages by @albertvillanova in #1281
- Remove unnecessary dependencies from DockerExecutor image by @albertvillanova in #1272
- Support tools with union type return by @albertvillanova in #1294
- Fix WikipediaSearchTool in remote executors by @albertvillanova in #1283
- docs: fix typo by @luisegarduno in #1253
- Fix Custom Final Answer Tool for ToolCallingAgent by @HeardACat in #1255
Maintenance ποΈ 8000
- Bump dev version: v1.15.0.dev0 by @albertvillanova in #1221
- CI: Simplify testing by running all tests in a single command by @albertvillanova in #1218
- Fix deprecated typing by @albertvillanova in #1249
- Update Open DeepResearch requirements by @albertvillanova in #1265
- Lower Pillow dependency minimum version to 10.0.1 by @albertvillanova in #1270
- Hotfix CI: pin mcp < 1.7.0 by @albertvillanova in #1285
- Remove duckduckgo-search as required dependency by @albertvillanova in #1271
- Unpin mcp < 1.7.0 by @albertvillanova in #1289
- Remove markdownify as required dependency by @albertvillanova in #1275
New Contributors
- @darxriggs made their first contribution in #1222
- @HeardACat made their first contribution in #1230
- @NishantBaheti made their first contribution in #1096
- @damnever made their first contribution in #1250
- @luisegarduno made their first contribution in #1253
Full Changelog: v1.14.0...v1.15.0
v1.14.0
New features π
- SmolAgents MCP Client by @grll in #1200
- Introduce a new
MCPClient
class that allows users to manage connections to one or more MCP servers, making integration with SmolAgents more flexible and scalable.
- Introduce a new
- Amazon Bedrock Native API Support by @leandrodamascena in #1115
- Add native support for Amazon Bedrock in the
models
module, enabling seamless interaction with Bedrock-hosted models.
- Add native support for Amazon Bedrock in the
Important changes π₯
- Rename
HfApiModel
toInferenceClientModel
by @julien-c in #1198- Align the naming with its broader usage beyond the Hugging Face Hub, clarifying its purpose and usage.
- Star-pattern-based import authorization by @aymeric-roucher in #1180
- Enhance import security by introducing a star-pattern-based authorization mechanism, allowing fine-grained control over which modules can be imported.
Fixes and improvements π§
- Unpin pillow < 11.2.0 by @albertvillanova in #1140
- Pass vLLM (VLLMModel) model client params as
client_kwargs
by @sergiopaniego in #1137 - Docs: Add Code Agents in agency table by @aymeric-roucher in #1144
- Replace ChatMessage.from_hf_api with from_dict with asdict by @albertvillanova in #1076
- Make to_messages methods compatible with qwen vl by @aymeric-roucher in #1148
- Fix get_json_schema for keyword in description by @albertvillanova in #1146
- Support images in stream_to_gradio by @aymeric-roucher in #1154
- Fix: adjust PlanningStep user message to avoid azure's content filter by @bpoppinga in #1151
- Refactor code agent system prompt by @aymeric-roucher in #1153
- Fix bug authors by @aymeric-roucher in #1163
- Fix memory step model output in ToolCallingAgent by @keetrap in #1156
- Parsing model outputs: allow whitespaces after the header of code blobs by @aymeric-roucher in #1172
- Fix: Add default value to optional argument by @rca-umb in #1155
- Add more detail to code execution documentation by @maeste in #983
- Make TextInspectorTool serializable by @albertvillanova in #1176
- Clarify tool usage in agent step tutorial by @albertvillanova in #1175
- Provide ability to override Agent logger by @sysradium in #1166
- Pin mcpadapt >= 0.0.19 to include security fix by @albertvillanova in #1178
- Fix tool validation with multiple assignments by @albertvillanova in #1177
- Fix typo in the memory.mdx by @alpsencer in #1187
- feat: add custom Docker image support and enhanced configuration for DockerExecutor by @kingdomad in #1057
- Add api_key argument in HfApiModel by @aymeric-roucher in #947
- Implement Tool.from_dict by @albertvillanova in #1006
- Implement Agent.from_dict by @albertvillanova in #1007
- Call recursively Agent.to_dict for managed agents by @albertvillanova in #1008
- Support
Literal
type annotations in@tool
for defining enums by @stephanlensky in #1195 - Support class docstrings in LocalPythonExecutor by @albertvillanova in #1192
- Reference Inference Providers more clearly by @julien-c in #1197
- Support annotated assignment in LocalPythonExecutor by @albertvillanova in #1193
- Fix evaluate_boolop for non-boolean return type by @ZeusFSX in #1191
- Make MultiStepAgent and abstract class by @sysradium in #1204
- fix: creating tool should not affect function that is being wrapped by @njbrake in #1203
- Remove header comments from MDX docs for proper rendering by @albertvillanova in #1212
- Fix CI test by updating LiteLLM error message by @albertvillanova in #1214
- Fix typo in evaluate_ast() docs: static_tools -> custom_tools by @JungeAlexander in #1217
- Make OpenDeepResearch tools serializable by @albertvillanova in #1206
- Add Security Policy by @albertvillanova in #1208
- Improve docs for stream run by @albertvillanova in #1215
- Skip unsupported stop parameter for reasoning models by @albertvillanova in #1211
New Contributors
- @leandrodamascena made their first contribution in #1115
- @bpoppinga made their first contribution in #1151
- @rca-umb made their first contribution in #1155
- @alpsencer made their first contribution in #1187
- @stephanlensky made their first contribution in #1195
- @ZeusFSX made their first contribution in #1191
- @JungeAlexander made their first contribution in #1217
Full Changelog: v1.13.0...v1.14.0
v1.13.0
Important changes π
- Gradio UI now logs images observed by your agent: log observations images by @aymeric-roucher in #1113
- allow users to retrieve original Gradio app by @sysradium in #811
- Re-authorize submodule imports if top was allowed by @aymeric-roucher in #1103
- We had internal debate about this one: when a user authorizes import of a top level package like
additional_authorized_imports=["numpy"]
, should it:- Option 1: by default enable all subpackages like numpy.random, except potentially dangerous ones that we then have to detect through a blocklist?
- Option 2: not import any subpackage, thus user have to type any subpackage they want to authorize, as in
additional_authorized_imports=["numpy", "numpy.random", "numpy.other_subpackage", ...]
Option 2 is safer, but Option 1 is much more practical, so we went with option 1. Daily disclaimer: code execution can never be 100% safe on you system, if you want to increase safety, use one of the remote executors that we propose, E2B or Docker.
- We had internal debate about this one: when a user authorizes import of a top level package like
Fixes & Tweaks
- Bump dev version: v1.13.0.dev0 by @albertvillanova in #1035
- Fix telemetry AttributeError: module 'smolagents' has no attribute 'ApiModel' by @IlyaGusev in #1040
- Hotfix CI: pin transformers < 4.50.0 by @albertvillanova in #1044
- Align name of tool source by @albertvillanova in #1042
- Update type hints and docstrings of Agent/Tool .save with Path type by @albertvillanova in #1036
- Fix PythonInterperterTool description of code input with auth imports by @benediktstroebl in #1053
- Fix typos in Code Agent prompt by @andysalerno in #1063
- Validate agent name by @Misakar-0v0 in #768
- fix(
MLXModel
): define var to avoidUnboundLocalError
by @SauravMaheshkar in #1059 - Minor fix code block rendering in Open DeepResearch README by @keetrap in #1055
- Add WikipediaSearchTool to default tools by @touseefahmed96 in #514
- Improve MLXModel call by @albertvillanova in #1067
- Support transformers 4.50.0 by @albertvillanova in #1070
- Improve Tool.push_to_hub to avoid saving to local filesystem by @albertvillanova in #1051
- Fix Tool.to_dict for nullable input parameter by @albertvillanova in #1038
- Support tool Gradio app with boolean input type by @albertvillanova in #1065
- Support running CI on push to ci-* branch by @albertvillanova in #1047
- Set Agent/Tool requirements as a sorted list by @albertvillanova in #1048
- Support passing raw to ChatMessage.from_dict by @albertvillanova in #1010
- Distinguish between AgentToolCallError and AgentToolExecutionError by @sysradium in #1060
- Add detail on potential threats to system by @aymeric-roucher in #1077
- Refactor Tool.save by @albertvillanova in #1075
- Fixing typos in toolcallingagent prompt by @Y-artios in #1082
- Refactor step yielding during streaming run to log PlanningSteps by @aymeric-roucher in #1083
- Make pandas a test extra dependency only by @albertvillanova in #1081
- Add security disclaimer to MCP docs by @albertvillanova in #1090
- Fix get_json_schema for docstrings with type annotations by @albertvillanova in #1088
- Remove transformers/huggingface-hub to check torch availability by @albertvillanova in #1022
- Improve ApiModel and subclasses instantiation by @albertvillanova in #1095
- Add trust_remote_code to ToolCollection.from_mcp by @albertvillanova in #1091
- Add user message after plan by @aymeric-roucher in #1104
- Add agent interruption by @aymeric-roucher in #1112
- Validate tool name as Python identifier by @albertvillanova in #1041
- Increase request timeout for tests that time out by @albertvillanova in #972
- Update README.md by @aymeric-roucher in #1125
- Change: expanded error exception for incorrect tool parameters by @cgthayer in #1099
- Hotfix CI AttributeError: 'PngImageFile' object has no attribute 'filename' by @albertvillanova in #1128
- Replace AgentGenerationError with AgentParsingError for ToolCallingAgent by @aymeric-roucher in #1131
- Fix planning_interval=1 bug in MultiStepAgent by @RolandJAAI in #1118
- Set main as the no-argument CLI entry point by @albertvillanova in #1126
New Contributors
- @benediktstroebl made their first contribution in #1053
- @andysalerno made their first contribution in #1063
- @Misakar-0v0 made their first contribution in #768
- @SauravMaheshkar made their first contribution in #1059
- @Y-artios made their first contribution in #1082
- @cgthayer made their first contribution in #1099
Full Changelog: v1.12.0...v1.13.0
v1.12.0
What's Changed
- Bump dev version: v1.12.0.dev0 by @albertvillanova in #982
- Fix json parsing by @sysradium in #987
- Fix Agent.from_hub for older smolagents exports by @albertvillanova in #989
- Regression fix: ChatMessageToolCall id must be a string by @sysradium in #990
- Always parse tool calls from APIs by @aymeric-roucher in #991
- Sort additional authorized imports by @keetrap in #998
- Fix custom prompt templates in Agent.from_hub by @albertvillanova in #1001
- Always parse arguments from API tool calls by @aymeric-roucher in #1000
- Fix TransformersModel: torch_dtype and trust_remote_code not passed to VLM by @Louis-Gv in #1012
- Fix double space in toolcalling_agent.yaml by @louisbrulenaudet in #1021
- Update images type and docstring by @keetrap in #1018
- Support JSON string arguments in tool calls by @albertvillanova in #1003
- Pass trust_remote_code to transformers tokenizer/processor by @albertvillanova in #1013
- Fix code using pillow required dependency by @albertvillanova in #1019
- Fix tests of Agent.save and Tool.save by @albertvillanova in #1029
- Remove dependency on transformers get_tests_dir by @albertvillanova in #1026
- Reduce model calls in planning_step from 2 to 1 by @aymeric-roucher in #985
- Bugfix: adding <end_code> to prevent imaginary tool calls in CodeAgent by @IlyaGusev in #918
- Use pytest-datadir for shared data files by @albertvillanova in #1031
- Refactor Agent.to_dict by @albertvillanova in #1004
- Add support for MCP SSE servers by @grll in #931
New Contributors
- @Louis-Gv made their first contribution in #1012
- @louisbrulenaudet made their first contribution in #1021
Full Changelog: v1.11.0...v1.12.0
v1.11.0
What's Changed
- Bump dev version: v1.11.0.dev0 by @albertvillanova in #890
- Add Chinese translation & fix zh doc build process by @muscaestar in #893
- Fix chained assignment in local executor by @sysradium in #843
- Check dangerous modules instead of dangerous patterns by @albertvillanova in #877
- Fix typo in building goo F438 d agents tutorial by @whistler in #903
- Add tests and refactor CLI by @albertvillanova in #892
- Bump mcpadapt >= 0.0.15 by @albertvillanova in #895
- Update docs about changing the system prompt by @albertvillanova in #900
- Support transformers 4.49.0 by @albertvillanova in #898
- Fix typo in list of dangerous functions by @albertvillanova in #909
- Improve evaluate_subscript by @albertvillanova in #916
- Enforce security check in all evaluations by @albertvillanova in #906
- Improve performance of test_while infinite loop by @albertvillanova in #907
- Test all dangerous functions and fix check of os.system by @albertvillanova in #911
- Fix Tool docstring, and model init exception by @zhanluxianshen in #927
- Remove default model_id from models by @albertvillanova in #905
- Improve docstring of parse_code_blobs by @albertvillanova in #876
- Test vulnerability for dangerous modules by @albertvillanova in #929
- Fix broken link to benchmarking code in README by @amaarora in #933
- Fix Gradio UI for unnamed agents by @sysradium in #812
- Add mlx-lm to all extra by @albertvillanova in #961
- Fix Gradio UI for None name by @albertvillanova in #956
- Introduce counter class by @Bilokin in #891
- Fix AzureOpenAIServerModel to not call openai.OpenAI by @albertvillanova in #966
- Fix CI usage of uv by @albertvillanova in #970
- Adds VLLMModel by @NathanHB in #337
- Support passing flatten_messages_as_text to OpenAIServerModel and test by @albertvillanova in #959
- Fix tool function implementation by @albertvillanova in #943
- Fix broken example of using MCP Server by @njbrake in #936
- Support passing any kwargs to E2BExecutor Sandbox by @aymeric-roucher in #951
- Fix VLLMModel example in models docs by @zhanluxianshen in #976
- Fix OpenAIServerModel client by @durd07 in #975
- Forbid all modules by default except whitelist authorized_imports by @albertvillanova in #935
- Forbid access to all dunder attributes by default by @albertvillanova in #979
- Raise agent generation errors by @aymeric-roucher in #948
- Update Open Deep Research's README.md by @keetrap in #763
- Make sure to log thoughts if verbosity_level is set to high by @aymeric-roucher in #964
- Get correct source code for functions defined in local executor. by @aymeric-roucher in #973
New Contributors
- @muscaestar made their first contribution in #893
- @whistler made their first contribution in #903
- @zhanluxianshen made their first contribution in #927
- @amaarora made their first contribution in #933
- @NathanHB made their first contribution in #337
- @njbrake made their first contribution in #936
- @durd07 made their first contribution in #975
Full Changelog: v1.10.0...v1.11.0
v1.10.0
New features ππ
- Add Docker executor by @aymeric-roucher in #733
- This means you can now initialize agents with
executor="docker"
to run code in a Docker sandbox! Docs coming soon.
- This means you can now initialize agents with
- Safer local Python interpreter
- Make local Python interpreter safer by checking if returns builtins by @albertvillanova in #848
- Make local Python interpreter safer by checking if returns dangerous modules by @albertvillanova in #861
- Make local Python interpreter safer by adding builtins to dangerous modules by @albertvillanova in #869
- Add support for serper search by @aymeric-roucher in #698
- Support running a demo of Open DeepResearch by @albertvillanova in #806
- Enable Colab notebook version of each doc page (by renaming doc file extension from .md to .mdx) by @albertvillanova in #691
Fixes and improvements π§
- Bump dev version: v1.10.0.dev0 by @albertvillanova in #649
- Improve missing toolcall exception by @GrahamTheCoder in #614
- refactor: simplify file type checking from MIME to extension by @kingdomad in #342
- Bugfix: Groq via LiteLLM π by @JGalego in #605
- Add docstring args for MultiStepAgent.from_folder by @albertvillanova in #654
- Remove non-existent subfolder arg in MultiStepAgent.from_hub by @albertvillanova in #653
- Minor fix save agents by @keetrap in #645
- Align step numbers in monitoring logging by @spemed in #667
- Remove deprecated resume_download arg in from_hub by @albertvillanova in #670
- Pass notebook_folder to build notebook docs by @albertvillanova in #671
- Update the prompts for delegating subtasks to agents in prompt files by @spemed in #678
- Documentation: manage agent's memory by @aymeric-roucher in #675
- Move contributing details into contributing file by @GrahamTheCoder in #651
- Fix typo in error message by @samee99 in #687
- Refactor evaluate ast to improve readability by @CalOmnie in #625
- Update docs in zh/examples/multiagents.md by @spemed in #688
- Make dangerous_patterns a module variable by @CalOmnie in #505
- Pin transformers < 4.49.0 to fix TypeError: LlavaProcessor: got multiple values for keyword argument 'images' by @albertvillanova in #693
- Respect formatting in ast.FormattedValue for local_python_executor by @LorienMan in #660
- Simplify instrumentation for phoenix by @aymeric-roucher in #697
- Test validate_tool_attributes by @albertvillanova in #696
- Remove translation tool from README by @keetrap in #705
- Fix test docs by @albertvillanova in #701
- Fix SpeechToTextTool by @albertvillanova in #706
- Fixed typo in Telemetry docs by @sergiopaniego in #710
- Fix validate_tool_attributes for non-literal defaults by @albertvillanova in #711
- Ignore parameter types in tool docstrings by @carlsberg03 in #724
- Refactor MultiStepAgent and improve some tests by @colesmcintosh in #598
- Fix duplicate managed agent name and its tool name by @keetrap in #721
- Update docs on how to change prompts by @albertvillanova in #725
- Remove transformers tasks from load_tool docstring by @albertvillanova in #726
- Remove article section from launch_gradio_demo Interface by @albertvillanova in #728
- Update logo in Readme by @aymeric-roucher in #730
- Support passing additional parameters for openai client initialization by @touseefahmed96 in #388
- Add api-base and api-key arguments to CLI by @keetrap in #734
- Fix CI test error: DuckDuckGoSearchException: 202 Ratelimit by @albertvillanova in #739
- Fix typo in Makefile by @albertvillanova in #741
- Add disclaimer in benchmark to request access for gated dataset by @albertvillanova in #744
- Define test RUN_ALL requirement marker in one file by @albertvillanova in #743
- Rename managed agent in multiagents docs to avoid confusing the LLM by @albertvillanova in #766
- Update documentation on sandboxes by @aymeric-roucher in #747
- Add audioop-lts as Python>=3.13 Open DeepResearch requirement for pydub by @albertvillanova in #749
- Create docker extra installation dependency by @albertvillanova in #764
- Fix bracket logging in rich by @aymeric-roucher in #753
- Enable custom final answer in CodeAgent by @aymeric-roucher in #769
- Fix TypeError raised by launch_gradio_demo with PipelineTool by @albertvillanova in #732
- Use docker extra in Secure code execution docs by @albertvillanova in #780
- Support custom final_answer in agent init by @albertvillanova in #783
- Fix LiteLLMModel API key usage in CLI by @asselindebeauville in #788
- Secure code execution wrong title in docs TOC by @maeste in #771
- Update Open DeepResearch to install smolagents from local path by @albertvillanova in #786
- Support importing scipy and sklearn without AttributeError: module 'scipy.sparse._coo' has no attribute 'upcast' by @albertvillanova in #790
- Fix and test validate_tools_and_managed_agents by @albertvillanova in #731
- Update README with mention to Docker sandboxed execution by @touseefahmed96 in #803
- Added sidebar layout and session state management for agent by @yvrjsharma in #797
- Fix CI quality in examples/gradio_ui by @albertvillanova in #822
- Improve dependency loading of Open DeepResearch visual_qa by @albertvillanova in #821
- Improve setup instruction for Open DeepResearch by @albertvillanova in #823
- Support other models than o1 in Open Deep Research by @albertvillanova in #824
- Fix final_answer_pattern matching in remote executors by @albertvillanova in #826
- Fix and refactor tests of Docker executors by @albertvillanova in #827
- Remove unnecessary self argument in GoogleSearchTool super() call by @gael1130 in #828
- Fix call from dict with LocalPythonExecutor by @albertvillanova in #837
- Minor fix of import in VisitWebpageTool by @keetrap in #840
- No need of these Files by @touseefahmed96 in #798
- fix: correcting tool_call role by @zndqs in #779
- Fix translation guide as it points to invalid location by @FanwangM in #794
- Fix load_model in webagent CLI by @albertvillanova in #855
- Fix message for observations without tool_calls by @albertvillanova in #857
- Fix CI test_action_step_to_messages by @albertvillanova in #868
- Fix LiteLLMModel docstring by @albertvillanova in #885
- Fix bug where operations count was not reinitialized at each step by @aymeric-roucher in #866
- Fix CLI webagent by @albertvillanova in https://github.com/huggingface/smolage...
v1.9.2
Bug Fixes π
- Fix litellm flatten_messages_as_text detection by @aymeric-roucher in ef60315
- Fix litellm flatten_messages_as_text detection by @aymeric-roucher in #659
Full Changelog: v1.9.1...v1.9.2