agents.json : une spécification open source pour que les intelligences interagissent avec les API par le biais du langage naturel

Introduction générale

agents.json est une spécification open source développée par l'équipe Wildcard AI, basée sur la norme OpenAPI, qui vise à permettre aux intelligences de communiquer efficacement avec les API par le biais du langage naturel. Il définit le contrat d'interaction entre les intelligences et les API par le biais de fichiers JSON structurés, optimise la découverte des points de terminaison et la génération de paramètres, et résout le problème de l'ordre chaotique et de la faible précision lorsque les intelligences appellent les API. Le projet est en version 0.1.0, hébergé sur GitHub (https://github.com/wild-card-ai/agents-json) sous licence Apache 2.0, et la participation de la communauté est encouragée. Avec le package Python Wildcard Bridge, les développeurs peuvent charger, analyser et exécuter des fichiers agents.json afin d'automatiser facilement les appels d'API en plusieurs étapes.

Agents.json est une spécification JSON open source qui décrit formellement le contrat d'interaction entre l'API et l'intelligence artificielle, en s'appuyant sur la norme OpenAPI.

agents.json:智能体通过自然语言与API交互的开源规范

 

Liste des fonctions

  • Appels d'API pilotés par le langage naturelIntelligentsia : déclencher des opérations API dans le langage courant.
  • Extensions basées sur OpenAPILe projet de loi sur la protection des droits de l'homme et des libertés fondamentales : Nouvelles règles d'interaction sur OpenAPI afin d'optimiser l'utilisation des intelligences.
  • Flux de tâches et liensLes tâches sont définies par des flux de tâches à plusieurs étapes (flux) et des liens d'action (liens) afin de garantir l'ordre d'appel.
  • conception sans étatLe statut de la gestion des clients pour soutenir les déploiements d'infrastructure existants.
  • Support SDKLe pont Wildcard charge et exécute les fichiers de spécification pour simplifier le développement.

 

Utiliser l'aide

Accès et préparation

agents.json est un fichier de spécification qui doit être utilisé en conjonction avec le SDK ou écrit manuellement. Voici comment il fonctionne :

1. récupérer le fichier agents.json

  • exemple officiel: :
    Obtenez le cahier de démarrage rapide de Wildcard AI, par exemple :

  • Rédaction sur mesure: :
    sol Schéma completqui crée le fichier. Par exemple :

    {
    "apiVersion": "0.1.0",
    "baseUrl": "https://api.example.com",
    "chains": {
    "get_data": {
    "description": "获取指定数据",
    "agent_instructions": "根据用户输入提取数据",
    "steps": [{"endpoint": "/data", "method": "GET"}]
    }
    }
    }

Il est recommandé de placer le /.well-known/agents.json des voies faciles à découvrir par l'intelligentsia.

2. installation du pont Wildcard

  • demande: Python 3.10+.
  • déplacer: :
    1. Exécuter la commande :
      pip install wildcard-bridge
      
    2. Validation :
      python -c "import wildcard_bridge; print(wildcard_bridge.__version__)"
      

3. environnement de configuration

  • Soutien à la certificationL'authentification de base, l'authentification par ApiKey et l'authentification par porteur sont prises en charge. Exemple :
    from wildcard_bridge import Bridge
    bridge = Bridge(auth={"type": "ApiKey", "key": "your-api-key"})
    
  • Intelligence connectéeAccès aux LLM pris en charge (par exemple, OpenAI) et préparation des invites de base.

Fonctionnement des principales fonctions

Fonction 1 : charger et analyser le fichier de spécification

  • déplacer: :
    1. Charger le fichier :
      bridge.load_agents_json("path/to/agents.json")
      
    2. Visualiser la chaîne de tâches :
      chains = bridge.get_available_chains()
      print(chains)  # 输出可用任务,如 ["get_data"]
      
  • utiliserLe programme d'action de l'Union européenne : Comprendre les opérations prises en charge, prêtes à être exécutées.

Fonction 2 : Exécution des flux de tâches

  • déplacer: :
    1. Exécuter la tâche :
      result = bridge.run_chain("get_data", {"query": "sales report"})
      print(result)  # 输出 API 返回结果
      
    2. Vérifier les données de retour.
  • prendreL'utilisateur dit "Donnez-moi le rapport des ventes" et l'organisme intelligent appelle automatiquement l'API.

Fonction 3 : Débogage et optimisation

  • ajuster les composants pendant les essais: :
    bridge.enable_debug()
    result = bridge.run_chain("get_data", {"query": "test"})
    

    Vérifiez les journaux pour vous assurer que chaque étape est correcte.

  • optimisation: Ajustements agent_instructions ou des exemples pour améliorer la précision de l'intelligentsia.

Fonction en vedette Fonctionnement

Flux des tâches et conception des liens

  • flux de travail: :
    1. Définir des flux de tâches en plusieurs étapes, comme les réponses à Gmail :
      {
      "chains": {
      "reply_email": {
      "description": "回复邮件",
      "agent_instructions": "根据用户输入回复邮件",
      "steps": [
      {"endpoint": "/threads/{threadId}", "method": "GET"},
      {"endpoint": "/messages/send", "method": "POST"}
      ]
      }
      }
      }
      
    2. La course à pied :
      bridge.run_chain("reply_email", {"threadId": "123", "reply": "已收到"})
      
  • point lumineuxLes flux et les liens garantissent que les appels sont dans le bon ordre et que l'intelligence n'a pas à raisonner à leur sujet.

Compatibilité sans état avec les systèmes existants

  • réaliser: :
    Le SDK s'exécute côté client et est adapté aux environnements sans serveur :

    def lambda_handler(event, context):
    bridge = Bridge(auth={"type": "Bearer", "token": event["token"]})
    bridge.load_agents_json("s3://bucket/agents.json")
    return bridge.run_chain("task", event["args"])
    
  • tranchantIl n'est pas nécessaire de modifier le serveur de l'API, il suffit de l'utiliser.

Exemple : Demande de paiement Stripe

  • agents.json: :
    {
    "baseUrl": "https://api.stripe.com/v1",
    "chains": {
    "check_payment": {
    "description": "查询支付状态",
    "agent_instructions": "根据支付 ID 返回状态",
    "steps": [{"endpoint": "/charges/{chargeId}", "method": "GET"}]
    }
    }
    }
    
  • être en mouvement: :
    result = bridge.run_chain("check_payment", {"chargeId": "ch_123"})
    print(result)
    
  • effetL'organisme intelligent renvoie directement l'état du paiement, ce qui est simple et efficace.

mise en garde

  • cautionLes clés sont stockées dans des variables d'environnement afin d'éviter les fuites.
  • communautaire: Rejoindre Discord Obtenez de l'aide.
  • fichier (informatique): Référence document officiel.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...