API Mistral Agents позволяет разработчикам создавать интеллектуальных модульных агентов, наделённых широким спектром возможностей.
Основные функции:
* Поддержка различных мультимодальных моделей, охватывающих взаимодействие как с текстом, так и с изображениями.
* Память разговора, позволяющая агентам сохранять контекст при нескольких сообщениях пользователя.
* Гибкость взаимодействия с отдельными моделями, автономными агентами или координация между несколькими агентами в одном потоке.
* Встроенный доступ к основным инструментам, таким как выполнение кода, просмотр веб-страниц, генерация изображений и библиотека документов.
* Мощный механизм передачи управления агентам, позволяющий им сотрудничать путём передачи задач друг другу по мере необходимости.
В этом руководстве мы покажем, как создать базового агента для решения математических задач с помощью Mistral Agents API. Наш агент будет использовать инструмент интерпретатора кода для обработки и решения математических задач программным способом.
Шаг 1: настройка зависимостей
Установка библиотеки Mistral
“`pip install mistralai“`
Загрузка ключа API Mistral
Вы можете получить ключ API на сайте https://console.mistral.ai/api-keys.
“`
from getpass import getpass
apiKey = getpass(‘Enter Mistral API Key: ‘)
“`
Шаг 2: создание клиента Mistral и агента
Следующий код создаёт пользовательского математического агента с помощью Mistral Agents API. Агент, названный Math Helper, настроен на решение математических задач, оценку выражений и объяснение концепций. Он использует модель mistral-medium-2505 вместе со встроенным инструментом Mistral code_interpreter, что позволяет ему при необходимости запускать код Python. Агент инициализируется с чёткими инструкциями и настроен с определёнными параметрами завершения, чтобы обеспечить точные и целенаправленные ответы.
“`
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
}
)
“`
Шаг 3: запуск агента
Инициализация разговора
Следующий код инициирует новый разговор с math_agent, предлагая ему решить квадратное уравнение 2x² + 3x – 2 = 0. Метод start() отправляет входной запрос агенту, который использует указанную модель и инструменты (например, интерпретатор кода) для генерации ответа. Результат, включая объяснение помощника и выполнение кода, сохраняется в переменной response.
“`
response = client.beta.conversations.start(
agentid=mathagent.id, inputs=”Solve the quadratic equation 2x² + 3x – 2 = 0″, #store=False
)
print(response)
“`
Вы можете использовать следующий код, чтобы получить окончательный вывод и выполненный код:
“`
response.outputs[2].content
“`
“`
print(response.outputs[1].info[‘code’])
“`
Построение графиков результатов выполненного кода
“`
response = client.beta.conversations.append(
conversationid=response.conversationid, inputs=”Plot the function f(x) = 2x² + 3x – 2″
)
“`
Продолжение разговора с помощью conversations.append гарантирует, что агент сохранит контекст и будет опираться на предыдущие взаимодействия, обеспечивая более естественный и последовательный диалог.
“`
fileid = response.outputs[2].content[0].fileid
filebytes = client.files.download(fileid=file_id).read()
with open(f”image_generated.png”, “wb”) as file:
file.write(file_bytes)
“`
Этот код скачает сгенерированное изображение как image_generated.png в текущем каталоге. Мы можем отобразить его следующим кодом:
“`
from IPython.display import Image, display
imagepath = “imagegenerated.png”
display(Image(filename=image_path))
“`