Compartir a través de


IA: Generación de finalizaciones

Además de la característica lenguaje natural a SQL, también puede usar Azure OpenAI en Foundry Models para generar mensajes de correo electrónico y SMS para mejorar la productividad del usuario y simplificar los flujos de trabajo de comunicación. Al usar las funcionalidades de generación de lenguajes de Azure OpenAI, los usuarios pueden definir reglas específicas, como "El pedido se retrasa 5 días" y el sistema generará automáticamente mensajes sms y correo electrónico adecuados contextualmente en función de esas reglas.

Esta funcionalidad sirve como un punto de partida para los usuarios, lo que les proporciona una plantilla de mensajes cuidadosamente diseñada que pueden personalizar fácilmente antes de enviarlos. El resultado es una reducción significativa del tiempo y el esfuerzo necesarios para redactar mensajes, lo que permite a los usuarios centrarse en otras tareas importantes. Además, la tecnología de generación de lenguajes de Azure OpenAI se puede integrar en flujos de trabajo de automatización, lo que permite que el sistema genere y envíe mensajes de forma autónoma en respuesta a desencadenadores predefinidos. Este nivel de automatización no solo acelera los procesos de comunicación, sino que también garantiza una mensajería coherente y precisa en varios escenarios.

En este ejercicio, aprenderá a:

  • Experimente con mensajes diferentes.
  • Use avisos para generar finalizaciones de mensajes de correo electrónico y SMS.
  • Explore el código que habilita las finalizaciones de inteligencia artificial.
  • Obtenga información sobre la importancia de la ingeniería de avisos e incluir reglas en las solicitudes.

Empecemos experimentando con diferentes reglas que se pueden usar para generar mensajes sms y de correo electrónico.

