Comando AICOMMAND

Información de Concepto

Uso de AI con análisis de datos

Admite el análisis de datos en lenguaje natural mediante la integración de Analytics con un servicio de AI externo.

Nota

Para usar el comando AICOMMAND, debe instalar y configurar una versión compatible de Python en la computadora donde se ejecutará el comando. También debe instalar dos bibliotecas de Python: Pandas y OpenAI Python API. Para obtener más información, consulte Configuración de Python para uso con Analytics.

El servicio externo de IA no es proporcionado por Diligent. Lo debe proporcionar su organización.

Solo conéctese a un servicio de IA externo que haya sido aprobado para su uso por su organización. Asegúrese de seguir todos los protocolos de seguridad si tiene la intención de transmitir datos confidenciales desde Analytics al servicio de IA.

Los resultados de IA pueden contener imprecisiones o errores. Use un método alternativo para verificar los resultados si se requiere una precisión absoluta.

Sintaxis

AICOMMAND {<FIELDS> field <...n>|<FIELDS> ALL} <SCRIPT "path_and_filename"> TO table_name USER_PROMPT "user_prompt_text" <PASSWORD num> MODEL "model_information" URL "ai_service_api_url" <BATCHSIZE number_of_records> <IF test> <WHILE test> <FIRST range|NEXT range> <OPEN>

Parámetros

Nombre Descripción

FIELDS nombre_campo <...n> | FIELDS ALL

Los campos o expresiones de la tabla de origen de Analytics para enviar al servicio IA.

Debe especificar al menos un campo o expresión.

  • FIELDS field_nameincluye el campo, los campos o las expresiones especificados

    Separe los nombres de campo con espacios. Los campos se exportan en el orden en el que usted los indica.

    Para exportar un campo relacionado, especifique un nombre de campo completo (table_name.field_name). Por ejemplo: Vendor.Vendor_Name

  • FIELDS ALLincluye todos los campos de tabla

    Los campos se exportan en el orden en el que aparecen en el formato de tabla. No se realizan exportaciones en los campos relacionados.

Nota

Limite la cantidad total de datos enviados al servicio de IA especificando solo aquellos campos que sean estrictamente necesarios para su objetivo de análisis.

Incluya un campo de identificador único si desea unir o relacionar la tabla devuelta del servicio de IA con la tabla de origen. Para obtener más información, consulte Cree un campo de identificador único.

SCRIPT "path_and_filename"

opcional

Si usa su propio script Python con AICOMMAND, la ruta del archivo y el nombre del script.

Si especifica un script, PASSWORD, MODEL y URL son opcionales. Para obtener más información, consulte Uso de su propio script de Python.

TO nombre_tabla

El lugar al que se deben enviar los resultados del comando:

  • nombre_tablaguarda los resultados en una tabla de Analytics

    Especifique nombre_tabla como una cadena entre comillas con una extensión de archivo .FIL. Por ejemplo: TO "Output.FIL"

    Por valor predeterminado, la archivo de datos de la tabla (.FIL) se guarda en la carpeta que contiene el proyecto de Analytics.

    Utilice una ruta de archivo absoluta o relativa para guardar el archivo de datos en una carpeta existente o una diferente:

    • TO "C:\Output.FIL"
    • TO "Results\Output.FIL"

    Nota

    Los nombres de las tablas tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.

USER_PROMPT "user_prompt_text"

El texto de la solicitud para ingresar al servicio de IA.

La solicitud le indica al servicio de IA cómo procesar los datos de entrada que envía y qué salida desea.

Nota

