Freigeben über


KI: Vervollständigungen generieren

Zusätzlich zur natürlichen Sprache zum SQL-Feature können Sie auch den Azure OpenAI-Dienst verwenden, um E-Mail- und SMS-Nachrichten zu generieren, um die Produktivität der Benutzer zu verbessern und Kommunikationsworkflows zu optimieren. Durch die Verwendung der Sprachgenerierungsfunktionen von Azure OpenAI können Benutzer bestimmte Regeln wie "Bestellung wird 5 Tage verzögert" definieren, und das System generiert automatisch kontextbezogene E-Mails und SMS-Nachrichten basierend auf diesen Regeln.

Diese Funktion dient als Sprungstart für Benutzer und stellt ihnen eine sorgfältig gestaltete Nachrichtenvorlage bereit, die sie vor dem Senden problemlos anpassen können. Das Ergebnis ist eine erhebliche Reduzierung der Zeit und des Aufwands zum Verfassen von Nachrichten, sodass Benutzer sich auf andere wichtige Aufgaben konzentrieren können. Darüber hinaus kann die Technologie der Sprachgenerierung von Azure OpenAI in Automatisierungsworkflows integriert werden, sodass das System Nachrichten als Reaktion auf vordefinierte Trigger autonom generieren und senden kann. Diese Automatisierungsstufe beschleunigt nicht nur Kommunikationsprozesse, sondern sorgt auch für konsistentes und genaues Messaging in verschiedenen Szenarien.

In dieser Übung führen Sie die folgenden Schritte aus:

  • Experimentieren Sie mit verschiedenen Eingabeaufforderungen.
  • Verwenden Sie Aufforderungen, um Fertigstellungen für E-Mail- und SMS-Nachrichten zu generieren.
  • Erkunden Sie Code, der KI-Fertigstellungen ermöglicht.
  • Erfahren Sie mehr über die Bedeutung von Prompt Engineering und einschließlich Regeln in Ihren Eingabeaufforderungen.

Beginnen wir mit dem Experimentieren mit verschiedenen Regeln, die zum Generieren von E-Mails und SMS-Nachrichten verwendet werden können.

