Guía práctica: Comenzando con los agentes de Mistral API

La API de los agentes de Mistral permite a los desarrolladores crear agentes inteligentes y modulares equipados con una amplia gama de capacidades. Las características clave incluyen:

  • Soporte para una variedad de modelos multimodales, que cubren interacciones basadas en texto e imágenes.
  • Memoria de conversación, lo que permite a los agentes retener el contexto en múltiples mensajes de usuario.
  • La flexibilidad para comprometerse con modelos individuales, agentes independientes o coordinar entre múltiples agentes en un solo flujo.
  • Acceso incorporado a herramientas esenciales como ejecución de código, navegación web, generación de imágenes y una biblioteca de documentos.
  • Un poderoso mecanismo de transferencia de agentes, que permite a los agentes colaborar pasando tareas entre sí según sea necesario.

En esta guía, demostraremos cómo construir un agente básico de resolución de matemáticas utilizando la API de agentes de Mistral. Nuestro agente utilizará la herramienta de intérprete de código para manejar y resolver problemas matemáticos programáticamente.

Paso 1: Configuración de dependencias

Instalación de la biblioteca Mistral

Cargando la tecla API de Mistral

Puedes obtener una llave API de https://console.mistral.ai/api- keys

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

Paso 2: Creación del cliente y agente Mistral

El siguiente código crea un agente matemático personalizado que utiliza la API de agentes de mistral. El agente, nombrado Ayudante de matemáticasestá configurado para resolver problemas matemáticos, evaluar expresiones y explicar conceptos. Usa el Midal-Medio 2005 modelo junto con el incorporado de Mistral code_interpreter Herramienta, lo que le permite ejecutar el código de Python cuando sea necesario. El agente se inicializa con instrucciones claras y se ajusta con parámetros de finalización específicos para garantizar respuestas precisas y enfocadas.

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
    }
)

Paso 3: Ejecutar el agente

Inicializando la conversación

El siguiente código inicia una nueva conversación con Math_Agent, pidiéndole que resuelva la ecuación cuadrática 2x² + 3x – 2 = 0. El método Start () envía la consulta de entrada al agente, que utiliza el modelo y las herramientas especificadas (como el intérprete de código) para generar una respuesta. El resultado, incluida la explicación del asistente y la ejecución del código, se almacena en la variable de respuesta.

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

print(response)

Puede usar el siguiente código para obtener la salida final y el código ejecutado:

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

Trazar los resultados del código ejecutado

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

Continuando con la conversación usando conversaciones. Asegura que el agente retenga el contexto y se basa en las interacciones anteriores, lo que permite un diálogo más natural y coherente.

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)

Este código descargará la imagen generada como image_generated.png En el directorio actual. Podemos mostrar lo mismo usando el siguiente código

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

display(Image(filename=image_path))

Mira el Cuaderno aquí. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro 95k+ ml de subreddit y suscribirse a Nuestro boletín.


Soy un graduado de ingeniería civil (2022) de Jamia Millia Islamia, Nueva Delhi, y tengo un gran interés en la ciencia de datos, especialmente las redes neuronales y su aplicación en varias áreas.