Hands-On Guide: Getting started with Mistral Agents API

The Mistral Agents API enables developers to create smart, modular agents equipped with a wide range of capabilities. Key features include:

  • Support for a variety of multimodal models, covering both text and image-based interactions.
  • Conversation memory, allowing agents to retain context across multiple user messages.
  • The flexibility to engage with individual models, standalone agents, or coordinate between multiple agents in a single flow.
  • Built-in access to essential tools like code execution, web browsing, image generation, and a document library.
  • A powerful agent handoff mechanism, enabling agents to collaborate by passing tasks between each other as needed.

In this guide, we’ll demonstrate how to build a basic math-solving agent using the Mistral Agents API. Our agent will use the code interpreter tool to handle and solve math problems programmatically.

Step 1: Setting up dependencies

Installing the Mistral library

pip install mistralai

Loading the Mistral API Key

You can get an API key from

from getpass import getpass
apiKey = getpass('Enter Mistral API Key: ')

Step 2: Creating the Mistral client and Agent

The following code creates a custom math agent using the Mistral Agents API. The agent, named Math Helper, is configured to solve mathematical problems, evaluate expressions, and explain concepts. It uses the mistral-medium-2505 model along with Mistral’s built-in code_interpreter tool, allowing it to run Python code when needed. The agent is initialized with clear instructions and tuned with specific completion parameters to ensure accurate and focused responses.

from mistralai import Mistral
client = Mistral(apiKey)
math_agent = client.beta.agents.create(
    model="mistral-medium-2505",
    description="An agent that solves math problems and evaluates expressions.",
    name="Math Helper",
    instructions="You are a helpful math assistant. You can explain concepts, solve equations, and evaluate math expressions using the code interpreter.",
    tools=[{"type": "code_interpreter"}],
    completion_args={
        "temperature": 0.2,
        "top_p": 0.9
    }
)

Step 3: Running the Agent

Initializing the conversation

The following code initiates a new conversation with the math_agent, asking it to solve the quadratic equation 2x² + 3x – 2 = 0. The start() method sends the input query to the agent, which uses the specified model and tools (like the code interpreter) to generate a response. The result, including the assistant’s explanation and code execution, is stored in the response variable.

response = client.beta.conversations.start(
    agent_id=math_agent.id, inputs="Solve the quadratic equation 2x² + 3x - 2 = 0", #store=False
)

print(response)

You can use the following code to get the final output and the executed code:

response.outputs[2].content
print(response.outputs[1].info['code'])

Plotting the results of the executed code

response = client.beta.conversations.append(
    conversation_id=response.conversation_id, inputs="Plot the function f(x) = 2x² + 3x - 2"
)

Continuing the conversation using conversations.append ensures that the agent retains the context and builds upon the previous interactions, allowing for a more natural and coherent dialogue.

file_id = response.outputs[2].content[0].file_id
file_bytes = client.files.download(file_id=file_id).read()
with open(f"image_generated.png", "wb") as file:
    file.write(file_bytes)

This code will download the generated image as image_generated.png in the current directory. We can display the the same using the following code

from IPython.display import Image, display
image_path = "image_generated.png"

display(Image(filename=image_path))

Check out the . All credit for this research goes to the researchers of this project. Also, feel free to follow us on  and don’t forget to join our  and Subscribe to .

More from this stream

Recomended