Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
39133ac
Use transformers as optional dependency (#360)
albertvillanova Jan 27, 2025
5edf940
Add pip install datasets to RAG example (#371)
sanjeed5 Jan 27, 2025
a529059
Update issue templates (#377)
aymeric-roucher Jan 27, 2025
4579a6f
TransformersModel auto-detects VLMs (#378)
aymeric-roucher Jan 27, 2025
dca7081
Separate tree for Model docs is added (#382)
touseefahmed96 Jan 28, 2025
525a76b
add kwargs to gradio launch (#367)
tocab Jan 28, 2025
68f3da1
Minor Fix in the example docs (#383)
touseefahmed96 Jan 28, 2025
3b5c99e
Fix Extra planning (#362)
bvantuan Jan 28, 2025
49c34f6
Gradio chatbot: step duration, number, token count, support nested th…
aymeric-roucher Jan 28, 2025
16cfbdc
Add Chinese translations for text-to-sql example (#366)
FanwangM Jan 28, 2025
216ec1a
Add Chinese translations for RAG (#363)
FanwangM Jan 28, 2025
f26d77c
Qwen2-VL model typo fixed (#349)
sergiopaniego Jan 28, 2025
42c79f2
fix is_torch_available function call (#379)
hironow Jan 28, 2025
8178eec
Additional parameters for openai (#385)
touseefahmed96 Jan 28, 2025
2105811
DuckDuckGoSearchTool: add ddgs_kwargs parameter to constructor (#372)
onukura Jan 28, 2025
33b38e6
fix final_answer issue in e2b_executor (#319)
keetrap Jan 28, 2025
242a6e5
Docs: Text to sql example - minor naming / dedupe (#376)
GrahamTheCoder Jan 28, 2025
cc21135
Test import without extras (#370)
albertvillanova Jan 28, 2025
a4f89b6
Add tool saving test (#389)
aymeric-roucher Jan 28, 2025
ad5f84b
Fix blocking of os in authorized imports (#386)
aymeric-roucher Jan 28, 2025
7a2f300
Add test for DDGS Tool kwargs (#387)
aymeric-roucher Jan 28, 2025
022947a
Bump dev version: v1.7.0.dev0 (#390)
albertvillanova Jan 28, 2025
882b134
Fix return type of generator function in `Agent._run()` (#409)
abidlabs Jan 29, 2025
c6eb952
Untangling Logging (#316)
clefourrier Jan 29, 2025
b1742ed
Update pyproject.toml (#408)
abidlabs Jan 29, 2025
d3912c7
Support third-party Inference providers in `HfApiModel` (#422)
julien-c Jan 30, 2025
3b8e519
minor example fix (#423)
RolandJAAI Jan 30, 2025
dcbbe44
Make web browser example a CLI script (#416)
merveenoyan Jan 30, 2025
c0abd21
Fix `vlm_web_browser.py` example (#410)
abidlabs Jan 30, 2025
20383f0
Fix regressions, refactor logging and improve replay function (#419)
aymeric-roucher Jan 30, 2025
37f549f
Fix installation instruction for GradioUI in error message (#418)
jank Jan 30, 2025
595781b
Test memory (#428)
albertvillanova Jan 30, 2025
fa1f8d0
Add CLI for smolagents (#431)
aymeric-roucher Jan 30, 2025
25c5b50
Fix import from deleted logger (#433)
albertvillanova Jan 30, 2025
023419b
Add web search tool and make prompt positional arg (#435)
aymeric-roucher Jan 30, 2025
aa55f13
Remove explicit model arg in HfApiModel - which wouldn't run without …
sanjeed5 Jan 30, 2025
6d0e4e4
Update benchmark with Hub datasets (#412)
albertvillanova Jan 30, 2025
42d9771
Fix MultiStepAgent.planning_step message content (#437)
albertvillanova Jan 30, 2025
181a500
Fix and test MemoryStep (#432)
albertvillanova Jan 30, 2025
1040781
Fix get safe module (#405)
antoinejeannot Jan 31, 2025
ebae61f
Remove duplicated final_memory_step creation (#444)
albertvillanova Jan 31, 2025
5f2147a
Remove unused raw arg (#445)
albertvillanova Jan 31, 2025
f1a9b83
Improve code execution logs in case of error by showing print outputs…
aymeric-roucher Jan 31, 2025
b228ffa
docs (#447)
August-murr Jan 31, 2025
cedf63c
Test get_clean_message_list (#448)
albertvillanova Jan 31, 2025
b453d63
Add web browser example to doc (#439)
aymeric-roucher Jan 31, 2025
1adf5df
fix minor issue in e2b (#436)
keetrap Jan 31, 2025
e26aed6
Bump dev version: v1.8.0.dev0 (#451)
albertvillanova Jan 31, 2025
93c433c
Add ToC and CLI docs (#455)
merveenoyan Jan 31, 2025
3990843
Fix link to Helium repository in README.md (#471)
dross20 Feb 3, 2025
42f95d8
Add visualization method to display the agent' structure as a tree 🌳 …
aymeric-roucher Feb 3, 2025
318b9e6
Remove default max_tokens for all models (#475)
albertvillanova Feb 3, 2025
44f94ea
Improve Readme: shorter intro, VLMs, MCP, etc (#459)
aymeric-roucher Feb 3, 2025
183869d
Fix SpeechToTextTool new instance (#478)
albertvillanova Feb 3, 2025
6d72ea7
fix ollama integration by forcing flat messages (#406)
sysradium Feb 3, 2025
dd84e73
Fixed demo typo in README.md (#481)
hanteed Feb 3, 2025
d69ae02
Simplify managed agents (#484)
aymeric-roucher Feb 3, 2025
a6d2cda
Added HfApiModel import to web browser example (#461)
sergiopaniego Feb 4, 2025
a8918f7
fix tool push to hub (#460)
keetrap Feb 4, 2025
8b02821
Open Deep Research (#317)
aymeric-roucher Feb 4, 2025
8b1dd44
Fix link in README.md (#496)
vanrohan Feb 5, 2025
26c733c
Fix undefined `step_number` in single_step run (#495)
taha-yassine Feb 5, 2025
90c30fa
Bump litellm to 1.60.2 (fixes #34) (#488)
taha-yassine Feb 5, 2025
66b7620
Initialize step_number attribute (#497)
albertvillanova Feb 5, 2025
ce5ede8
Suppress terminal logging in CI tests (#504)
albertvillanova Feb 5, 2025
6cd5b6a
Update README.md (#492)
Ryanb58 Feb 6, 2025
e872d91
Test PrintContainer (#515)
albertvillanova Feb 6, 2025
f09b17f
Add doc for FinalAnswerTool, GoogleSearchTool, SpeechToTextTool (#516)
touseefahmed96 Feb 6, 2025
8ba036b
Refactor prompts (#502)
aymeric-roucher Feb 6, 2025
ec8e830
Fix Typo (#529)
rehanzo Feb 7, 2025
c4bd41d
Test HfApiModel call with custom_role_conversions (#517)
albertvillanova Feb 7, 2025
8965b6a
Set MAX_WHILE_ITERATIONS as module variable (#520)
albertvillanova Feb 7, 2025
da1d7b9
add self.logger = logger for e2b_executor (#537)
femto Feb 7, 2025
3d5d526
Create simpler example open-deep-research (#534)
aymeric-roucher Feb 7, 2025
9322986
Support disabling logging to terminal (#512)
albertvillanova Feb 7, 2025
127a042
Fix installation with data files (#536)
albertvillanova Feb 7, 2025
fd9eec8
Pin openinference-instrumentation-smolagents >= 0.1.4 (#535)
albertvillanova Feb 7, 2025
ecabb9e
Delete prompts_path argument and use prompt_templates (#541)
albertvillanova Feb 7, 2025
ff73f53
Fix deprecation warning from importlib.resources.read_text (#543)
albertvillanova Feb 7, 2025
64b9972
Delete non-exisiting accelerate extra (#539)
albertvillanova Feb 7, 2025
ec66b56
Fix some doc examples (#542)
aymeric-roucher Feb 7, 2025
823b8df
Test E2B Executor (#540)
albertvillanova Feb 7, 2025
dbd1e3c
Bump dev version: v1.9.0.dev0 (#544)
albertvillanova Feb 7, 2025
b6ad9a4
Small update to 'Introduction to Agents' docs format (#548)
sergiopaniego Feb 7, 2025
fe92c82
Doc grammar fix (#556)
juanqui Feb 8, 2025
63adfcd
Minor grammar correction (#528)
doomspork Feb 8, 2025
3fc2d0e
Fix multiagents docs (#549)
derekalia Feb 9, 2025
881ce13
Fix managed agent example (#562)
keetrap Feb 9, 2025
01c5106
Add authorized_imports in importFrom errors (#506)
Feb 9, 2025
d74837b
chore: fix some typos (#557)
zoupingshi Feb 9, 2025
3a90bd7
Minor fix in the guilded_tour docs (#578)
touseefahmed96 Feb 10, 2025
75b2a10
Restore missing user prompt for initial facts (#576)
neuwcodebox Feb 10, 2025
75fe8cd
Bugfix: problems with the prompt refactoring of the planning step (#564)
IlyaGusev Feb 10, 2025
8359283
Add small readme to open Deep Research (#581)
aymeric-roucher Feb 10, 2025
a6341f2
Fixed Readme that is missing run.py call (#585)
jsmidt Feb 10, 2025
f6b0a12
Do not pass system prompt to update plan and test plan prompts (#586)
albertvillanova Feb 10, 2025
91badcc
Fix 429 Client Error: Too Many Requests in CI test (#599)
albertvillanova Feb 11, 2025
af665c3
Remove unused import in guided_tour docs (#600)
albertvillanova Feb 11, 2025
8c6f90c
Test evaluate_delete (#519)
albertvillanova Feb 11, 2025
9318c8c
Move check_module_authorized out of import_module for use in get_safe…
Feb 11, 2025
a17f915
Test agent call with provide_run_summary (#513)
albertvillanova Feb 11, 2025
02b2b7e
Create PromptTemplates typed dict (#547)
albertvillanova Feb 12, 2025
833aec9
Refactor and test final answer prompts (#595)
albertvillanova Feb 12, 2025
06e23f1
Make question arg required in Open DeepResearch example (#617)
albertvillanova Feb 12, 2025
2ea374c
Remove unused api-base arg from Open DeepResearch example (#616)
albertvillanova Feb 12, 2025
bca3a9b
corrected typo in README.md (#609)
blakkd Feb 12, 2025
9b96199
MLX model support (#300)
g-eoj Feb 12, 2025
5fd0a2e
Add support for non-bool comparison operators. (#612)
kc9zyz Feb 12, 2025
e27e83f
docs: add Langfuse OpenTelemetry guide (#601)
jannikmaierhoefer Feb 12, 2025
5dbbe71
Remove --prompt argument of instance instruction in README.md (#632)
leeivan1007 Feb 13, 2025
c79a354
Fix CI quality check by removing trailing whitespace (#628)
albertvillanova Feb 13, 2025
2797f2f
Change math.pow -> pow (#624)
Bilokin Feb 13, 2025
1516ce8
Move plan user prompt to YAML and test text of plan prompts (#591)
albertvillanova Feb 13, 2025
b20da6a
Fix installation instructions in Open-DeepResearch README (#633)
albertvillanova Feb 13, 2025
3316dd7
Remove ManagedAgent from doc (#563)
aymeric-roucher Feb 13, 2025
41a388d
Refactor operations count state setting (#631)
albertvillanova Feb 13, 2025
392fc5a
LiteLLMModel - detect message flatenning based on model information (…
sysradium Feb 13, 2025
a427c84
Contribute to the documentation (#630)
seanxuu Feb 13, 2025
f3ee605
Adding default parameter for max_new_tokens in TransformersModel (#604)
matfrei Feb 13, 2025
cfe599c
Test evaluate_condition (#634)
albertvillanova Feb 13, 2025
b9e9438
Allow Gradio share parameter passthrough (#490)
sysradium Feb 13, 2025
8e27683
Update README.md
aymeric-roucher Feb 13, 2025
360e1a8
Fix issue #635. Corrected installation instructions for open_deep_res…
nishaddeokar Feb 13, 2025
1c1418d
Share full agents (#533)
aymeric-roucher Feb 13, 2025
d02093d
Fix PlanningPromptTemplate and its docstring (#648)
albertvillanova Feb 14, 2025
9437133
Fix evaluate_condition for non-bool result (#638)
albertvillanova Feb 14, 2025
0153e37
Removed reference to deprecated single_step in documentation (#608)
crumbly-blue-cheese Feb 14, 2025
b961ecb
Update README.md (#642)
aymeric-roucher Feb 14, 2025
2347631
Fix reference to Transformers in docs (#643)
sergiopaniego Feb 14, 2025
cb2218a
Fix for MLX Model when stop sequence is followed by any chars (#623)
g-eoj Feb 14, 2025
a2e92c7
Allow for last_input_token_count=None (#644)
Strings-RH Feb 14, 2025
d9da0a7
fix tool code generation in case of multiline descriptions (#613)
sysradium Feb 14, 2025
92aadef
Fix prompt for toolcalling agent and slightly update doc (#650)
aymeric-roucher Feb 14, 2025
4730830
Bump dev version: v1.10.0.dev0 (#649)
albertvillanova Feb 14, 2025
d33bc2d
Improve missing toolcall exception (#614)
GrahamTheCoder Feb 14, 2025
75b0e4f
Update README.md
aymeric-roucher Feb 14, 2025
a940f42
refactor: simplify file type checking from MIME to extension (#342)
kingdomad Feb 14, 2025
a6cc506
Bugfix: Groq via LiteLLM 🚅 (#605)
JGalego Feb 14, 2025
7765236
Add docstring args for MultiStepAgent.from_folder (#654)
albertvillanova Feb 15, 2025
d34e0c8
Fix litellm flatten_messages_as_text detection
aymeric-roucher Feb 15, 2025
161ef45
Merge branch 'main' of github.com:huggingface/smolagents
aymeric-roucher Feb 15, 2025
db2df94
Fix litellm flatten_messages_as_text detection (#659)
aymeric-roucher Feb 15, 2025
4755c39
Remove non-existent subfolder arg in MultiStepAgent.from_hub (#653)
albertvillanova Feb 16, 2025
345f1c3
Minor fix save agents (#645)
keetrap Feb 17, 2025
1a272f6
Align step numbers in monitoring logging (#667)
spemed Feb 17, 2025
93de27e
Remove deprecated resume_download arg in from_hub (#670)
albertvillanova Feb 17, 2025
42bce95
Pass notebook_folder to build notebook docs (#671)
albertvillanova Feb 17, 2025
9d2370e
Update the prompts for delegating subtasks to agents in prompt files …
spemed Feb 17, 2025
530e405
Documentation: manage agent's memory (#675)
aymeric-roucher Feb 17, 2025
72ed3fd
Move contributing details into contributing file (#651)
GrahamTheCoder Feb 18, 2025
f631c75
Fix typo in error message (#687)
samee99 Feb 18, 2025
4e05fab
Refactor evaluate ast to improve readability (#625)
CalOmnie Feb 18, 2025
e5a71da
Update docs in zh/examples/multiagents.md (#688)
spemed Feb 18, 2025
2982e88
Rename doc file extension from .md to .mdx (#691)
albertvillanova Feb 18, 2025
1df9dca
Make dangerous_patterns a module variable (#505)
CalOmnie Feb 18, 2025
46a5d6c
Pin transformers < 4.49.0 to fix TypeError: LlavaProcessor: got multi…
albertvillanova Feb 18, 2025
3772f1a
Respect formatting in ast.FormattedValue for local_python_executor (#…
LorienMan Feb 18, 2025
f335ff4
Add support for serper search (#698)
aymeric-roucher Feb 18, 2025
14d310b
Simplify instrumentation for phoenix (#697)
aymeric-roucher Feb 18, 2025
1f998f9
Test validate_tool_attributes (#696)
albertvillanova Feb 18, 2025
5a42eea
Remove translation tool from README (#705)
keetrap Feb 19, 2025
ca58855
Fix test docs (#701)
albertvillanova Feb 19, 2025
516f238
Fix SpeechToTextTool (#706)
albertvillanova Feb 19, 2025
e0345cc
Fixed typo in Telemetry docs (#710)
sergiopaniego Feb 19, 2025
7913e98
Fix validate_tool_attributes for non-literal defaults (#711)
albertvillanova Feb 19, 2025
1f8f987
Ignore parameter types in tool docstrings (#724)
carlsberg03 Feb 20, 2025
0a9b7b4
Refactor MultiStepAgent and improve some tests (#598)
colesmcintosh Feb 20, 2025
c9f058a
Fix duplicate name checking (#721)
keetrap Feb 20, 2025
f13d3ad
Update docs on how to change prompts (#725)
albertvillanova Feb 20, 2025
0ff05a5
Remove transformers tasks from load_tool docstring (#726)
albertvillanova Feb 20, 2025
4e5e212
Remove article section from launch_gradio_demo Interface (#728)
albertvillanova Feb 20, 2025
a0552e1
Update logo in Readme (#730)
aymeric-roucher Feb 20, 2025
a1581a2
Support passing additional parameters for openai client initializatio…
touseefahmed96 Feb 21, 2025
5420043
Add api-base and api-key arguments to CLI (#734)
keetrap Feb 21, 2025
ece6f3e
Fix CI test error: DuckDuckGoSearchException: 202 Ratelimit (#739)
albertvillanova Feb 21, 2025
168a998
Fix typo in Makefile (#741)
albertvillanova Feb 21, 2025
c0ba55e
Add disclaimer in benchmark to request access for gated dataset (#744)
albertvillanova Feb 21, 2025
7927bca
Define test RUN_ALL requirement marker in one file (#743)
albertvillanova Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Bug report
about: The clearer your bug report, the faster it will be fixed!
title: "[BUG]"
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**Code to reproduce the error**
The simplest code snippet that produces your bug.

**Error logs (if any)**
Provide error logs if there are any.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Packages version:**
Run `pip freeze | grep smolagents` and paste it here.

**Additional context**
Add any other context about the problem here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/custom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Custom issue template
about: Describe this issue template's purpose here.
title: ''
labels: ''
assignees: ''

---


23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Is this not possible with the current options.**
Make sure to consider if what you're requesting can be done with current abstractions.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
1 change: 1 addition & 0 deletions .github/workflows/build_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:
commit_sha: ${{ github.sha }}
package: smolagents
languages: en
notebook_folder: smolagents_doc
# additional_args: --not_python_module # use this arg if repository is documentation only
secrets:
token: ${{ secrets.HUGGINGFACE_PUSH }}
Expand Down
29 changes: 27 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ jobs:
# Run all tests separately for individual feedback
# Use 'if success() || failure()' so that all tests are run even if one failed
# See https://stackoverflow.com/a/62112985
- name: Import tests
run: |
uv run pytest ./tests/test_import.py
if: ${{ success() || failure() }}

- name: Agent tests
run: |
uv run pytest ./tests/test_agents.py
Expand All @@ -58,14 +63,24 @@ jobs:
uv run pytest ./tests/test_models.py
if: ${{ success() || failure() }}

- name: Memory tests
run: |
uv run pytest ./tests/test_memory.py
if: ${{ success() || failure() }}

- name: Monitoring tests
run: |
uv run pytest ./tests/test_monitoring.py
if: ${{ success() || failure() }}

- name: Python interpreter tests
- name: Local Python executor tests
run: |
uv run pytest ./tests/test_python_interpreter.py
uv run pytest ./tests/test_local_python_executor.py
if: ${{ success() || failure() }}

- name: E2B executor tests
run: |
uv run pytest ./tests/test_e2b_executor.py
if: ${{ success() || failure() }}

- name: Search tests
Expand All @@ -78,6 +93,11 @@ jobs:
uv run pytest ./tests/test_tools.py
if: ${{ success() || failure() }}

- name: Tool validation tests
run: |
uv run pytest ./tests/test_tool_validation.py
if: ${{ success() || failure() }}

- name: Types tests
run: |
uv run pytest ./tests/test_types.py
Expand All @@ -88,6 +108,11 @@ jobs:
uv run pytest ./tests/test_utils.py
if: ${{ success() || failure() }}

- name: Gradio UI tests
run: |
uv run pytest ./tests/test_gradio_ui.py
if: ${{ success() || failure() }}

- name: Function type hints utils tests
run: |
uv run pytest ./tests/test_function_type_hints_utils.py
Expand Down
43 changes: 36 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,17 @@ However you choose to contribute, please be mindful and respect our

There are several ways you can contribute to smolagents.

* Fix outstanding issues with the existing code.
* Submit issues related to bugs or desired new features.
* Contribute to the examples or to the documentation.
* Fix outstanding issues with the existing code.

> All contributions are equally valuable to the community. 🥰

## Fixing outstanding issues

If you notice an issue with the existing code and have a fix in mind, feel free to [start contributing](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) and open
a Pull Request!

## Submitting a bug-related issue or feature request

At any moment, feel welcome to open an issue, citing your exact error traces and package versions if it's a bug.
It's often even better to open a PR with your proposed fixes/changes!

Do your best to follow these guidelines when submitting a bug-related issue or a feature
request. It will make it easier for us to come back to you quickly and with good
feedback.
Expand Down Expand Up @@ -89,10 +87,41 @@ We're always looking for improvements to the documentation that make it more cle
how the documentation can be improved such as typos and any content that is missing, unclear or inaccurate. We'll be
happy to make the changes or help you make a contribution if you're interested!

## Fixing outstanding issues

If you notice an issue with the existing code and have a fix in mind, feel free to [start contributing](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) and open
a Pull Request!

### Making code changes

To install dev dependencies, run:
```
pip install -e ".[dev]"
```

When making changes to the codebase, please check that it follows the repo's code quality requirements by running:
To check code quality of the source code:
```
make quality
```

If the checks fail, you can run the formatter with:
```
make style
```

And commit the changes.

To run tests locally, run this command:
```bash
make test
```
</details>

## I want to become a maintainer of the project. How do I get there?

smolagents is a project led and managed by Hugging Face. We are more than
happy to have motivated individuals from other organizations join us as maintainers with the goal of helping smolagents
make a dent in the world of Agents.

If you are such an individual (or organization), please reach out to us and let's collaborate.
If you are such an individual (or organization), please reach out to us and let's collaborate.
Loading