Publicado el

Flujo de trabajo de código con Mistral AI Agents

3 min read
Autores
  • Profile picture of aithemes.net
    Nombre
    aithemes.net
    Twitter
Imagen del post En este post, documentaré un ejemplo de flujo de trabajo para la generación de código Python utilizando Mistral AI Agents.

Descripción general de Mistral AI Agents

Inspirado en el flujo de trabajo de Python Agent documentado en los recursos oficiales de Mistral, desarrollé un flujo de trabajo personalizado llamado gen_code_workflow. El objetivo de este flujo de trabajo es automatizar la generación de scripts Python basados en instrucciones proporcionadas por el usuario. Se integra un bucle en el flujo de trabajo para manejar la ejecución del script y reintentar en caso de errores.

El flujo de trabajo utiliza tres agentes de Mistral AI:

  • Python Code Generator Agent: Genera scripts Python basados en las entradas del usuario.
  • Python Code Fixer Agent: Intenta corregir errores de ejecución en el código generado.
  • Judge Agent: Evalúa el script Python en función de las instrucciones del usuario y proporciona una puntuación entre 0 y 10.

Argumentos del flujo de trabajo

El gen_code_workflow acepta los siguientes argumentos:

  • Instrucciones del usuario (str)
  • Opcional: Ruta del archivo para guardar el script Python resultante (str)
  • Opcional: Modo de depuración (bool)

Diagrama del flujo de trabajo

Diagrama del flujo de trabajo

Diagrama generado utilizando la integración de Excalidraw con Mermaid.

Ejemplo de ejecución

gen_code_workflow("""
   Generate a method to search Wikipedia for a specific topic.
   You will receive the search topic as an argument. If no argument is passed, set a default.
   The method should return information found on Wikipedia.
   Use a publicly available Python library to access Wikipedia.
   Do not limit the number of sentences.
   Handle errors in case the topic is not found.
   Document the method with its arguments and return values.
""","test.py", False)
Score: 8.5

Script Python resultante

import wikipedia
import subprocess
import sys

# Install the wikipedia library if it's not already installed
try:
    import wikipedia
except ImportError:
    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'wikipedia'])

def search_wikipedia(topic='Python programming language'):
    """
    Search Wikipedia for a given topic and return the information found.

    Args:
        topic (str): The topic to search on Wikipedia. Defaults to 'Python programming language'.

    Returns:
        str: The information found on Wikipedia for the specified topic.
              If the topic is not found, returns a user-friendly error message.
    """
    try:
        # Search Wikipedia for the provided topic
        page = wikipedia.page(topic)
        return page.content
    except wikipedia.exceptions.PageError:
        # Handle the case where the topic is not found
        return f"The topic '{topic}' was not found on Wikipedia."
    except wikipedia.exceptions.DisambiguationError as e:
        # Handle disambiguation errors by returning a message with possible options
        return f"The topic '{topic}' is ambiguous. Possible options are: {e.options}"

if __name__ == "__main__":
    print(search_wikipedia('Artificial Intelligence'))

Enlaces útiles


¿Disfrutaste este post? ¿Te resultó útil? No dudes en dejar un comentario a continuación para compartir tus pensamientos o hacer preguntas. Se requiere una cuenta de GitHub para unirse a la discusión.