AI Agents with Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp
Each .run()
call is a fresh start.
career_advisor.run("What career skills should I highlight?")
You should highlight Python, SQL, data visualization,
machine learning fundamentals, and communication skills tailored to business outcomes.
career_advisor.run("Can you format those skills as bullet points?")
Sorry, I'm not sure which skills you're referring to. Could you clarify?
career_advisor.run("What career skills should I highlight?")
You should highlight Python, SQL, data visualization,
machine learning fundamentals, and communication skills tailored to business outcomes.
reset=False
:career_advisor.run("Can you format those skills as bullet points?", reset=False)
Sure! Here are the skills as bullet points:
- Python
- SQL
- Data visualization
...
User: What's the expected salary?
Agent: It's $80,000
User: Wait, that seems wrong...
Agent: Sorry, I'm not sure what you mean
Inspect what happened in the agent's run:
The .return_full_code()
method lets you see all executed code.
executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...other steps omitted for brevity
salary = 80000 # <- hardcoded?
# script continues...
conversation_steps = career_advisor.memory.get_succinct_steps()
print(conversation_steps[5])
{
"step_number": 5,
"tool_calls": [
{"function": {"name": "python_interpreter"}},
{"function": {"name": "web_search"}}
],
"code_action": "import requests\nskills = requests.get('api.jobsearch.com').json()",
"observations": "resume_agent found 15 relevant skills for transition",
"token_usage": {"total_tokens": 334},
...
}
import json
def save_agent_memory(agent):
with open("agent_memory.json", "w") as f:
json.dump(agent.memory.get_succinct_steps(), f, indent=2, default=str)
# Save memory to a file
save_agent_memory(career_advisor)
Logs can help with:
reset=False
or reset intentionallyAI Agents with Hugging Face smolagents