Action OpenAI : action Exécuter la fonction d'assistant

L'action OpenAI : Exécuter la fonction d'assistant permet d'accéder à un niveau de capacité d'automatisation supérieur sur l'assistant OpenAI. Elle utilise l'API Assistants OpenAI de façon à ce que les assistants puissent faire appel à des fonctionnalités externes pendant les conversations. Cette fonction établit un lien entre votre assistant et de nombreux puissants outils supplémentaires.

Prérequis

  • Vous devez avoir le rôle de Créateur de robots pour utiliser l'action Exécuter la fonction d'assistant d'OpenAI dans une automatisation.
  • Assurez-vous de disposer des informations d'identification nécessaires pour envoyer une demande et d'inclure Action Authentifier avant d'appeler toute action OpenAI.
  • Vous devez disposer d'une OpenAI : Exécuter l'assistant avant d'appeler l'action Exécuter la fonction d'assistant d'OpenAI.

Cet exemple traite de l'utilisation de l'action Exécuter la fonction d'assistant d'OpenAI, qui étend les capacités de votre assistant. Vous découvrirez comment appeler un assistant existant dans l'environnement d'exécution, extraire des informations cruciales (Thread ID, Call ID et Run ID) et exploiter ces identifiants pour définir une réponse de fonction personnalisée. Dans cet exemple, un assistant Bourse est chargé et les résultats de la fonction sont définis à l'aide de tools output list (réponse de fonction).