Verwenden des KI-Vervollständigungsfeatures

  1. In einer vorherigen Übung haben Sie die Datenbank, APIs und Anwendung gestartet. Sie haben die .env Datei auch aktualisiert. Wenn Sie diese Schritte nicht abgeschlossen haben, führen Sie die Anweisungen am Ende der Übung aus, bevor Sie fortfahren.

  2. Wechseln Sie zurück zum Browser (http://localhost:4200), und wählen Sie " Kunden kontaktieren" in einer beliebigen Zeile im Datagrid gefolgt von "E-Mail/SMS-Kunde " aus, um zum Bildschirm " Nachrichtengenerator " zu gelangen.

  3. Dies verwendet Azure OpenAI zum Konvertieren von Nachrichtenregeln, die Sie in E-Mail-/SMS-Nachrichten definieren. Führen Sie die folgenden Aufgaben aus:

    • Geben Sie eine Regel wie "Bestellung" 5 Tage in die Eingabe ein, und wählen Sie die Schaltfläche " E-Mail-/SMS-Nachrichten generieren " aus.

      Azure OpenAI-E-Mail-/SMS-Nachrichtengenerator.

    • Es wird ein Betreff und Textkörper angezeigt, der für die E-Mail und eine kurze Nachricht generiert wurde, die für die SMS generiert wurde.

    Hinweis

    Da Azure Communication Services noch nicht aktiviert ist, können Sie die E-Mail- oder SMS-Nachrichten nicht senden.

  4. Schließen Sie das Dialogfeld "E-Mail/SMS" im Browser. Nachdem Sie dieses Feature nun in Aktion gesehen haben, untersuchen wir, wie es implementiert wird.

Erkunden des KI-Abschlusscodes

Tipp

Wenn Sie Visual Studio Code verwenden, können Sie Dateien direkt öffnen, indem Sie Folgendes auswählen:

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

Geben Sie dann den Namen der Datei ein, die Sie öffnen möchten.

  1. Öffnen Sie die Datei server/apiRoutes.ts , und suchen Sie die completeEmailSmsMessages Route. Diese API wird vom Front-End-Teil der App aufgerufen, wenn die Schaltfläche " E-Mail-/SMS-Nachrichten generieren " ausgewählt ist. Sie ruft die Werte der Benutzeraufforderung, des Unternehmens und des Kontaktnamens aus dem Textkörper ab und übergibt sie an die completeEmailSMSMessages() Funktion in der Server-/openAI.ts datei. Die Ergebnisse werden dann an den Client zurückgegeben.

    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. Öffnen Sie die Datei server/openAI.ts , und suchen Sie die completeEmailSMSMessages() Funktion.

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

    Diese Funktion weist die folgenden Features auf:

    • systemPrompt wird verwendet, um zu definieren, dass ein KI-Assistent zum Generieren von E-Mails und SMS-Nachrichten erforderlich ist. Dies systemPrompt umfasst auch:
      • Regeln für den Assistenten, um den Ton der Nachrichten, das Start- und Endformat, die maximale Länge von SMS-Nachrichten und vieles mehr zu steuern.
      • Informationen zu Daten, die in der Antwort enthalten sein sollen – ein JSON-Objekt in diesem Fall.
    • userPrompt wird verwendet, um die Regeln und den Kontaktnamen zu definieren, die der Endbenutzer als E-Mail- und SMS-Nachrichten einfügen möchte. Die Bestellung wird 5 Tage regel verzögert , die Sie zuvor eingegeben haben, ist in userPromptenthalten.
    • Die Funktion ruft die callOpenAI() zuvor untersuchte Funktion auf, um die E-Mail- und SMS-Fertigstellungen zu generieren.
  3. Wechseln Sie zurück zum Browser, aktualisieren Sie die Seite, und wählen Sie " Kunde kontaktieren" in einer beliebigen Zeile gefolgt von "E-Mail-/SMS-Kunde " aus, um erneut zum Bildschirm " Nachrichtengenerator " zu gelangen.

  4. Geben Sie die folgenden Regeln in die Nachrichtengeneratoreingabe ein:

    • Die Bestellung liegt vor dem Zeitplan.
    • Teilen Sie dem Kunden mit, dass er nie wieder von uns bestellt werden soll, wir wollen nicht, dass es sein Geschäft ist.
  5. Wählen Sie "E-Mail-/SMS-Nachrichten generieren " aus, und notieren Sie die Nachricht. Die All messages should have a friendly tone and never use inappropriate language. Regel in der Systemaufforderung überschreibt die negative Regel in der Benutzeraufforderung.

  6. Wechseln Sie zurück zu Server/openAI.ts* im Editor, und entfernen Sie die All messages should have a friendly tone and never use inappropriate language. Regel aus der Eingabeaufforderung in der completeEmailSMSMessages() Funktion. Speichern Sie die Datei.

  7. Wechseln Sie zurück zum E-Mail-/SMS-Nachrichtengenerator im Browser, und führen Sie die gleichen Regeln erneut aus:

    • Die Bestellung liegt vor dem Zeitplan.
    • Teilen Sie dem Kunden mit, dass er nie wieder von uns bestellt werden soll, wir wollen nicht, dass es sein Geschäft ist.
  8. Wählen Sie "E-Mail-/SMS-Nachrichten generieren " aus, und beachten Sie die zurückgegebene Nachricht.

  9. Was geschieht in diesen Szenarien? Bei Verwendung von Azure OpenAI können Inhaltsfilter angewendet werden, um sicherzustellen, dass die entsprechende Sprache immer verwendet wird. Wenn Sie OpenAI verwenden, wird die in der Systemaufforderung definierte Regel verwendet, um sicherzustellen, dass die zurückgegebene Nachricht angemessen ist.

    Hinweis

    Dies veranschaulicht die Wichtigkeit der Konstruktion Ihrer Eingabeaufforderungen mit den richtigen Informationen und Regeln, um sicherzustellen, dass die richtigen Ergebnisse zurückgegeben werden. Weitere Informationen zu diesem Prozess finden Sie in der Einführung in die Technische Dokumentation.

  10. Rückgängig machen Sie die änderungen, an denen Sie vorgenommen haben systemPromptcompleteEmailSMSMessages(), speichern Sie die Datei, und führen Sie sie erneut aus, verwenden Sie jedoch nur die Order is ahead of schedule. Regel (schließen Sie die negative Regel nicht ein). Diesmal sollten die E-Mail- und SMS-Nachrichten wie erwartet zurückgegeben werden.

  11. Einige abschließende Punkte, die Sie berücksichtigen sollten, bevor Sie mit der nächsten Übung fortfahren:

    • Es ist wichtig, einen Menschen in der Schleife zu haben, um generierte Nachrichten zu überprüfen. In diesem Beispiel geben Azure OpenAI-Fertigstellungen vorgeschlagene E-Mails und SMS-Nachrichten zurück, aber der Benutzer kann diese außer Kraft setzen, bevor er gesendet wird. Wenn Sie beabsichtigen, E-Mails zu automatisieren, ist es wichtig, dass genehmigte Nachrichten gesendet werden. Zeigen Sie KI als Copilot an, nicht als Autopilot.
    • Die Fertigstellungen sind nur so gut wie die Regeln, die Sie zur Eingabeaufforderung hinzufügen. Nehmen Sie sich Zeit, um Ihre Eingabeaufforderungen und die zurückgegebenen Fertigstellungen zu testen. Erwägen Sie die Verwendung des Eingabeaufforderungsflusses , um eine umfassende Lösung zu erstellen, die die Prototyperstellung, das Experimentieren, Durchlaufen und Bereitstellen von KI-Anwendungen vereinfacht. Laden Sie andere Projektbeteiligte ein, auch die Fertigstellungen zu überprüfen.
    • Möglicherweise müssen Sie nach der Verarbeitung Code einschließen, um sicherzustellen, dass unerwartete Ergebnisse ordnungsgemäß verarbeitet werden.
    • Verwenden Sie Systemaufforderungen, um die Regeln und Informationen zu definieren, die der KI-Assistent befolgen soll. Verwenden Sie Benutzeraufforderungen, um die Regeln und Informationen zu definieren, die der Endbenutzer in die Fertigstellungen aufnehmen möchte.

Nächster Schritt