Embedding Open AI V3
Categoría: Cognitive
Descripción: El módulo Embedding Open AI permite integrar modelos de embedding de OpenAI en Azure dentro de los flujos de autoatención.
Funcionalidad: Integra la capacidad de evaluar consultas de usuarios utilizando modelos de embedding y conversación provistos por Azure OpenAI, con el objetivo de detectar intenciones, generar respuestas precisas y optimizar la experiencia del usuario en interacciones automatizadas.
Requisitos previos
Para conectar el módulo con los servicios de OpenAI en Azure, se deben obtener y configurar los siguientes elementos:
- Cuenta en Azure con acceso a OpenAI.
- Azure OpenAI Endpoint: URL del servicio en Azure.
- Azure OpenAI Key: Clave de autenticación para acceder a la API.
- Modelo de Embedding disponible: Se debe seleccionar y configurar el modelo de embeddings que se utilizará para la evaluación. Ver Embedding
Implementación
Sección 1: Configuración básica
ID del embedding que se utilizará para la evaluación: Campo de entrada de tipo dropdown list para seleccionar la base de conocimientos que se usará en la evaluación. Ver Embedding
Azure OpenAI Endpoint: Camp de entrada de tipo String para ingresar la dirección del servicio de OpenAI en Azure.
https://[nombre-recurso-open-AI].openai.azure.com
.Azure OpenAI Key: Campo de entrada de tipo password para ingresar la clave de autenticación para acceder al servicio.
Model embedding: Campo de entrada de tipo dropdown list para seleccionar el nombre del modelo específico utilizado para la evaluación de embeddings.
Cantidad de resultados a tomar: Campo de entrada de tipo dropdown list para seleccionar el número que define cuántos resultados de búsqueda vectorial se considerarán para la evaluación.
Entidad que define la consulta del cliente: Campo de entrada de tipo dropdown list para seleccionar el nombre de la entidad donde se almacena la consulta del usuario para su análisis.
Acción en caso de consulta no definida: Campo de entrada de tipo dropdown list para seleccionar el nombre de la acción a ejecutar si la consulta del cliente no coincide con las intenciones predefinidas.
Umbral mínimo de búsqueda vectorial: Campo de entrada de Number ara establecer el nivel de similitud necesario para considerar una consulta como válida (valor entre 0 y 1).
- Valores cercanos a 0: Permiten coincidencias más amplias, incluso con baja precisión, lo que puede generar más respuestas irrelevantes.
- Valores cercanos a 1: Exigen mayor precisión, reduciendo los resultados pero aumentando su relevancia.
Entidad donde se guardarán datos de los vectores principales: Campo de entrada de tipo dropdown list para seleccionar el nombre de la entidad donde se guardan los datos procesados de los vectores principales.
Expresión que define el prompt. Mensaje en streaming: Campo de entrada de tipo String para definir la estructura de los mensajes utilizados en la generación de respuestas automáticas claras y profesionales. Además, el usuario debe especificar qué intenciones debe reconocer la inteligencia artificial y cómo debe responder en cada caso. Esto garantiza que el sistema genere respuestas coherentes y alineadas con los objetivos de la interacción.
Ej.
'Eres un asistente virtual de atención al cliente. Responde de manera clara, concisa y profesional a las consultas de los usuarios. Usa un tono amigable y brinda información útil. Si la consulta no puede resolverse automáticamente, sugiere opciones adicionales o la posibilidad de hablar con un agente humano. ### INTENCIONES A DETECTAR En la frase que dice el usuario es posible reconocer algunas intenciones específicas que requieren tomar acciones y respuestas especiales. Nunca debes decir, al detectar alguna de estas intenciones, que no tienes la capacidad de ayudar sino con las respuestas indicadas en la siguiente lista. Las intenciones y sus respuestas son: Eres un experto en detectar intenciónes. Identifica la intención adecuada dependiendo de las siguientes opciones: ["transferencia_ejecutivo"] = "El cliente debe indicar que quiere hablar con un agente o un ejecutivo, el cliente solicita ser transferido a un agente humano para recibir asistencia personalizada sobre roaming. La primera y segunda vez que lo solicite responde tratando de mantener de forma amable al usuario en la conversación con el VoiceBot. La tercera vez consecutiva que insista debes responder lo siguiente: "Entiendo, intentaré transferirte.". A continuación algunos ejemplos: -Quiero hablar con un agente -Necesito asistencia de un ejecutivo -¿Me puedes transferir con un representante? -Prefiero hablar con una persona -¿Puedo comunicarme con un asesor? -Necesito ayuda de un agente humano -Quiero hablar con alguien del servicio al cliente -¿Cómo contacto a un ejecutivo? -No entiendo, pásame con un agente -Conéctame con un representante, por favor",
topVector
: ejemplo de nombre de para la Entidad donde se guardarán datos de los vectores principales. Incluir este valor en el prompt permite que la inteligencia artificial incluya esta información en la evaluación.
Sección 2: Configuración avanzada
- Modelo de evaluación de conversación: Campo de entrada de tipo dropdown list para seleccionar el nombre del modelo específico que se utilizará para analizar la conversación.
- Temperatura: Campo de entrada de Number para ingresar el valor que controlará la aleatoriedad en la generación de respuestas. Valor entre 0 y 1 (valores bajos generan respuestas más determinísticas).
- TOP_P (0-1): Campo de entrada de Number que define la probabilidad acumulativa utilizada en la selección de tokens.
- TOP_P = 1.0 → Se consideran todas las palabras posibles según sus probabilidades.
- TOP_P < 1.0 → Se filtran opciones menos probables, seleccionando solo términos con una probabilidad acumulativa dentro del porcentaje definido.
- Valores cercanos a 0 → Respuestas más predecibles y conservadoras.
- Valores cercanos a 1 → Respuestas más variadas y creativas.
- Max Output Token Count: Campo de entrada de Number para ingresar el número máximo de tokens permitidos en la respuesta generada.
- Frequency Penalty (0-1): Campo de entrada de Number para penalizar la repetición de términos en la respuesta generada.
- Valores cercanos a 0 → No penaliza repeticiones, permitiendo respuestas más consistentes.
- Valores cercanos a 1 → Reduce la probabilidad de repetir términos, incentivando mayor variedad.
- Límite de intentos fallidos: Campo de entrada de tipo dropdown list para seleccionar el nombre para seleccionar la intención a ejecutar en caso de error. Si se alcanza el máximo de intentos fallidos, el flujo de acción se interrumpe y el error se pasa a la intención 'embedding_Error'.
Sección 3: Configuración de detección de intenciones
Prompt para definir la detección de intenciones: Campo de entrada de tipo String Expression para ingresar la expresión que guía la evaluación de intenciones a partir de la consulta del usuario.
Ej. 'Eres un experto en detectar intenciones. Identifica la intención adecuada dependiendo de las siguientes opciones:'
Lista de intenciones: Conjunto de intenciones predefinidas que pueden ser detectadas en la consulta del usuario.
Intención: Campo de entrada de tipo dropdown list para para seleccionar el nombre de la intención del flujo de autoatención que debe ser detectada.
Acción: Campo de entrada de tipo dropdown list para seleccionar el nombre de la acción que se ejecutará si se detecta la intención correspondiente.
Note
El sistema permite agregar varias intenciones que pueden ser detectadas según la consulta del usuario.
Definición de intención: Campo de entrada de tipo String para especificar el concepto exacto de la intención que debe detectar la inteligencia artificial. Esto permite evitar interpretaciones incorrectas y garantizar que la acción en el flujo se ejecute de acuerdo con el objetivo esperado.
ej. Nombre de la intención obtenida como resultado de la clasificación.
Refiriéndose en este ejemplo a cómo se especificaron las intenciones en el prompt y en la lista de intenciones.
Definición de confianza: Campo de entrada de tipo String para definir el nivel mínimo de confianza requerido para que una intención sea considerada válida.
ej. Nivel de confianza en la clasificación de la intención, representado como un número entre 0 y 1.
Mensaje de confirmación: Campo de entrada de tipo String para definir el mensaje que se enviará al usuario cuando una intención sea detectada con el nivel de confianza adecuado.
ej. Mensaje de confirmación para la intención detectada.
Refiriéndose en este ejemplo a cómo se especificaron las intenciones en el prompt.