Procédure

  1. Dans la Automation Anywhere Control Room, accédez au volet Actions, sélectionnez IA générative > OpenAI, puis faites glisser l'action Authentifier et placez-la dans le canevas. Pour vous authentifier, vous devez disposer d'une clé API. Pour en savoir plus sur la génération d'une clé API et sur l'authentification, voir Action Authentifier.Action OpenAI : Exécuter la fonction d'assistant
  2. Placez l'action Open AI : Exécuter l'assistant sous l'action Authentifier et utilisez les assistants de chargement pour charger un assistant (assistant Bourse). Saisissez un message (Obtenir les cours boursiers de l'AAINC). La réponse est enregistrée dans une variable de chaîne str_Response. Pour en savoir plus sur l'utilisation de l'action Open AI : Exécuter l'assistant, voir Action OpenAI : action Exécuter l'assistant.Action OpenAI : Exécuter l'assistant
    Remarque : Dans cet exemple, le code d'action fictif AAINC est utilisé à des fins d'illustration uniquement. Le prix de 3 200 $ attribué à AAINC est une valeur exemple et ne représente pas le prix d'une action réelle.

    L'assistant Bourse chargé depuis OpenAI contient l'instruction et la fonction suivantes :

    You are a stock market assistant. When asked a question related to stocks use the function and get the stock price.
    {
       "name":"get_stock_price",
       "description":"Get the current stock price",
       "parameters":{
          "type":"object",
          "properties":{
             "symbol":{
                "type":"string",
                "description":"The stock symbol"
             }
          },
          "required":[
             "symbol"
          ]
       }
    }
  3. Dans le volet Actions, faites glisser l'action JSON > Démarrer une session dans le canevas sous l'action Open AI : Exécuter l'assistant.
    1. Dans le champ Source de données, sélectionnez Texte et saisissez $str_Response$.
    2. Dans le champ Session d'objet JSON, sélectionnez Session locale et saisissez Default.
      Décodage JSON
      Vous disposez maintenant de l'intégralité du JSON. La tâche suivante consiste à extraire les champs obligatoires du corps. L'extrait suivant montre un exemple de JSON :
      {
         "data":{
            "thread_id":"thread_hiCr3najXMSxuuiIntJDXDXd",
            "tool_calls":[
               {
                  "id":"call_Beu0XFPGR91RZGoXBA8ODSke",
                  "type":"function",
                  "function":{
                     "name":"get_stock_price",
                     "arguments":"{\n\"symbol\": \"AAINC\"\n}"
                  }
               }
            ],
            "id":"run_LnR669bHLcMAaIGOcvIE0nVa"
         },
         "status":"requires_action"
      }
    Remarque : tool_calls et tool_outputs dans un message d'assistant OpenAI permettent de gérer les scénarios dans lesquels l'utilisateur effectue plusieurs demandes dans un seul message. Par exemple, Obtenir les cours boursiers d'AAINC et de BBINC. Ce message unique contient en réalité deux demandes distinctes : rechercher les cours boursiers d'AAINC et rechercher les cours boursiers de BBINC.
  4. Extrayez les champs requis du JSON pour exécuter l'action OpenAI : Exécuter la fonction d'assistant.
    1. Dans le volet Actions, faites glisser l'action Json > Obtenir la valeur du nœud dans le canevas, sous l'action Json > Obtenir la valeur du nœud. Pour en savoir plus sur l'action JSON : Obtenir la valeur du nœud, voir action Obtenir la valeur du nœud au format JSON.
    2. Spécifiez les nœuds à extraire. Par exemple, pour extraire thread_id, vous pouvez utiliser data.thread_id
    3. Créez une variable thread_id et attribuez la sortie à cette variable.
    4. De même, extrayez run_id et call_id(data.id et data.tool_calls[0].id) et enregistrez-les dans une variable run_id et une variable call_id.
  5. Accédez au volet Actions, sélectionnez IA générative > OpenAI, faites glisser l'action OpenAI : Exécuter la fonction d'assistant, puis placez-la sous la dernière action Obtenir la valeur du nœud.
    1. Utilisez le $thread_id$ extrait dans le champ ID de thread.
    2. Utilisez le $run_id$ extrait dans le champ ID d'exécution.
    3. Définissez une réponse de fonction à l'aide du schéma standard ci-dessous. Le schéma est un objet JSON contenant des informations sur la sortie d'un outil (fonction) utilisé par l'assistant OpenAI.
      {
         "tool_outputs":[
            {
               "tool_call_id":"Enter the call ID",
               "output":"{Enter your output}"
            }
         ]
      }

      Après avoir traité votre demande et exécuté la fonction appropriée, vous devez communiquer les résultats à l'API de l'assistant OpenAI. Pour ce faire, vous devez créer une liste spéciale, comme indiqué ci-dessus, appelée tools output list. Cette liste contient les propriétés suivantes :

      • tool_call_id (chaîne) : cette propriété contient un identifiant unique pour l'appel spécifique de l'outil (fonction) ayant généré la sortie. Cet identifiant permet de suivre et de référencer l'instance d'exécution spécifique de l'outil.
      • output (personnalisée) : cette propriété contient les données de sortie réelles générées par l'outil. Le type de données de sortie peut varier en fonction de l'outil spécifique et de son objectif. Il peut s'agir :
        • d'une chaîne (par exemple, un texte généré par une fonction d'écriture créative) ;
        • d'un chiffre (par exemple, le résultat d'un calcul) ;
        • d'une liste (par exemple, une collection de points de données extraits) ;
        • d'un dictionnaire (par exemple, une structure de données complexe avec des valeurs multiples) ;
        • de tout autre type de données JSON valide.

      Dans cet exemple, saisissez le JSON suivant :

      {
         "tool_outputs":[
            {
               "tool_call_id":"$call_id
      quot;, "output":"{3200}" } ] }
    4. Saisissez Par défaut comme nom de session pour vous limiter à la session en cours.
    5. Enregistrez la réponse dans une variable. Dans cet exemple, la réponse est enregistrée dans une variable de chaîne str_FunctionResponse. La sortie est un JSON qui affiche la valeur que vous souhaitez générer ; voici un exemple de sortie de l'exécution ci-dessus :
      :
      {
         "data":[
            {
               "metadata":{
                  
               },
               "role":"assistant",
               "content":[
                  {
                     "type":"text",
                     "text":{
                        "value":"The current stock price for AAINC is $3200.",
                        "annotations":[
                           
                        ]
                     }
                  }
               ]
            }
         ],
         "status":"completed"
      }}
    L'action OpenAI : Exécuter la fonction d'assistant révolutionne le mode de fonctionnement des assistants OpenAI : ceux-ci ne se limitent plus à fournir des informations, mais deviennent des outils puissants capables d'agir et de répondre aux demandes. En tirant parti de fonctionnalités externes, les assistants peuvent désormais s'attaquer à des tâches complexes, fournir des recommandations personnalisées comme dans l'exemple ci-dessus et, en définitive, offrir à l'utilisateur une expérience plus complète et plus utile.