Udostępnij przez


Sztuczna inteligencja: generowanie uzupełniania

Oprócz funkcji języka naturalnego do SQL można również użyć usługi Azure OpenAI w Modelach Foundry do generowania wiadomości e-mail i SMS, co pozwala zwiększyć produktywność użytkowników i usprawnić przepływy pracy w komunikacji. Korzystając z funkcji generowania języka usługi Azure OpenAI, użytkownicy mogą definiować określone reguły, takie jak "Kolejność jest opóźniona 5 dni", a system automatycznie wygeneruje kontekstowo odpowiednie wiadomości e-mail i SMS na podstawie tych reguł.

Ta funkcja służy jako początek dla użytkowników, zapewniając im przemyślany szablon wiadomości, który można łatwo dostosować przed wysłaniem. Rezultatem jest znaczne skrócenie czasu i nakładu pracy wymaganego do tworzenia komunikatów, co pozwala użytkownikom skupić się na innych ważnych zadaniach. Ponadto technologia generowania języka usługi Azure OpenAI może być zintegrowana z przepływami pracy automatyzacji, umożliwiając systemowi autonomiczne generowanie i wysyłanie komunikatów w odpowiedzi na wstępnie zdefiniowane wyzwalacze. Ten poziom automatyzacji nie tylko przyspiesza procesy komunikacji, ale także zapewnia spójne i dokładne komunikaty w różnych scenariuszach.

W tym ćwiczeniu wykonasz następujące czynności:

  • Poeksperymentuj z różnymi monitami.
  • Użyj monitów, aby wygenerować uzupełnianie wiadomości e-mail i wiadomości SMS.
  • Zapoznaj się z kodem, który umożliwia uzupełnianie sztucznej inteligencji.
  • Dowiedz się więcej o znaczeniu inżynierii monitów i uwzględnianiu reguł w monitach.

Zacznijmy od eksperymentowania z różnymi regułami, których można użyć do generowania wiadomości e-mail i wiadomości SMS.

