3.1 KiB
Agents
Transformers Agents is an experimental API which is subject to change at any time. Results returned by the agents can vary as the APIs or underlying models are prone to change.
To learn more about agents and tools make sure to read the introductory guide. This page contains the API docs for the underlying classes.
Agents
Our agents inherit from [MultiStepAgent
], which means they can act in multiple steps, each step consisting of one thought, then one tool call and execution. Read more in this conceptual guide.
We provide two types of agents, based on the main [Agent
] class.
- [
CodeAgent
] is the default agent, it writes its tool calls in Python code. - [
ToolCallingAgent
] writes its tool calls in JSON.
Classes of agents
autodoc MultiStepAgent
autodoc CodeAgent
autodoc ToolCallingAgent
ManagedAgent
autodoc ManagedAgent
stream_to_gradio
autodoc stream_to_gradio
GradioUI
autodoc GradioUI
Models
You're free to create and use your own engines to be usable by the Agents framework. These engines have the following specification:
- Follow the messages format for its input (
List[Dict[str, str]]
) and return a string. - Stop generating outputs before the sequences passed in the argument
stop_sequences
TransformersModel
For convenience, we have added a TransformersModel
that implements the points above by building a local transformers
pipeline for the model_id given at initialization.
from smolagents import TransformersModel
model = TransformersModel(model_id="HuggingFaceTB/SmolLM-135M-Instruct")
print(model([{"role": "user", "content": "Ok!"}], stop_sequences=["great"]))
>>> What a
autodoc TransformersModel
HfApiModel
The HfApiModel
is an engine that wraps an HF Inference API client for the execution of the LLM.
from smolagents import HfApiModel
messages = [
{"role": "user", "content": "Hello, how are you?"},
{"role": "assistant", "content": "I'm doing great. How can I help you today?"},
{"role": "user", "content": "No need to help, take it easy."},
]
model = HfApiModel()
print(model(messages))
>>> Of course! If you change your mind, feel free to reach out. Take care!
autodoc HfApiModel