Sdílet prostřednictvím


AI: Generování dokončení

Kromě přirozeného jazyka do funkce SQL můžete také pomocí Azure OpenAI v modelech Foundry generovat e-maily a SMS zprávy, které zlepšují produktivitu uživatelů a zjednodušují komunikační pracovní postupy. Díky využití možností generování jazyka Azure OpenAI můžou uživatelé definovat konkrétní pravidla, jako je "Objednávka je zpožděná 5 dnů", a systém automaticky vygeneruje kontextově odpovídající e-maily a ZPRÁVY SMS na základě těchto pravidel.

Tato funkce slouží jako rychlý start pro uživatele a poskytuje jim promyšleně vytvořenou šablonu zpráv, kterou si můžou snadno přizpůsobit před odesláním. Výsledkem je významné zkrácení času a úsilí potřebného k vytváření zpráv, což uživatelům umožňuje soustředit se na další důležité úkoly. Technologie generování jazyka Azure OpenAI je navíc možné integrovat do pracovních postupů automatizace, což systému umožňuje autonomní generování a odesílání zpráv v reakci na předdefinované triggery. Tato úroveň automatizace nejen urychluje komunikační procesy, ale také zajišťuje konzistentní a přesné zasílání zpráv v různých scénářích.

V tomto cvičení budete:

  • Experimentujte s různými výzvami.
  • Pomocí výzev vygenerujte dokončení pro e-mailové zprávy a zprávy SMS.
  • Prozkoumejte kód, který umožňuje dokončování AI.
  • Seznamte se s důležitostí přípravy výzvy a zahrnutím pravidel do výzev.

Začněme experimentováním s různými pravidly, která se dají použít k vygenerování e-mailových zpráv a zpráv SMS.

