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))
«`