Comando AICOMMAND
Información de Concepto
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.
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:
|
| 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:
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:
-
AnalyticsAICOMMAND extrae el campo o campos seleccionados de una tabla de Analytics y los guarda en un archivo CSV.
-
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.
-
PythonEl script de Python importa el archivo CSV y lo convierte en un marco de datos de Pandas.
-
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.
-
Servicio de IAEl servicio de IA procesa el marco de datos basado en las instrucciones en la solicitud del usuario.
-
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.
-
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.
-
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.
-
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.
-
Utilice AICOMMAND para procesar datos mediante un servicio de IA externo.
-
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 |