Korzystanie z funkcji uzupełniania sztucznej inteligencji

  1. W poprzednim ćwiczeniu uruchomiono bazę danych, interfejsy API i aplikację. Zaktualizowano .env również plik. Jeśli nie wykonasz tych kroków, przed kontynuowaniem wykonaj instrukcje na końcu ćwiczenia.

  2. Wróć do przeglądarki (http://localhost:4200) i wybierz pozycję Skontaktuj się z klientem w dowolnym wierszu w usłudze datagrid, a następnie pozycję E-mail/SMS Customer , aby przejść do ekranu Generator wiadomości .

  3. Używa to usługi Azure OpenAI do konwertowania reguł wiadomości zdefiniowanych na wiadomości e-mail/SMS. Wykonaj następujące zadania:

    • Wprowadź regułę, taką jak Zamówienie jest opóźniona o 5 dni w danych wejściowych, a następnie wybierz przycisk Generuj wiadomości e-mail/SMS .

      Generator wiadomości e-mail/SMS usługi Azure OpenAI.

    • Zostanie wyświetlony temat i treść wygenerowana dla wiadomości e-mail oraz krótka wiadomość wygenerowana dla wiadomości SMS.

    Uwaga / Notatka

    Ponieważ usługi Azure Communication Services nie są jeszcze włączone, nie będzie można wysyłać wiadomości e-mail ani wiadomości SMS.

  4. Zamknij okno dialogowe wiadomości e-mail/sms w przeglądarce. Teraz, po zapoznaniu się z tą funkcją w działaniu, sprawdźmy, jak została zaimplementowana.

Eksplorowanie kodu uzupełniania sztucznej inteligencji

Wskazówka

Jeśli używasz programu Visual Studio Code, możesz otwierać pliki bezpośrednio, wybierając pozycję:

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

Następnie wpisz nazwę pliku, który chcesz otworzyć.

  1. Otwórz plik serwera/apiRoutes.ts i znajdź completeEmailSmsMessages trasę. Ten interfejs API jest wywoływany przez część frontonu aplikacji po wybraniu przycisku Generuj wiadomości e-mail/SMS . Pobiera on wartości monitu użytkownika, firmy i nazwy kontaktu z treści i przekazuje je do completeEmailSMSMessages() funkcji w pliku serwera/openAI.ts . Wyniki są następnie zwracane do klienta.

    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. Otwórz plik serwera/openAI.ts i znajdź completeEmailSMSMessages() funkcję.

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

    Ta funkcja ma następujące funkcje:

    • systemPrompt Służy do definiowania, że wymagany jest asystent sztucznej inteligencji umożliwiający generowanie wiadomości e-mail i wiadomości SMS. Obejmuje systemPrompt również:
      • Reguły dotyczące asystenta do kontrolowania tonu wiadomości, formatu początkowego i końcowego, maksymalnej długości wiadomości SMS i nie tylko.
      • Informacje o danych, które powinny zostać uwzględnione w odpowiedzi — w tym przypadku obiekt JSON.
    • userPrompt Służy do definiowania reguł i nazwy kontaktu, które użytkownik końcowy chce dołączyć jako wiadomości e-mail i SMS są generowane. Wprowadzona wcześniej reguła userPrompt.
    • Funkcja wywołuje callOpenAI() eksplorowaną wcześniej funkcję w celu wygenerowania uzupełniania wiadomości e-mail i wiadomości SMS.
  3. Wróć do przeglądarki, odśwież stronę i wybierz pozycję Skontaktuj się z klientem w dowolnym wierszu, a następnie pozycję E-mail/SMS Customer , aby ponownie przejść do ekranu Generator wiadomości .

  4. Wprowadź następujące reguły w danych wejściowych generatora komunikatów :

    • Kolejność jest przed harmonogramem.
    • Poinformuj klienta, aby nigdy nie zamówił od nas ponownie, nie chcemy, aby ich działalność.
  5. Wybierz pozycję Generuj wiadomości e-mail/SMS i zanotuj wiadomość. Reguła All messages should have a friendly tone and never use inappropriate language. w wierszu polecenia systemu zastępuje regułę ujemną w wierszu polecenia użytkownika.

  6. Wróć do serwera/openAI.ts* w edytorze i usuń regułę All messages should have a friendly tone and never use inappropriate language. z wiersza polecenia w completeEmailSMSMessages() funkcji. Zapisz plik.

  7. Wróć do generatora wiadomości e-mail/SMS w przeglądarce i ponownie uruchom te same reguły:

    • Kolejność jest przed harmonogramem.
    • Poinformuj klienta, aby nigdy nie zamówił od nas ponownie, nie chcemy, aby ich działalność.
  8. Wybierz pozycję Generuj wiadomości e-mail/SMS i zwróć uwagę na zwróconą wiadomość.

  9. Co się dzieje w tych scenariuszach? W przypadku korzystania z usługi Azure OpenAI filtrowanie zawartości można zastosować w celu zapewnienia, że odpowiedni język jest zawsze używany. Jeśli używasz interfejsu OpenAI, reguła zdefiniowana w wierszu polecenia systemu jest używana w celu upewnienia się, że zwrócony komunikat jest odpowiedni.

    Uwaga / Notatka

    Ilustruje to znaczenie inżynierii monitów z odpowiednimi informacjami i regułami w celu zapewnienia, że zostaną zwrócone odpowiednie wyniki. Przeczytaj więcej na temat tego procesu w dokumentacji wprowadzenie do monitowania o inżynierię .

  10. Cofnij zmiany wprowadzone systemPrompt w completeEmailSMSMessages()pliku , zapisz plik i uruchom go ponownie, ale użyj Order is ahead of schedule. tylko reguły (nie uwzględniaj reguły ujemnej). Tym razem powinna zostać wyświetlona wiadomość e-mail i wiadomości SMS zwrócone zgodnie z oczekiwaniami.

  11. Kilka ostatnich kwestii, które należy wziąć pod uwagę przed przejściem do następnego ćwiczenia:

    • Ważne jest, aby człowiek w pętli przeglądał wygenerowane komunikaty. W tym przykładzie uzupełnienia usługi Azure OpenAI zwracają sugerowane wiadomości e-mail i SMS, ale użytkownik może je zastąpić przed wysłaniem. Jeśli planujesz zautomatyzować wiadomości e-mail, posiadanie pewnego typu procesu przeglądu przez człowieka w celu zapewnienia, że zatwierdzone wiadomości są wysyłane, jest ważne. Wyświetlanie sztucznej inteligencji jako copilot, a nie autopilot.
    • Ukończenia będą tak dobre, jak reguły dodawane do monitu. Pośmiń czas na przetestowanie monitów i zwróconych uzupełniania. Rozważ użycie przepływu Monituj , aby utworzyć kompleksowe rozwiązanie, które upraszcza tworzenie prototypów, eksperymentowanie, iterowanie i wdrażanie aplikacji sztucznej inteligencji. Zaproś inne osoby biorące udział w projekcie, aby przejrzeć również ukończenie.
    • Może być konieczne dołączenie kodu przetwarzania końcowego w celu zapewnienia prawidłowego obsługi nieoczekiwanych wyników.
    • Użyj monitów systemowych, aby zdefiniować reguły i informacje, które powinien przestrzegać asystent sztucznej inteligencji. Użyj monitów użytkownika, aby zdefiniować reguły i informacje, które użytkownik końcowy chce uwzględnić w ukończeniach.

Następny krok