Použití funkce dokončování AI

  1. V předchozím cvičení jste spustili databázi, rozhraní API a aplikaci. Aktualizovali jste také .env soubor. Pokud jste tyto kroky nedokončili, před pokračováním postupujte podle pokynů na konci cvičení.

  2. Vraťte se do prohlížeče (http://localhost:4200) a vyberte Kontaktovat zákazníka na libovolném řádku v datovémgridu následovaný e-mailem nebo SMS zákazníkem a přejděte na obrazovku Generátor zpráv .

  3. To používá Azure OpenAI k převodu pravidel zpráv, která definujete do e-mailových a SMS zpráv. Proveďte následující úlohy:

    • Zadejte pravidlo, jako je Například Objednávka, je zpožděno 5 dnů do vstupu a vyberte tlačítko Generovat e-mail/SMS zprávy .

      Generátor e-mailů/SMS zpráv Azure OpenAI

    • Zobrazí se předmět a text vygenerovaný pro e-mail a krátká zpráva vygenerovaná pro SMS.

    Poznámka:

    Protože služba Azure Communication Services ještě není povolená, nebudete moct odesílat e-maily nebo zprávy SMS.

  4. Zavřete dialogové okno e-mailu/SMS v prohlížeči. Teď, když jste tuto funkci viděli v akci, se pojďme podívat, jak je implementovaná.

Prozkoumání kódu dokončování AI

Návod

Pokud používáte Visual Studio Code, můžete soubory otevřít přímo tak, že vyberete:

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

Potom zadejte název souboru, který chcete otevřít.

  1. Otevřete soubor serveru nebo apiRoutes.ts a vyhledejte trasu completeEmailSmsMessages . Toto rozhraní API se volá front-endovou částí aplikace, když je vybráno tlačítko Generovat e-mail/SMS zprávy . Načte z textu hodnoty výzvy uživatele, společnosti a jména kontaktů a předá je completeEmailSMSMessages() funkci v souboru serveru nebo openAI.ts . Výsledky se pak vrátí klientovi.

    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. Otevřete soubor serveru nebo openAI.ts a vyhledejte completeEmailSMSMessages() funkci.

    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;
    }
    

    Tato funkce má následující funkce:

    • systemPrompt slouží k definování, že je vyžadován pomocník s umělou inteligencí schopný generovat e-maily a zprávy SMS. Patří sem systemPrompt také:
      • Pravidla pro asistenta, která mají následovat, řídí tón zpráv, počáteční a koncový formát, maximální délku zpráv SMS a další.
      • Informace o datech, která by měla být zahrnuta v odpovědi – objekt JSON v tomto případě.
    • userPrompt slouží k definování pravidel a kontaktního jména, které by koncový uživatel chtěl zahrnout jako e-maily a zprávy SMS, jsou generovány. Pravidlo objednávky je zpožděno o 5 dnů, které jste zadali dříve, je součástí userPrompt.
    • Funkce volá callOpenAI() funkci, kterou jste prozkoumali dříve, a vygeneruje dokončení e-mailu a SMS.
  3. Vraťte se do prohlížeče, aktualizujte stránku a vyberte Kontaktovat zákazníka na libovolném řádku následovaného e-mailem nebo SMS Zákazníkem a znovu se dostanete na obrazovku Generátor zpráv .

  4. Do vstupu Generátor zpráv zadejte následující pravidla:

    • Pořadí je před plánem.
    • Řekněte zákazníkovi, aby si od nás už nic nezaobjednávejte, ale nechceme, aby si ho objednal.
  5. Vyberte Vygenerovat e-mailové zprávy nebo zprávy SMS a poznamenejte si zprávu. Pravidlo All messages should have a friendly tone and never use inappropriate language. v příkazovém řádku systému přepisuje záporné pravidlo v příkazovém řádku uživatele.

  6. Vraťte se na server nebo openAI.ts* v editoru a odeberte All messages should have a friendly tone and never use inappropriate language. pravidlo z výzvy completeEmailSMSMessages() ve funkci. Uložte soubor.

  7. Vraťte se do generátoru zpráv e-mailu/SMS v prohlížeči a znovu spusťte stejná pravidla:

    • Pořadí je před plánem.
    • Řekněte zákazníkovi, aby si od nás už nic nezaobjednávejte, ale nechceme, aby si ho objednal.
  8. Vyberte Vygenerovat e-mailové nebo SMS zprávy a všimněte si vrácené zprávy.

  9. Co se v těchto scénářích děje? Při použití Azure OpenAI je možné použít filtrování obsahu , aby se zajistilo, že se vždy používá příslušný jazyk. Pokud používáte OpenAI, použije se pravidlo definované v příkazovém řádku systému k zajištění, že vrácená zpráva je vhodná.

    Poznámka:

    To ilustruje důležitost přípravy výzev se správnými informacemi a pravidly, aby se zajistilo vrácení správných výsledků. Další informace o tomto procesu najdete v úvodu do technické dokumentace.

  10. Vrácení změn, které jste provedli systemPrompt v completeEmailSMSMessages()souboru, uložte soubor a znovu ho spusťte, ale použijte Order is ahead of schedule. pouze pravidlo (nezahrnujte záporné pravidlo). Tentokrát byste měli vidět e-maily a zprávy SMS, které se vrátily podle očekávání.

  11. Několik posledních bodů, které je potřeba zvážit před přechodem na další cvičení:

    • Je důležité mít ve smyčce člověka ke kontrole generovaných zpráv. V tomto příkladu dokončení Azure OpenAI vrátí navrhované e-maily a SMS zprávy, ale uživatel může tyto zprávy před odesláním přepsat. Pokud plánujete automatizovat e-maily, je důležité mít nějaký typ procesu kontroly člověka, aby se zajistilo, že schválené zprávy se odesílají. Zobrazit AI jako kopírovaný objekt, nikoli autopilot.
    • Dokončení bude stejně dobré jako pravidla, která do výzvy přidáte. Proveďte čas na otestování výzev a vrácených dokončení. Zvažte použití toku výzvy k vytvoření komplexního řešení, které zjednodušuje vytváření prototypů, experimentování, iterování a nasazování aplikací AI. Pozvěte další účastníky projektu, aby si také zkontrolovali dokončení.
    • Možná budete muset zahrnout kód po zpracování, aby se zajistilo správné zpracování neočekávaných výsledků.
    • Pomocí systémových výzev můžete definovat pravidla a informace, které má asistent AI dodržovat. Pomocí výzvy uživatele definujte pravidla a informace, které chce koncový uživatel zahrnout do dokončování.

Další krok