Uso de la característica de finalizaciones de IA

  1. En un ejercicio anterior ha iniciado la base de datos, las API y la aplicación. También ha actualizado el .env archivo. Si no ha completado esos pasos, siga las instrucciones al final del ejercicio antes de continuar.

  2. Vuelva al explorador (http://localhost:4200) y seleccione Ponerse en contacto con el cliente en cualquier fila del datagrid seguido de Correo electrónico o cliente sms para ir a la pantalla Generador de mensajes.

  3. Esto usa Azure OpenAI para convertir reglas de mensajes que defina en mensajes de correo electrónico o SMS. Realice las siguientes tareas:

    • Escriba una regla como Order se retrasa 5 días en la entrada y seleccione el botón Generar mensajes de correo electrónico o SMS .

      Generador de mensajes de correo electrónico o SMS de Azure OpenAI.

    • Verá un asunto y un cuerpo generados para el correo electrónico y un mensaje corto generado para el SMS.

    Nota:

    Dado que Azure Communication Services aún no está habilitado, no podrá enviar el correo electrónico ni los mensajes SMS.

  4. Cierre la ventana de diálogo correo electrónico/SMS en el explorador. Ahora que ha visto esta característica en acción, vamos a examinar cómo se implementa.

Exploración del código de finalizaciones de IA

Sugerencia

Si usa Visual Studio Code, puede abrir archivos directamente seleccionando:

  • Windows/Linux: Ctrl + P
  • Mac: Cmd + P

A continuación, escriba el nombre del archivo que desea abrir.

  1. Abra el archivo server/apiRoutes.ts y busque la completeEmailSmsMessages ruta. La parte front-end de la aplicación llama a esta API cuando se selecciona el botón Generar mensajes de correo electrónico o SMS . Recupera los valores de solicitud de usuario, empresa y nombre de contacto del cuerpo y los pasa a la completeEmailSMSMessages() función en el archivo de servidor o openAI.ts . A continuación, los resultados se devuelven al cliente.

    router.post('/completeEmailSmsMessages', async (req, res) => {
        const { prompt, company, contactName } = req.body;
    
        if (!prompt || !company || !contactName) {
            return res.status(400).json({ 
                status: false, 
                error: 'The prompt, company, and contactName parameters must be provided.' 
            });
        }
    
        let result;
        try {
            // Call OpenAI to get the email and SMS message completions
        result = await completeEmailSMSMessages(prompt, company, contactName);
        }
        catch (e: unknown) {
            console.error('Error parsing JSON:', e);
        }
    
        res.json(result);
    });
    
  2. Abra el archivo server/openAI.ts y busque la completeEmailSMSMessages() función .

    async function completeEmailSMSMessages(prompt: string, company: string, contactName: string) {
        console.log('Inputs:', prompt, company, contactName);
    
        const systemPrompt = `
        Assistant is a bot designed to help users create email and SMS messages from data and 
        return a JSON object with the email and SMS message information in it.
    
        Rules:
        - Generate a subject line for the email message.
        - Use the User Rules to generate the messages. 
        - All messages should have a friendly tone and never use inappropriate language.
        - SMS messages should be in plain text format and NO MORE than 160 characters. 
        - Start the message with "Hi <Contact Name>,\n\n". Contact Name can be found in the user prompt.
        - Add carriage returns to the email message to make it easier to read. 
        - End with a signature line that says "Sincerely,\nCustomer Service".
        - Return a valid JSON object with the emailSubject, emailBody, and SMS message values in it:
    
        { "emailSubject": "", "emailBody": "", "sms": "" }
    
        - The sms property value should be in plain text format and NO MORE than 160 characters.
        `;
    
        const userPrompt = `
        User Rules: 
        ${prompt}
    
        Contact Name: 
        ${contactName}
        `;
    
        let content: EmailSmsResponse = { status: true, email: '', sms: '', error: '' };
        let results = '';
        try {
            results = await callOpenAI(systemPrompt, userPrompt, 0.5);
            if (results) {
                const parsedResults = JSON.parse(results);
                content = { ...content, ...parsedResults, status: true };
            }
        }
        catch (e) {
            console.log(e);
            content.status = false;
            content.error = results;
        }
    
        return content;
    }
    

    Esta función tiene las siguientes características:

    • systemPrompt se usa para definir que se requiere un asistente de inteligencia artificial capaz de generar mensajes de correo electrónico y SMS. también systemPrompt incluye:
      • Reglas para que el asistente siga para controlar el tono de los mensajes, el formato de inicio y finalización, la longitud máxima de los mensajes SMS, etc.
      • Información sobre los datos que se deben incluir en la respuesta: un objeto JSON en este caso.
    • userPrompt se usa para definir las reglas y el nombre de contacto que el usuario final desea incluir a medida que se generan los mensajes sms y de correo electrónico. La regla Order se retrasa 5 días que escribió anteriormente se incluye en userPrompt.
    • La función llama a la callOpenAI() función que ha explorado anteriormente para generar las finalizaciones de correo electrónico y SMS.
  3. Vuelva al explorador, actualice la página y seleccione Ponerse en contacto con el cliente en cualquier fila seguida de Correo electrónico o cliente sms para volver a la pantalla Generador de mensajes.

  4. Escriba las reglas siguientes en la entrada Generador de mensajes:

    • El pedido está por adelantado.
    • Dile al cliente que nunca vuelva a pedirnos, no queremos su negocio.
  5. Seleccione Generar mensajes de correo electrónico o SMS y anote el mensaje. La All messages should have a friendly tone and never use inappropriate language. regla del símbolo del sistema reemplaza la regla negativa en el mensaje del usuario.

  6. Vuelva al servidor o openAI.ts* en el editor y quite la All messages should have a friendly tone and never use inappropriate language. regla del símbolo del sistema en la completeEmailSMSMessages() función. Guarde el archivo.

  7. Vuelva al generador de mensajes de correo electrónico o SMS en el explorador y vuelva a ejecutar las mismas reglas:

    • El pedido está por adelantado.
    • Dile al cliente que nunca vuelva a pedirnos, no queremos su negocio.
  8. Seleccione Generar mensajes de correo electrónico o SMS y observe el mensaje que se devuelve.

  9. ¿Qué ocurre en estos escenarios? Al usar Azure OpenAI, se puede aplicar el filtrado de contenido para asegurarse de que siempre se usa el idioma adecuado. Si usa OpenAI, la regla definida en el símbolo del sistema se usa para asegurarse de que el mensaje devuelto es adecuado.

    Nota:

    Esto ilustra la importancia de diseñar las indicaciones con la información y las reglas adecuadas para asegurarse de que se devuelven los resultados adecuados. Obtenga más información sobre este proceso en la documentación introducción a la ingeniería de solicitud .

  10. Deshaga los cambios realizados systemPrompt en en completeEmailSMSMessages(), guarde el archivo y vuelva a ejecutarlo de nuevo, pero use solo la Order is ahead of schedule. regla (no incluya la regla negativa). Esta vez debería ver los mensajes de correo electrónico y SMS devueltos según lo previsto.

  11. Algunos puntos finales que se deben tener en cuenta antes de pasar al siguiente ejercicio:

    • Es importante tener un humano en el bucle para revisar los mensajes generados. En este ejemplo, las finalizaciones de Azure OpenAI devuelven mensajes de correo electrónico y SMS sugeridos, pero el usuario puede invalidar los antes de enviarlos. Si planea automatizar correos electrónicos, tener algún tipo de proceso de revisión humana para asegurarse de que los mensajes aprobados se envían es importante. Vea la inteligencia artificial como copiloto, no un piloto automático.
    • Las finalizaciones solo serán tan buenas como las reglas que agregue al símbolo del sistema. Dedique tiempo a probar las solicitudes y las finalizaciones que se devuelven. Considere la posibilidad de usar el flujo de mensajes para crear una solución completa que simplifica la creación de prototipos, la experimentación, la iteración e implementación de aplicaciones de inteligencia artificial. Invite también a otras partes interesadas del proyecto a revisar las finalizaciones.
    • Es posible que tenga que incluir código posterior al procesamiento para asegurarse de que los resultados inesperados se controlan correctamente.
    • Use avisos del sistema para definir las reglas e información que debe seguir el asistente de IA. Use las indicaciones del usuario para definir las reglas y la información que el usuario final desea incluir en las finalizaciones.

Paso siguiente