Debe incluir user_prompt_text con comillas dobles ( " ). Sin embargo, no incluya comillas dobles en el cuerpo del user_prompt_text. Las comillas dobles en el cuerpo del texto de la solicitud hacen que el comando falle. Puede usar comillas simples ( ' ) en el texto del mensaje.

PASSWORD núm

opcional

La definición de contraseña que se debe usar.

No se utiliza PASSWORD núm para solicitar o especificar una contraseña real. La definición de contraseña hace referencia a una contraseña proporcionada o configurada previamente con el comando PASSWORD, el comando SET PASSWORD o la etiqueta de estudio analítico PASSWORD.

núm es el número de la definición de contraseña. Por ejemplo, si se proporcionaron o configuraron dos contraseñas previamente en un script, o al programar un script de estudio analítico, PASSWORD 2 especifica que se utiliza la contraseña número 2.

Si desea obtener más información acerca de la especificación o configuración de contraseñas, consulte:

Nota

AICOMMAND usa la clave API de IA guardada en el registro local, suponiendo que se guardó una clave. Si no se guarda ninguna clave, o si desea usar una clave diferente, debe usar PASSWORD. Para obtener más información, consulte Configuración de conexión para un servicio de AI externo.

MODEL "model_information"

Identificación de información para el modelo específico de IA que desea utilizar.

Por ejemplo:

MODEL "anthropic.claude-3-5-sonnet-20241022-v2:0"

Un servicio de IA puede ofrecer diferentes modelos que puede usar.

Puede usar cualquier modelo de lenguaje de gran tamaño (LLM) compatible con OpenAI, es decir, un modelo de OpenAI o un modelo que use el mismo esquema de API que los modelos de OpenAI.

URL "ai_service_api_url"

La URL completa de la API de servicios de IA.

Por ejemplo:

URL "https://api.anthropic.com/v1"
BATCHSIZE number_of_records

opcional

El número de registros a incluir en cada lote enviado al servicio de IA.

Si AICOMMAND falla, intente especificar un tamaño de lote de 50 o 25.

Si no especifica BATCHSIZE, se usa el tamaño de lote predeterminado de 100 registros.

Un servicio de IA normalmente limita la cantidad de datos que procesará con cada operación. Los registros de una tabla de Analytics se envían a un servicio de IA en lotes, para mejorar la probabilidad de permanecer dentro de los límites de datos. Las respuestas de IA para todos los lotes se ensamblan en la tabla de salida única de Analytics.

IF prueba

opcional

Una condición que se debe cumplir para procesar el registro actual. Los datos enviados al servicio de IA contiene únicamente los registros que cumplen con esta condición.

Al menos un registro se debe incluir en la tabla por la condición IF. Si la condición excluye todos los registros de la tabla, se produce un error y el comando no se ejecuta.

WHILE prueba

opcional

Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta hasta que la condición se evalúa como falsa o hasta que se llega al final de la tabla.

Nota

Si usa WHILE junto con FIRST o NEXT, el procesamiento de registros se detiene al llegar a un límite.

FIRST rango | NEXT rango

opcional

La cantidad de registros que se procesarán:

  • FIRSTComienza a procesar desde el primer registro hasta que se llega al número de registros especificado.
  • NEXTComienza a procesar desde el registro seleccionado actualmente hasta que se llega al número de registros especificado.

Utilice intervalo para especificar la cantidad de registros que se deben procesar.

Si omite FIRST y NEXT, se procesan todos los registros de forma predeterminada.

ABRIR

opcional

Abre la tabla creada por el comando después de la ejecución del comando. Solo es válido si el comando crea una tabla de salida.

Ejemplos

Evaluación de proveedores con IA

Desea realizar una verificación básica de una tabla de proveedores para que aparezca cualquier posible proveedor ficticio. Ingrese los campos de nombre y dirección del proveedor en el servicio de IA y pídale que categorice a los proveedores como comunes, raros o desconocidos.

Los proveedores clasificados como desconocidos requieren una investigación adicional para determinar si realmente existen.

OPEN Proveedores
AICOMMAND FIELDS vendor_name address TO "ai_vendor_classification" USER_PROMPT "¿Este es un proveedor conocido? El valor de salida debe ser COMMON si es común, RARE si se conoce, pero poco común, UNKNOWN de lo contrario." MODEL "anthropic.claude-3-5-sonnet-20241022-v2:0" URL "https://hackfest-bedrock-proxy.diligentoneplatform-dev.com/api/v1"

Revisión de gastos con IA

Desea revisar las transacciones de la tarjeta P y marcar cualquier gasto en el que exista una discrepancia entre el artículo o servicio y el precio de compra. Ingresa la descripción del gasto y los campos de costo al servicio de IA y pídale que evalúe si el gasto es razonable.

OPEN PcardTransactions
AICOMMAND FIELDS Description UnitCost TO "ai_expense_cost_review" USER_PROMPT "Según la combinación de Descripción y Costo unitario, indique si el costo es habitual o inusual." MODEL "anthropic.claude-3-5-sonnet-20241022-v2:0" URL "https://hackfest-bedrock-proxy.diligentoneplatform-dev.com/api/v1"

Análisis del sentimiento de las reseñas de hoteles con IA

Desea realizar un análisis de sentimientos y la categorización del campo de comentarios de texto libre en una tabla que contiene las reseñas de los hoteles de los clientes. Pídale al servicio de IA que categorice los comentarios por las seis emociones humanas básicas.

OPEN hotel_reviews
AICOMMAND FIELDS reviews_rating reviews_text TO "ai_hotel_reviews_sentiment_analysis" USER_PROMPT "Realice un análisis de sentimiento sobre el campo reviews_text y categorice las revisiones por las siguientes emociones humanas básicas: felicidad, ira, miedo, tristeza, disgusto, sorpresa." MODEL "anthropic.claude-3-5-sonnet-20241022-v2:0" URL "https://hackfest-bedrock-proxy.diligentoneplatform-dev.com/api/v1" BATCHSIZE 50 OPEN

Observaciones

Cómo funciona la integración entre Analytics y un servicio de IA externo

Seleccionar campos, crear un mensaje de usuario y ejecutar AICOMMAND es el punto de partida para la integración completa entre Analytics y un servicio de IA externo:

  1. AnalyticsAICOMMAND extrae el campo o campos seleccionados de una tabla de Analytics y los guarda en un archivo CSV.

  2. AnalyticsAICOMMAND pone a disposición del usuario el mensaje de solicitud y la información de conexión para la API del servicio de IA, tanto en el script predeterminado de Python como en cualquier script de Python que usted cree.

    Ubicación del script predeterminado de Python:

    C:\Program Files (x86)\ACL Software\ACL for Windows <version>\acl_py_util\ai_main.py

    ¡Precaución!

    No mueva el script predeterminado de Python, ni lo altere de ninguna manera. La operación predeterminada de AICOMMAND depende de que el script predeterminado de Python esté en la ubicación correcta y permanezca sin cambios.

  3. PythonEl script de Python importa el archivo CSV y lo convierte en un marco de datos de Pandas.

  4. PythonEl script de Python envía el marco de datos y la solicitud del usuario a la API del servicio de IA. Para permanecer dentro de los límites de datos de la API, el script envía el marco de datos en lotes.

  5. Servicio de IAEl servicio de IA procesa el marco de datos basado en las instrucciones en la solicitud del usuario.

  6. Servicio de IAEl servicio de IA devuelve el marco de datos al script de Python con la adición de la columna ai_response, que contiene los resultados del procesamiento de IA.

  7. PythonEl script de Python convierte el marco de datos devuelto en una tabla de Analytics y lo exporta a Analytics con el nombre de la tabla de salida especificado en AICOMMAND.

  8. AnalyticsPuede abrir la tabla de salida en Analytics para ver los resultados del procesamiento de IA, o utilizar los resultados como base para el análisis de datos adicionales.

Uso de su propio script de Python

Puede usar tu propio script de Python con AICOMMAND. Cree el script con la lógica que desee para interactuar con la API del servicio de IA. En AICOMMAND, use el parámetro SCRIPT para especificar la ruta y el nombre de archivo del script.

Un enfoque posible es copiar el script predeterminado de Python utilizado por AICOMMAND como punto de partida para su propio script. El script predeterminado se encuentra en la carpeta de instalación de Analytics. Si instaló Analytics en la ubicación predeterminada, el script está aquí:

C:\Program Files (x86)\ACL Software\ACL for Windows <version>\acl_py_util\ai_main.py

¡Precaución!

No mueva el script predeterminado de Python, ni lo altere de ninguna manera. La operación predeterminada de AICOMMAND depende de que el script predeterminado de Python esté en la ubicación correcta y permanezca sin cambios.

El script de Python utilizado por AICOMMAND debe contener la configuración de conexión para el servicio de IA externo, ya sea el script predeterminado o su propio script. En su propio script, tiene dos opciones:

  • Utilice la configuración de conexión de AnalyticsUtilice los valores clave de host, modelo e IA de API especificados en los parámetros AICOMMAND.

    Para usar los valores de AICOMMAND en su script Python, defina tres variables o copie las definiciones de variables desde el script predeterminado de Python.

    an_api_key = os.getenv("ACL_PY_API_KEY")
    ai_base_url = os.getenv("ACL_PY_AI_BASE_URL")
    ai_model = os.getenv("ACL_PY_AI_MODEL")
  • Use su propio métodoUse su propio método para proporcionar los valores clave de host, modelo e IA de API. Si utiliza su propio método, no es necesario especificar los valores de conexión en los parámetros de AICOMMAND.

Cree un campo de identificador único

Si desea unir la tabla devuelta del servicio de IA con la tabla de origen, pero no tiene un campo de identificador único, puede usar la función RECNO( ) para crear una antes de usar AICOMMAND.

  1. En la tabla de origen, cree un campo calculado record_number que use la siguiente expresión:

    RECNO( )

    Para cada registro de la tabla, la función RECNO( ) agrega el número de registro único en el campo record_number.

    Para obtener más información, consulte DEFINE FIELD. . . Comando COMPUTED.

  2. Utilice AICOMMAND para procesar datos mediante un servicio de IA externo.

  3. Utilice el campo record_number como campo de clave común para unir la tabla devuelta del servicio de IA con la tabla de origen.

    Para obtener más información, consulte Comando JOIN.

Separe múltiples componentes en el campo ai_response

En la tabla de salida devuelta por AICOMMAND, los valores en el campo ai_response pueden contener varios componentes o elementos. Por ejemplo, el único valor que se muestra a continuación contiene cuatro componentes: sentimiento, sentiment_score, key_reasons y temas. El componente temas contiene tres valores individuales.

sentiment: Positivo, sentiment_score: 0,6, key_reasons: habitaciones limpias, personal amable, problemas con el desayuno, temas: limpieza, personal, comida

Para facilitar el análisis posterior, puede aislar los componentes y valores en campos calculados independientes que cree con las expresiones calculadas que se muestran a continuación.

Para obtener información general sobre cómo crear campos computados, consulte Definir campos calculados.

Nombre del campo calculado Expresión calculada Valor de resultado
sentimiento
REGEXREPLACE(ai_response, "sentiment\:\s(.*?),.*", "$1")
Positivo/a
sentiment_score
VALUE(REGEXREPLACE(ai_response, ".*sentiment_score\:\s(.*?),.*", "$1"), 1)
0,6
key_reasons
REGEXREPLACE(ai_response, ".*key_reasons\:\s(.*?),\sthemes.*", "$1")
habitaciones limpias, personal amable, problemas con el desayuno
temas
REGEXREPLACE(ai_response, ".*themes\:\s(.*?)", "$1")
limpieza, personal, comida
theme_1
SPLIT(REGEXREPLACE(ai_response, ".*themes\:\s(.*?)", "$1"), ",", 1)
limpieza
theme_2
SPLIT(REGEXREPLACE(ai_response, ".*themes\:\s(.*?)", "$1"), ",", 2)
personal
theme_3
SPLIT(REGEXREPLACE(ai_response, ".*themes\:\s(.*?)", "$1"), ",", 3)
comida