Générateur de modèles de harnais d'agent

Générez un code de démarrage pour un agent d'IA (invite système, schéma d'outil et boucle d'appel d'outil) pour Anthropic ou OpenAI, en Python ou TypeScript. Aucune inscription requise.

agent.py
"""My Agent -- generated by Aizvi's Agent Harness Boilerplate Generator."""
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from the environment

SYSTEM_PROMPT = "Vous êtes un assistant compétent et précis. Utilisez les outils disponibles lorsqu'ils permettent de répondre à la question de l'utilisateur et fournissez une réponse finale claire une fois que vous disposez des informations nécessaires."

# TODO: set MODEL to whichever Claude model you want to use
MODEL = "claude-3-5-sonnet-latest"

TOOLS = [
    {
        "name": "get_weather",
        "description": "Obtenez les prévisions météo actuelles pour un lieu donné.",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "La ville et l'État, par exemple San Francisco, Californie"
                }
            },
            "required": [
                "location"
            ]
        }
    }
]


def execute_tool(name: str, tool_input: dict) -> str:
    if name == "get_weather":
        # TODO: implement get_weather
        raise NotImplementedError(f"Tool '{name}' is not implemented yet")
    raise ValueError(f"Unknown tool: {name}")


def run_agent(user_message: str, max_iterations: int = 6) -> str:
    messages = [{"role": "user", "content": user_message}]

    for _ in range(max_iterations):
        response = client.messages.create(
            model=MODEL,
            max_tokens=1024,
            system=SYSTEM_PROMPT,
            tools=TOOLS,
            messages=messages,
        )

        messages.append({"role": "assistant", "content": response.content})

        if response.stop_reason != "tool_use":
            return "".join(block.text for block in response.content if block.type == "text")

        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        messages.append({"role": "user", "content": tool_results})

    return "Max iterations reached without a final answer."


if __name__ == "__main__":
    print(run_agent("Hello! What can you help me with?"))

Qu'est-ce qu'un harnais d'agent IA ?

Un harnais d'agent est le code d'encapsulation qui transforme un appel LLM brut en un agent fonctionnel : la boucle qui envoie des messages, vérifie la réponse pour les appels d'outils, les exécute et renvoie les résultats jusqu'à ce que le modèle produise une réponse finale. Ce générateur construit cette boucle pour vous, ainsi que l'invite système et le schéma d'outil, afin que vous puissiez vous concentrer sur l'implémentation de vos outils plutôt que sur l'infrastructure sous-jacente.

Foire aux questions

Qu'est-ce qu'un harnais d'agent IA ?

Un harnais d'agent est le code d'échafaudage autour d'un appel LLM brut qui le transforme en un agent fonctionnel - la boucle qui envoie des messages, vérifie les appels d'outils, les exécute et renvoie les résultats jusqu'à ce que le modèle produise une réponse finale.

Ce générateur est-il gratuit ?

Oui, c'est entièrement gratuit et sans inscription. Tout se passe dans votre navigateur.

Cet outil stocke-t-il mon invite de commande système ou les définitions d'outils ?

Non. Rien de ce que vous saisissez ici n'est envoyé ni stocké sur nos serveurs ; le code est généré intégralement dans votre navigateur.

Le code généré fonctionnera-t-il tel quel ?

Il fonctionnera une fois que vous aurez installé le SDK approprié, défini votre clé API comme variable d'environnement et implémenté les stubs TODO pour chaque outil ; il s'agit d'un point de départ fonctionnel, et non d'un agent finalisé.

Puis-je ajouter plusieurs outils avec des paramètres différents ?

Oui. Ajoutez autant d'outils que nécessaire, chacun avec ses propres paramètres, et ils seront tous inclus dans le schéma d'outils généré.

Quels fournisseurs et quelles langues sont pris en charge ?

Python et TypeScript, pour Anthropic (Claude) et OpenAI – quatre combinaisons au total, chacune utilisant le format d'appel d'outil officiel de ce fournisseur.

Ce code est généré intégralement dans votre navigateur ; aucune donnée saisie ici n’est envoyée ni stockée sur nos serveurs. Il s’agit d’un point de départ, et non d’un agent finalisé : installez le SDK correspondant, définissez votre clé API comme variable d’environnement et implémentez les éléments TODO pour chaque outil.

Propulsé par Aizvi