OpenAI: acción de la función Ejecutar asistente

El OpenAI: La acción de la función Ejecutar asistente desbloquea un nuevo nivel de capacidad para su asistente de OpenAI. Utiliza la API de asistentes de OpenAI, que permite a los asistentes recurrir a funcionalidades externas durante las conversaciones. Esta característica actúa como un puente al conectar de manera activa a su asistente con una amplia caja de herramientas de poderes adicionales.

Antes de empezar

  • Debe tener el rol de Bot creator para usar la acción de la función Ejecutar asistente de OpenAI en una automatización.
  • Asegúrese de tener las credenciales necesarias para enviar una solicitud y haber incluido OpenAI: Acción Autenticar antes de llamar cualquier acción de OpenAI.
  • Debe tener OpenAI: Ejecute la acción Ejecutar asistente antes de invocar la función Ejecutar asistente de OpenAI.

Este ejemplo profundiza en el uso de las funciones de ejecución de asistente de OpenAI que amplían las capacidades de su asistente. Explorará cómo invocar a un asistente existente dentro del entorno Ejecutar, extraer información crucial (Thread ID, Call ID y Run ID) y aprovechar estos ID para definir una respuesta de función personalizada. Por ejemplo, aquí se carga un asistente del mercado de valores y los resultados de la función se definen utilizando tools output list (respuesta de función).

Procedimiento

  1. En la Automation Anywhere Control Room, navegue hasta el panel Acciones, seleccione IA generativa > OpenAI, arrastre la acción Autenticar y colóquela en el lienzo. Para autenticar necesita una clave de API. Para obtener más información sobre cómo generar una clave de API y autenticación, consulte OpenAI: Acción Autenticar.OpenAI: Función Ejecutar asistente
  2. Coloque Open AI: acción Ejecutar asistente debajo de la acción Autenticar y use Cargar asistentes para cargar un asistente (asistente del mercado de valores). Ingrese un Mensaje (Obtener el precio de las acciones de AAINC). La respuesta se guarda en una variable de cadena str_Response. Para obtener más información sobre el uso de Open AI: acción Ejecutar asistente, consulte OpenAI: acción Ejecutar asistente.OpenAI: Acción Ejecutar asistente
    Nota: Solo con fines ilustrativos, en este ejemplo se utiliza el código ficticio de acciones AAINC. El precio de $3200 asignado a AAINC es un valor de muestra y no representa el precio de ninguna acción real.

    El asistente del mercado de valores cargado desde OpenAI contiene las siguientes instrucciones y funciones:

    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. En el panel Acciones, arrastre la acción JSON > Iniciar sesión y suéltela en el lienzo debajo de la acción Open AI: Acción Ejecutar asistente.
    1. En el campo Origen de datos, seleccione Texto e introduzca $str_Response$.
    2. En el campo sesión del objeto JSON, haga clic en Sesión local e ingrese Default.
      Decodificación de JSON
      Ahora tiene el JSON completo. La siguiente tarea consiste en extraer los campos obligatorios del cuerpo. El siguiente fragmento muestra un JSON de muestra:
      {
         "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"
      }
    Nota: tool_calls y tool_outputs dentro de un mensaje de asistente de OpenAI pueden manejar escenarios en los que el usuario realiza varias solicitudes en un solo mensaje. Por ejemplo, Obtener el precio de las acciones de AAINC y BBINC. Este único mensaje en realidad contiene dos solicitudes distintas: encontrar el precio de las acciones de AAINC y encontrar el precio de las acciones de BBINC.
  4. Extraiga los campos obligatorios de JSON para ejecutar OpenAI: Función Ejecutar asistente.
    1. En el panel Acciones, arrastre la acción Json > Obtener valor del nodo y suéltela en el lienzo debajo de la acción Json > Obtener valor del nodo. Para obtener más información sobre JSON: Obtener acción de valor de nodo, consulte acción Obtener valor de nodo en JSON.
    2. Especifique qué nodos se extraerán. Por ejemplo, para extraer thread_id, puede usar data.thread_id
    3. Cree una variable thread_id y asigne la salida a esta variable.
    4. Del mismo modo, extraiga run_id y call_id (data.id y data.tool_calls[0].id) y guárdelos en una variable run_id y call_id.
  5. Navegue hasta el panel Acciones, seleccione IA generativa > OpenAI, arrastre OpenAI: función Ejecutar asistente y colóquela debajo de la última acción Obtener valor del nodo.
    1. Utilice el valor $thread_id$ extraído en el campo ID del hilo.
    2. Utilice el valor $run_id$ extraído en el campo ID de ejecución.
    3. Defina una respuesta de función utilizando el siguiente esquema estándar. El esquema es un objeto JSON que contiene información sobre el resultado de una herramienta (función) utilizada por el asistente de OpenAI.
      {
         "tool_outputs":[
            {
               "tool_call_id":"Enter the call ID",
               "output":"{Enter your output}"
            }
         ]
      }

      Después de procesar su solicitud y ejecutar la función adecuada, debe comunicar los resultados a la API del asistente de OpenAI. Para hacerlo, necesita crear una lista especial, como se muestra arriba, llamada tools output list. Esta lista contiene las siguientes propiedades:

      • tool_call_id (cadena): Esta propiedad contiene un identificador único para la invocación específica de la herramienta (función) que generó el resultado. Este ID ayuda a rastrear y hacer referencia a la instancia de ejecución específica de la herramienta.
      • Salida (cualquiera): Esta propiedad contiene los datos de salida reales generados por la herramienta. El tipo de datos de salida puede variar según la herramienta específica y su propósito. Por ejemplo:
        • Una cadena (como un texto generado por una función de escritura creativa).
        • Un número (como el resultado de un cálculo).
        • Una lista (como una colección de puntos de datos recuperados).
        • Un diccionario (como una estructura de datos compleja con múltiples valores).
        • Cualquier otro tipo de datos JSON válido.

      Por ejemplo, en este ejemplo ingrese el siguiente JSON:

      {
         "tool_outputs":[
            {
               "tool_call_id":"$call_id
      quot;, "output":"{3200}" } ] }
    4. Introduzca Predeterminado como nombre de la sesión para limitarla a la sesión actual.
    5. Guardar la respuesta en una variable. En este ejemplo, la respuesta se guarda en una variable de cadena str_FunctionResponse. El resultado es un JSON que muestra el valor que solicitó generar y a continuación se muestra un resultado de muestra de la ejecución anterior:
      :
      {
         "data":[
            {
               "metadata":{
                  
               },
               "role":"assistant",
               "content":[
                  {
                     "type":"text",
                     "text":{
                        "value":"The current stock price for AAINC is $3200.",
                        "annotations":[
                           
                        ]
                     }
                  }
               ]
            }
         ],
         "status":"completed"
      }}
    La acción OpenAI: función Ejecutar asistente revoluciona la forma en que operan los asistentes de OpenAI, transformándolos de simples proveedores de información a poderosas herramientas que pueden tomar medidas y satisfacer solicitudes. Al aprovechar las funcionalidades externas, los asistentes ahora pueden abordar tareas complejas, ofrecer recomendaciones personalizadas, como se muestra en el ejemplo anterior y, en última instancia, brindar una experiencia del usuario más completa y útil.