This is a rust implementation of HF smolagents library. It provides a powerful autonomous agent framework written in Rust that solves complex tasks using tools and LLM models.

The code agent is still in development, so there might be python code that is not yet supported and may cause errors. Try using the tool-calling agent for now.
Warning: Since there is no implementation of a Sandbox environment, be careful with the tools you use. Preferrably run the agent in a controlled environment using a Docker container.
# Pull the image
docker pull akshayballal95/smolagents-rs:latest
# Run with your OpenAI API key
docker run -e OPENAI_API_KEY=your-key-here smolagents-rs -t "What is the latest news about Rust programming?"
# Clone the repository
git clone https://github.com/yourusername/smolagents-rs.git
cd smolagents-rs
# Build the project
cargo build --release --features cli-deps
# Run the agent
OPENAI_API_KEY=your-key-here ./target/release/smolagents-rs -t "Your task here"
smolagents-rs [OPTIONS] -t TASK
Options:
-t, --task <TASK> The task to execute
-a, --agent-type <TYPE> Agent type [default: function-calling]
-l, --tools <TOOLS> Comma-separated list of tools [default: duckduckgo,visit-website]
-m, --model <TYPE> Model type [default: open-ai]
-k, --api-key <KEY> OpenAI API key (only required for OpenAI model)
--model-id <ID> Model ID (e.g., "gpt-4" for OpenAI or "qwen2.5" for Ollama) [default: gpt-4o-mini]
-u, --ollama-url <URL> Ollama server URL [default: http://localhost:11434]
-s, --stream Enable streaming output
-h, --help Print help
# Simple search task
smolagents-rs -t "What are the main features of Rust 1.75?"
# Research with multiple tools
smolagents-rs -t "Compare Rust and Go performance" -l duckduckgo,google-search,visit-website
# Stream output for real-time updates
smolagents-rs -t "Analyze the latest crypto trends" -s
OPENAI_API_KEY: Your OpenAI API key (required).SERPAPI_API_KEY: Google Search API key (optional).The project follows a modular architecture with the following components:
Agent System: Implements the ReAct framework.
Tool System: An extensible tool framework for seamless integration of new tools.
Model Integration: Robust OpenAI API integration for powerful LLM capabilities.
Rust provides critical advantages that make it the ideal choice for smolagents-rs:
Zero-cost abstractions and no garbage collector overhead enable smolagents-rs to handle complex agent tasks with near-native performance. This is crucial for running multiple agents and processing large amounts of data efficiently.
Rust's compile-time guarantees prevent memory-related vulnerabilities and data races - essential for an agent system that handles sensitive API keys and interacts with external resources. The ownership model ensures thread-safe concurrent operations without runtime overhead.
Fearless concurrency through the ownership system enable smolagents-rs to efficiently manage multiple agents and tools in parallel, maximizing resource utilization.
Compile once, run anywhere - from high-performance servers to WebAssembly in browsers. This allows smolagents-rs to run natively on any platform or be embedded in web applications with near-native performance.
Apart from this, its essential to push new technologies around agentic systems to the Rust ecoystem and this library aims to do so.
Contributions are welcome! To contribute:
git checkout -b feature/amazing-feature).git commit -m 'Add some amazing feature').git push origin feature/amazing-feature).Give a ⭐️ if this project helps you or inspires your work!
$ claude mcp add smolagents-rs \
-- python -m otcore.mcp_server <graph>