Share via


Tutorial: Erstellen und Bereitstellen eines Frage- und Antwort-Copilots mit prompt flow in Azure KI Studio

Wichtig

Einige der in diesem Artikel beschriebenen Features sind möglicherweise nur in der Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

In diesem Tutorial zu Azure KI Studio verwenden Sie generative künstliche Intelligenz (KI) und prompt flow, um einen Copilot für Ihr Einzelhandelsunternehmen namens Contoso zu erstellen, zu konfigurieren und bereitzustellen. Ihr Einzelhandelsunternehmen ist auf Campingausrüstung und Outdoorkleidung spezialisiert.

Der Copilot soll Fragen zu Ihren Produkten und Diensten beantworten. Außerdem soll er Fragen zu Ihren Kund*innen beantworten. Beispielsweise kann der Copilot Fragen wie „Wie viel kosten die TrailWalker-Wanderschuhe?“ und „Wie viele TrailWalker-Wanderschuhe hat Daniel Wilson gekauft?“ beantworten.

Die folgenden Schritte werden in diesem Tutorial beschrieben:

  1. Fügen Sie Ihre Daten zum Chat-Playground hinzu.
  2. Erstellen eines Prompt Flows im Playground
  3. Anpassen von prompt flow mit mehreren Datenquellen
  4. Bewerten des Flows mithilfe eines Auswertungsdatasets mit Fragen und Antworten
  5. Bereitstellen des Flows für die Nutzung

Voraussetzungen

Hinzufügen der Daten und erneutes Testen des Chatmodells

Im KI Studio-Playground-Schnellstart (eine Voraussetzung für dieses Tutorial) können Sie beobachten, wie Ihr Modell ohne Ihre Daten reagiert. Jetzt fügen Sie dem Modell Ihre Daten hinzu, damit es Fragen zu Ihren Produkten beantworten kann.

Um diesen Abschnitt abzuschließen, benötigen Sie eine lokale Kopie der Produktdaten. Das Repository „Azure-Samples/aistudio-python-quickstart-sample“ auf GitHub enthält Beispielinformationen für Einzelhandelskunden und Produkte, die für das Szenario in diesem Tutorial relevant sind. Klonen Sie das Repository, oder kopieren Sie die Dateien aus 3-product-info.

Wichtig

Das Feature Daten hinzufügen im Azure KI Studio-Playground unterstützt nicht die Verwendung eines virtuellen Netzwerks oder eines privaten Endpunkts mit den folgenden Ressourcen:

  • Azure KI Cognitive Search
  • Azure OpenAI
  • Speicherressource

Führen Sie die folgenden Schritte aus, um Ihre Daten zum Chat-Playground hinzuzufügen, damit der Assistent Fragen zu Ihren Produkten beantworten kann. Sie ändern das bereitgestellte Modell selbst nicht. Ihre Daten werden separat und sicher in Ihrem Azure-Abonnement gespeichert.

  1. Navigieren Sie zu Ihrem Projekt in Azure KI Studio.

  2. Wählen Sie im linken Bereich Playgrounds>Chat aus.

  3. Wählen Sie ihr bereitgestelltes Chatmodell aus der Dropdownliste Bereitstellung aus.

    Screenshot des Chat-Playground mit ausgewähltem Chatmodus und Modell

  4. Wählen Sie auf der linken Seite des Chat-Playgrounds Daten hinzufügen>+ Neue Datenquelle hinzufügen aus.

    Screenshot des Chat-Playground mit der sichtbaren Option zum Hinzufügen einer Datenquelle

  5. Wählen Sie im Dropdownfeld Datenquelle die Option Dateien hochladen aus.

    Screenshot der Optionen für die Auswahl der Datenquelle.

  6. Wählen Sie Hochladen>Dateien hochladen aus, um Ihre lokalen Dateien zu durchsuchen.

  7. Wählen Sie die Dateien aus, die Sie hochladen möchten. Wählen Sie die Produktinformationsdateien (3-product-info) aus, die Sie zuvor heruntergeladen oder erstellt haben. Fügen Sie jetzt alle Dateien hinzu. Sie können später in derselben Playground-Sitzung keine weiteren Dateien hinzufügen.

  8. Wählen Sie Hochladen aus, um die Datei in Ihr Azure Blob Storage-Konto hochzuladen. Wählen Sie Weiteraus.

    Screenshot des Dialogfelds zum Auswählen und Hochladen von Dateien

  9. Wählen Sie einen Azure KI-Suchdienst aus. In diesem Beispiel wählen wir Andere Azure KI-Suche-Ressource verbinden aus der Dropdownliste Azure KI-Suchdienst aus. Wenn Sie keine Suchressource haben, können Sie eine erstellen, indem Sie Neue Azure KI-Suche-Ressource erstellen auswählen. Kehren Sie dann zu diesem Schritt zurück, um sie zu verbinden und auszuwählen.

    Screenshot: Optionen für die Auswahl der Suchressource

  10. Suchen Sie nach Ihrem Azure KI-Suchdienst, und wählen Sie Verbindung hinzufügen aus.

    Screenshot: Seite zum Hinzufügen einer Suchdienstverbindung.

  11. Geben Sie für den Indexnamen den Text Produktinformationen ein, und wählen Sie Weiter aus.

  12. Deaktivieren Sie auf der Seite Sucheinstellungen unter Vektoreinstellungen das Kontrollkästchen Vektorsuche zu dieser Suchressource hinzufügen. Diese Einstellung bestimmt, wie das Modell auf Anforderungen reagiert. Wählen Sie Weiteraus.

    Hinweis

    Wenn Sie die Vektorsuche hinzufügen, stehen hier weitere Optionen mit zusätzlichen Kosten zur Verfügung.

  13. Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus.

  14. Im Playground können Sie sehen, dass die Erfassung Ihrer Daten ausgeführt wird. Dieser Prozess kann einige Minuten dauern. Warten Sie, bevor Sie fortfahren, bis die Datenquelle und der Indexname anstelle des Status angezeigt werden.

    Screenshot des Chat-Playground mit dem angezeigten Status der Datenerfassung

  15. Geben Sie einen Namen für die Konfiguration des Playgrounds ein, und wählen Sie Speichern>Konfiguration speichern aus. Alle Konfigurationselemente werden standardmäßig gespeichert. Elemente umfassen Bereitstellung, Systemmeldung, Parameter, hinzugefügte Daten, Beispiele und Variablen. Beim Speichern einer Konfiguration mit demselben Namen wird die vorherige Version überschrieben.

    Screenshot: Name der Konfiguration des Playgrounds und Schaltfläche „Speichern“

  16. Sie können jetzt mit dem Modell chatten, ihm dieselbe Frage wie zuvor stellen („Wie viel kosten die TrailWalker Wanderschuhe“), und dieses Mal verwendet es Informationen aus Ihren Daten, um die Antwort zu erstellen. Sie können die Schaltfläche „Verweise“ erweitern, um die verwendeten Daten anzuzeigen.

Erstellen eines Prompt Flows im Playground

Jetzt könnten Sie fragen, wie Sie diesen Copilot weiter anpassen können. Möglicherweise möchten Sie mehrere Datenquellen hinzufügen, unterschiedliche Prompts oder die Leistung mehrerer Modelle vergleichen. Ein Prompt Flow dient als ausführbarer Workflow, der die Entwicklung Ihrer LLM-basierten (Large Language Model, großes Sprachmodell) KI-Anwendung optimiert. Er bietet ein umfassendes Framework für die Verwaltung des Datenflusses und der Verarbeitung in Ihrer Anwendung.

In diesem Abschnitt erfahren Sie, wie Sie im Playground zu prompt flow wechseln. Sie exportieren die Chatumgebung im Playground, einschließlich der Verbindungen mit den Daten, die Sie hinzugefügt haben. Später in diesem Tutorial führen Sie eine Bewertung des Flows und anschließend die Bereitstellung des Flows für die Nutzung durch.

Hinweis

Die in prompt flow vorgenommenen Änderungen werden nicht „rückwärts“ angewendet, um die Playgroundumgebung zu aktualisieren.

Mit den folgenden Schritten können Sie einen Prompt Flow im Playground erstellen:

  1. Wenn Sie sich noch nicht im Azure KI Studio-Playground befinden, wählen Sie im oberen Menü Erstellen und dann im reduzierbaren Menü auf der linken Seite Playground aus.

  2. Wählen Sie im Menü über dem Chatsitzungsbereich die Option In prompt flow öffnen aus.

  3. Geben Sie einen Ordnernamen für Ihren Prompt Flow ein. Wählen Sie anschließend Öffnen aus. Azure KI Studio exportiert die Chatumgebung im Playground, einschließlich der Verbindungen mit Ihren Daten, in prompt flow.

    Screenshot des Dialogfelds „In prompt flow öffnen“

Innerhalb eines Flows stehen Knoten im Mittelpunkt, die bestimmte Tools mit einzigartigen Funktionen bereitstellen. Diese Knoten dienen zur Datenverarbeitung und Aufgabenausführung sowie für algorithmische Vorgänge mit Ein- und Ausgaben. Durch das Verbinden von Knoten richten Sie eine nahtlose Kette von Vorgängen ein, die den Datenfluss durch Ihre Anwendung festlegt. Weitere Informationen finden Sie unter Prompt-flow-Tools.

Um die Knotenkonfiguration und Feinabstimmung zu erleichtern, wird eine visuelle Darstellung der Workflowstruktur über ein DAG-Diagramm (Gerichteter azyklischer Graph) bereitgestellt. Dieser Graph veranschaulicht die Konnektivität und die Abhängigkeiten zwischen Knoten und bietet eine klare Übersicht über den gesamten Workflow. Die Knoten im hier gezeigten Diagramm stellen die Chatumgebung im Playground dar, die Sie in prompt flow exportiert haben.

Screenshot des Standardgraphen, der aus dem Playground in prompt flow exportiert wurde

Warnung

Azure KI Studio befindet sich in der Vorschau und kann geändert werden. Die Screenshots und Anweisungen in diesem Tutorial stimmen möglicherweise nicht mit der aktuellen Oberfläche überein.

Knoten können hinzugefügt, aktualisiert, neu angeordnet oder entfernt werden. An diesem Punkt umfassen die Knoten in Ihrem Flow Folgendes:

  • DetermineIntent: Dieser Knoten bestimmt die Absicht der von Benutzer*innen gestellten Frage. Er verwendet den Systemprompt, um die Absicht zu ermitteln. Sie können den Systemprompt bearbeiten, um szenariospezifische Few-Shot-Beispiele bereitzustellen.
  • ExtractIntent: Dieser Knoten formatiert die Ausgabe des Knotens DetermineIntent und sendet sie an den Knoten RetrieveDocuments.
  • RetrieveDocuments: Dieser Knoten sucht nach den relevantesten Dokumenten im Zusammenhang mit der Frage. Dieser Knoten verwendet den Suchtyp und alle Parameter, die Sie im Playground vorkonfiguriert haben.
  • FormatRetrievedDocuments: Dieser Knoten formatiert die Ausgabe des Knotens RetrieveDocuments und sendet sie an den Knoten DetermineReply.
  • DetermineReply: Dieser Knoten enthält einen umfangreichen Systemprompt, der das LLM auffordert, nur mit den abgerufenen Dokumenten zu antworten. Es gibt zwei Eingaben:
    • Der Knoten RetrieveDocuments stellt die relevantesten abgerufenen Dokumente bereit.
    • Der Knoten FormatConversation stellt den formatierten Unterhaltungsverlauf bereit, einschließlich der letzten Frage.

Der Knoten FormatReply formatiert die Ausgabe des Knotens DetermineReply.

In prompt flow sollten außerdem die folgenden Optionen verfügbar sein:

  • Speichern: Sie können Ihren Prompt Flow jederzeit speichern, indem Sie im oberen Menü die Option Speichern auswählen. Achten Sie darauf, den Prompt Flow regelmäßig zu speichern, während Sie in diesem Tutorial Änderungen vornehmen.

  • Computesitzung: Die Computesitzung, die Sie [weiter oben in diesem Tutorial] erstellt haben (#create-compute-and-compute session-that-are-needed-for-prompt-flow). Sie können Computesitzungen und Computeinstanzen über die Option Projekteinstellungen im linken Menü starten und beenden. Für die Arbeit in prompt flow muss sich die Computesitzung im Status Wird ausgeführt befinden.

    Screenshot des Editors von prompt flow und der umgebenden Menüs

  • Tools: Sie können jederzeit zum Prompt Flow zurückkehren, indem Sie im Menü Tools auf der linken Seite Prompt flow auswählen. Wählen Sie dann den zuvor erstellten prompt flow-Ordner (nicht den Beispielflow) aus.

    Screenshot der Liste Ihrer Instanzen von prompt flow

Anpassen von prompt flow mit mehreren Datenquellen

Weiter oben haben Sie im Azure KI Studio-Playground Ihre Daten hinzugefügt, um einen Suchindex mit Produktdaten für den Contoso-Copilot zu erstellen. Bisher können Benutzer*innen nur Fragen zu Produkten wie „Wie viel kosten die TrailWalker-Wanderschuhe?“ stellen. Sie erhalten jedoch keine Antworten auf Fragen wie „Wie viele TrailWalker-Wanderschuhe hat Daniel Wilson gekauft?“. Um dieses Szenario zu ermöglichen, fügen Sie dem Flow einen weiteren Index mit Kundeninformationen hinzu.

Erstellen des Kundeninformationsindex

Sie benötigen eine lokale Kopie von Beispielkundeninformationen. Weitere Informationen und Links zu Beispieldaten finden Sie unter Voraussetzungen.

Befolgen Sie diese Anweisungen, um einen neuen Index zu erstellen:

  1. Wählen Sie im Menü auf der linken Seite die Option Index aus. Wählen Sie dann + Neuer Index aus.

    Screenshot der Indexseite mit der Schaltfläche zum Erstellen eines neuen Index

    Der Assistent zum Erstellen eines Indexes wird gestartet.

  2. Wählen Sie auf der Seite Quelldaten die Option Dateien hochladen im Dropdownmenü Datenquelle aus. Wählen Sie dann Hochladen>Ordner hochladen aus, um Ihre lokalen Dateien zu durchsuchen.

  3. Wählen Sie die Kundeninformationsdateien aus, die Sie zuvor heruntergeladen oder erstellt haben. Siehe die Voraussetzungen. Wählen Sie Weiteraus.

    Screenshot der Optionen für die Auswahl von Kundendatenquellen

  4. Wählen Sie dieselbe Dienstverbindung von Azure KI-Suche (contosooutdooraisearch) aus, die Sie für Ihren Produktinformationsindex verwendet haben. Wählen Sie Weiteraus.

  5. Geben Sie customer-info als Indexnamen ein.

    Screenshot: Dienst von Azure KI-Suche und Indexname.

  6. Wählen Sie eine VM aus, um Indizierungsaufträge auszuführen. Die Standardoption ist Automatisch auswählen. Wählen Sie Weiteraus.

  7. Deaktivieren Sie auf der Seite Sucheinstellungen unter Vektoreinstellungen das Kontrollkästchen Vektorsuche zu dieser Suchressource hinzufügen. Diese Einstellung bestimmt, wie das Modell auf Anforderungen reagiert. Wählen Sie Weiteraus.

    Hinweis

    Wenn Sie die Vektorsuche hinzufügen, stehen hier weitere Optionen mit zusätzlichen Kosten zur Verfügung.

  8. Überprüfen Sie die Details, die Sie eingegeben haben, und wählen Sie Erstellen aus.

    Screenshot der Seite zum Überprüfen und Abschließen der Indexerstellung

    Hinweis

    Sie verwenden den Index customer-info und die Verbindung contosooutdooraisearch mit Ihrem Dienst von Azure KI-Suche später in diesem Tutorial in prompt flow. Falls Sie andere Namen als hier angegeben eingeben, müssen Sie diese Namen auch im restlichen Tutorial verwenden.

  9. Sie werden zur Seite mit den Indexdetails weitergeleitet, wo Sie den Status der Indexerstellung sehen können.

    Screenshot der Indexdetails für Kundeninformationen

Weitere Informationen zum Erstellen eines Indexes finden Sie unter Erstellen eines Indexes.

Erstellen einer Computesitzung, die für prompt flow erforderlich ist

Sie verwenden prompt flow, um die Nachrichten zu optimieren, die an das Chatmodell des Copilots gesendet werden. Prompt flow erfordert eine Computeinstanz und eine Computesitzung. Führen Sie zum Erstellen einer Computeinstanz und einer Computesitzung die Schritte in Erstellen einer Computesitzung aus.

Stellen Sie für die restlichen Schritte des Tutorials sicher, dass sich die Computesitzung im Status Wird ausgeführt befindet. Möglicherweise müssen Sie Aktualisieren auswählen, um den aktualisierten Status anzuzeigen.

Wichtig

Compute-Instanzen werden Ihnen in Rechnung gestellt, während sie ausgeführt werden. Halten Sie die Compute-Instanz an, wenn Sie nicht aktiv in prompt flow arbeiten, um unnötige Azure-Kosten zu vermeiden. Weitere Informationen finden Sie unter Starten oder Beenden einer Compute-Instanz.

Hinzufügen von Kundeninformationen zum Flow

Warnung

Azure KI Studio befindet sich in der Vorschau und kann geändert werden. Die Screenshots und Anweisungen in diesem Tutorial stimmen möglicherweise nicht mit der aktuellen Oberfläche überein.

Kehren Sie nach dem Erstellen des Indexes zu Ihrem Prompt Flow zurück, und führen Sie die folgenden Schritte aus, um dem Flow die Kundeninformationen hinzuzufügen:

  1. Wählen Sie im Diagramm den Knoten RetrieveDocuments aus, und benennen Sie ihn in RetrieveProductInfo um. Jetzt kann der Knoten „RetrieveProductInfo“ vom Knoten „RetrieveCustomerInfo“ unterschieden werden, den Sie dem Flow hinzufügen.

    Screenshot des Knotens von prompt flow zum Abrufen von Produktinformationen

  2. Wählen Sie im oberen Menü + Python aus, um einen neuen Python-Knoten zu erstellen, der zum Abrufen von Kundeninformationen verwendet wird.

    Screenshot des Knotens von prompt flow zum Abrufen von Kundeninformationen

  3. Geben Sie für den Knoten den Namen RetrieveCustomerInfo ein, und wählen Sie Hinzufügen aus.

  4. Kopieren Sie den Python-Code aus dem Knoten RetrieveProductInfo, und fügen Sie ihn in den Knoten RetrieveCustomerInfo ein, um den gesamten Standardcode zu ersetzen.

  5. Wählen Sie die Schaltfläche Eingabe überprüfen und analysieren aus, um die Eingaben für den Knoten RetrieveCustomerInfo zu überprüfen. Wenn die Eingaben gültig sind, analysiert prompt flow die Eingaben und erstellt die erforderlichen Variablen zur Verwendung im Code.

    Screenshot der Schaltfläche „Überprüfen und Parsen von Eingaben“

  6. Bearbeiten Sie die RetrieveCustomerInfo-Eingaben, die von prompt flow analysiert wurden, damit eine Verbindung mit dem Index customer-info hergestellt werden kann.

    Screenshot der Eingaben zum Bearbeiten im Knoten „Kundeninformationen abrufen“

    Hinweis

    Das Diagramm wird sofort aktualisiert, nachdem Sie den Eingabewert queries auf ExtractIntent.output.search_intents festgelegt haben. Im Diagramm können Sie sehen, dass RetrieveCustomerInfo Eingaben aus ExtractIntentabruft.

    Bei den Eingaben wird die Groß-/Kleinschreibung beachtet. Achten Sie daher darauf, dass sie genau mit den folgenden Werten übereinstimmen:

    Name type Wert
    embeddingModelConnection Azure OpenAI Default_AzureOpenAI
    embeddingModelName Zeichenfolge None
    indexName Zeichenfolge customer-info
    queries Zeichenfolge ${ExtractIntent.output.search_intents}
    queryType Zeichenfolge simple
    searchConnection Azure KI Cognitive Search contosooutdooraisearch
    semanticConfiguration Zeichenfolge None
    topK INT 5
  7. Wählen Sie im oberen Menü Speichern aus, um Ihre Änderungen zu speichern.

Formatieren der abgerufenen Dokumente, die ausgegeben werden sollen

Warnung

Azure KI Studio befindet sich in der Vorschau und kann geändert werden. Die Screenshots und Anweisungen in diesem Tutorial stimmen möglicherweise nicht mit der aktuellen Oberfläche überein.

Nachdem Ihr Prompt Flow nun sowohl die Produkt- als auch die Kundeninformationen enthält, formatieren Sie die abgerufenen Dokumente so, dass sie vom großen Sprachmodell (LLM) verwendet werden können.

  1. Wählen Sie im Diagramm den Knoten FormatRetrievedDocuments aus.

  2. Kopieren Sie den folgenden Python-Code, und fügen Sie ihn ein, um den gesamten Inhalt im Codeblock FormatRetrievedDocuments zu ersetzen.

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. Wählen Sie die Schaltfläche Eingabe überprüfen und analysieren aus, um die Eingaben für den Knoten FormatRetrievedDocuments zu überprüfen. Wenn die Eingaben gültig sind, analysiert prompt flow die Eingaben und erstellt die erforderlichen Variablen zur Verwendung im Code.

  4. Bearbeiten Sie die FormatRetrievedDocuments-Eingaben, die prompt flow für Sie analysiert hat, damit Produkt- und Kundeninformationen aus den Knoten RetrieveProductInfo und RetrieveCustomerInfo extrahiert werden können.

    Screenshot der Eingaben, die im Knoten „Abgerufene Dokumente formatieren“ bearbeitet werden sollen

    Bei den Eingaben wird die Groß-/Kleinschreibung beachtet. Achten Sie daher darauf, dass sie genau mit den folgenden Werten übereinstimmen:

    Name type Wert
    docs1 Objekt ${RetrieveProductInfo.output}
    docs2 Objekt ${RetrieveCustomerInfo.output}
    maxTokens INT 5000
  5. Wählen Sie im Diagramm den Knoten DetermineReply aus.

  6. Legen Sie die Eingabe documentation auf ${FormatRetrievedDocuments.output.strResult} fest.

    Screenshot der Bearbeitung des Eingabewerts der Dokumentation im Knoten „Antworten bestimmen“

  7. Wählen Sie im Diagramm den Knoten outputs aus.

  8. Legen Sie die Eingabe fetched_docs auf ${FormatRetrievedDocuments.output.combined_docs} fest.

    Screenshot der Bearbeitung des Eingabewerts „fetched_docs“ im Ausgabeknoten

  9. Wählen Sie im oberen Menü Speichern aus, um Ihre Änderungen zu speichern.

Chatten in prompt flow mit Produkt- und Kundeninformationen

Jetzt sind in prompt flow sowohl die Produkt- als auch die Kundeninformationen verfügbar. Sie können in prompt flow mit dem Modell chatten und erhalten Antworten auf Fragen wie „Wie viele TrailWalker-Wanderschuhe hat Daniel Wilson gekauft?“. Bevor Sie mit einer formelleren Auswertung fortfahren, können Sie optional mit dem Modell chatten, um zu überprüfen, wie es auf Ihre Fragen reagiert.

  1. Wählen Sie in prompt flow im oberen Menü die Option Chat aus, um zu chatten.

  2. Geben Sie „Wie viele TrailWalker-Wanderschuhe hat Daniel Wilson gekauft?“ ein, und wählen Sie dann den Pfeil nach rechts aus, um die Frage zu senden.

  3. Die Antwort ist wie erwartet. Das Modell verwendet die Kundeninformationen, um die Frage zu beantworten.

    Screenshot der Antwort des Assistenten mit Produkt- und Kundengroundingdaten

Bewerten des Flows mithilfe eines Auswertungsdatasets mit Fragen und Antworten

Vor der Bereitstellung des Flows für die Nutzung möchten Sie ihn in Azure KI Studio bewerten.

In diesem Abschnitt verwenden Sie die integrierte Auswertung, um Ihren Flow mithilfe eines Auswertungsdatasets mit Fragen und Antworten zu bewerten. Die integrierte Auswertung verwendet KI-gestützte Metriken, um Ihren Flow zu bewerten: Quellenübereinstimmung, Relevanz und Abrufscore. Weitere Informationen finden Sie im Artikel zu integrierten Auswertungsmetriken.

Erstellen einer Auswertung

Sie benötigen ein Auswertungsdataset, das Fragen und Antworten enthält, die für Ihr Szenario relevant sind. Erstellen Sie lokal eine neue Datei mit dem Namen qa-evaluation.jsonl. Kopieren Sie die folgenden Fragen und Antworten ("truth"), und fügen Sie sie in die Datei ein.

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Nachdem Sie nun über das Auswertungsdatenset verfügen, können Sie Ihren Flow bewerten, indem Sie die folgenden Schritte ausführen:

  1. Wählen Sie in prompt flow im oberen Menü Auswerten>Integrierte Auswertung aus.

    Screenshot der Option zum Erstellen einer integrierten Auswertung auf prompt flow

    Der Assistent zum Erstellen einer neuen Auswertung wird gestartet.

  2. Geben Sie einen Namen für Ihre Auswertung ein, und wählen Sie eine Computesitzung aus.

  3. Wählen Sie in den Szenariooptionen Frage- und Antwortpaare mit Retrieval Augmented Generation (RAG) aus.

    Screenshot der Auswahl eines Auswertungsszenarios

  4. Wählen Sie den Flow aus, den Sie bewerten möchten. Wählen Sie in diesem Beispiel Contoso outdoor flow aus bzw. den Namen, den Sie für Ihren Flow verwendet haben. Wählen Sie Weiteraus.

  5. Wählen Sie die Metriken aus, die Sie zum Bewerten Ihres Flows verwenden möchten. Wählen Sie in diesem Beispiel Quellenübereinstimmung, Relevanz und Abrufscore aus.

    Screenshot der Auswahl von Auswertungsmetriken

  6. Wählen Sie ein Modell für die Auswertung aus. Wählen Sie z. B. gpt-35-turbo-16k aus. Wählen Sie Weiteraus.

    Hinweis

    Bei der Auswertung mit KI-gestützten Metriken muss ein anderes GPT-Modell aufgerufen werden, um die Berechnung durchzuführen. Um die optimale Leistung zu erzielen, verwenden Sie ein Modell, das mindestens 16.000 Token unterstützt, etwa gpt-4-32k oder gpt-35-turbo-16k. Wenn Sie zuvor kein solches Modell bereitgestellt haben, können Sie ein weiteres Modell bereitstellen, wie im Schnellstart für KI Studio-Chatplayground beschrieben. Kehren Sie dann zu diesem Schritt zurück, und wählen Sie das Modell aus, das Sie bereitgestellt haben.

  7. Wählen Sie Neues Dataset hinzufügen aus. Wählen Sie Weiteraus.

    Screenshot der Option zum Verwenden eines neuen oder vorhandenen Datasets

  8. Wählen Sie Dateien hochladen aus, durchsuchen Sie Ihre Dateien, und wählen Sie die Datei qa-evaluation.jsonl aus, die Sie zuvor erstellt haben.

    Screenshot der Schaltfläche „Datasetuploaddateien“

  9. Nachdem die Datei hochgeladen wurde, müssen Sie die Eigenschaften aus der Datei (Datenquelle) den Auswertungseigenschaften zuordnen. Geben Sie die folgenden Werte für die einzelnen Datenquelleneigenschaften ein:

    Screenshot der Auswertungsdataset-Zuordnung

    Name Description Typ Datenquellen-
    chat_history Der Chatverlauf list ${data.chat_history}
    query Die Abfrage Zeichenfolge ${data.question}
    question Eine Frage nach bestimmten Informationen Zeichenfolge ${data.question}
    answer Die vom Modell als Antwort auf die Frage generierte Antwort Zeichenfolge ${run.outputs.reply}
    documents Zeichenfolge mit Kontext aus abgerufenen Dokumenten Zeichenfolge ${run.outputs.fetched_docs}
  10. Wählen Sie Weiter aus.

  11. Überprüfen Sie die Auswertungsdetails, und wählen Sie dann Senden aus.

    Screenshot der Seite „Überprüfen und Fertigstellen“ im Dialogfeld „Auswertung erstellen“

    Die Seite Metrikauswertungen wird angezeigt.

Anzeigen des Auswertungsstatus und der Ergebnisse

Jetzt können Sie den Auswertungsstatus und die Ergebnisse anzeigen, indem Sie die folgenden Schritte ausführen:

  1. Wechseln Sie nach dem Erstellen einer Auswertung zu Erstellen>Auswertung, sofern Sie sich noch nicht auf dieser Seite befinden. Auf der Seite Metrikauswertungen werden der Auswertungsstatus und die von Ihnen ausgewählten Metriken angezeigt. Möglicherweise müssen Sie nach ein paar Minuten Aktualisieren auswählen, damit der Status Abgeschlossen angezeigt wird.

    Screenshot der Seite „Metrikauswertungen“

    Tipp

    Wenn sich die Auswertung im Status Abgeschlossen befindet, benötigen Sie für die restlichen Schritte dieses Tutorials keine Computesitzung oder Computeinstanz. Sie können Ihre Compute-Instanz beenden, um unnötige Azure-Kosten zu vermeiden. Weitere Informationen finden Sie unter Starten oder Beenden einer Compute-Instanz.

  2. Wählen Sie den Namen der zuerst abgeschlossenen Auswertung (contoso-evaluate-from-flow_variant_0) aus, um die Auswertungsdetails mit den Spalten anzuzeigen, die Sie zuvor zugeordnet haben.

    Screenshot der Seite mit detaillierten Metrikergebnissen

  3. Wählen Sie den Namen der als Zweites abgeschlossenen Auswertung (evaluation_contoso-evaluate-from-flow_variant_0) aus, um die Auswertungsmetriken anzuzeigen: Quellenübereinstimmung, Relevanz und Abrufscore.

    Screenshot der durchschnittlichen Metrikscores

Weitere Informationen finden Sie unter Anzeigen von Auswertungsergebnissen.

Bereitstellen des Flows

Nachdem Sie einen Flow erstellt und eine Auswertung auf Grundlage von Metriken durchgeführt haben, erstellen Sie nun einen Onlineendpunkt für den Echtzeitrückschluss. Dies bedeutet, dass Sie den bereitgestellten Flow verwenden können, um Fragen in Echtzeit zu beantworten.

Führen Sie die folgenden Schritte aus, um einen Prompt Flow in Azure KI Studio als Onlineendpunkt bereitzustellen.

  1. Halten Sie einen Prompt flow für die Bereitstellung bereit. Wenn Sie keinen haben, lesen Sie wie Sie einen Prompt flow erstellen.

  2. Optional: Wählen Sie Chat aus, um zu testen, ob der Flow ordnungsgemäß funktioniert. Es wird empfohlen, Ihren Flow vor der Bereitstellung zu testen.

  3. Wählen Sie Bereitstellen im Flow-Editor aus.

    Screenshot der Schaltfläche „Bereitstellen“ aus einem Editor von prompt flow

  4. Geben Sie die angeforderten Informationen auf der Seite Standardeinstellungen im Bereitstellungs-Assistenten an.

    Screenshot der Seite „Grundeinstellungen“ im Bereitstellungs-Assistenten

  5. Wählen Sie Weiter aus, um mit den Seiten für die erweiterten Einstellungen fortzufahren.

  6. Übernehmen Sie auf der Seite Erweiterte Einstellungen – Endpunkt die Standardeinstellungen, und wählen Sie Weiter aus.

  7. Übernehmen Sie auf der Seite Erweiterte Einstellungen – Bereitstellung die Standardeinstellungen, und wählen Sie Weiter aus.

  8. Vergewissern Sie sich auf der Seite Erweiterte Einstellungen > Ausgabe und Verbindungen, dass alle Ausgaben unter In Endpunktantwort enthalten ausgewählt sind.

    Screenshot der Seite „Erweiterte Einstellungen“ im Bereitstellungs-Assistenten

  9. Wählen Sie Überprüfen + Erstellen aus, um die Einstellungen zu überprüfen und die Bereitstellung zu erstellen.

  10. Wählen Sie Erstellen aus, um den Prompt flow bereitzustellen.

    Screenshot der Seite „Bereitstellungseinstellungen für prompt flow überprüfen“

Weitere Informationen finden Sie im Artikel zum Bereitstellen eines Flows.

Verwenden des bereitgestellten Flows

Ihre Copilot-Anwendung kann den bereitgestellten Prompt Flow verwenden, um Fragen in Echtzeit zu beantworten. Sie können den REST-Endpunkt oder das SDK verwenden, um den bereitgestellten Flow zu nutzen.

  1. Um den Status Ihrer Bereitstellung in Azure KI Studio anzuzeigen, wählen Sie im Navigationsbereich auf der linken Seite Bereitstellungen aus. Nachdem die Bereitstellung erfolgreich erstellt wurde, können Sie die Bereitstellung auswählen, um die Details anzuzeigen.

    Screenshot des Bereitstellungsstatus von prompt flow in Bearbeitung

    Hinweis

    Wenn eine Meldung mit dem Hinweis angezeigt wird, dass der Endpunkt derzeit keine Bereitstellungen hat, oder der Status noch immer Wird aktualisiert lautet, müssen Sie möglicherweise nach einigen Minuten Aktualisieren auswählen, um die Bereitstellung anzuzeigen.

  2. Optional können Sie auf der Detailseite den Authentifizierungstyp ändern oder die Überwachung aktivieren.

    Screenshot der Seite „Bereitstellungsdetails für prompt flow“

  3. Wählen Sie die Registerkarte Nutzen aus. Hier sehen Sie Codebeispiele und den REST-Endpunkt für Ihre Copilot-Anwendung zum Verwenden des bereitgestellten Flows.

    Screenshot des Endpunkts für die Bereitstellung von prompt flow und Codebeispiele

Bereinigen von Ressourcen

Um unnötige Azure-Kosten zu vermeiden, sollten Sie die in diesem Tutorial erstellten Ressourcen löschen, wenn sie nicht mehr benötigt werden. Zum Verwalten von Ressourcen können Sie das Azure-Portal verwenden.

Zudem können Sie in Azure KI Studio Ihre Computeinstanz nach Bedarf beenden oder löschen.

Demo zur Azure KI Studio Enterprise-Chatlösung

Erfahren Sie in diesem Video, wie Sie einen Einzelhandels-Copilot mit Ihren Daten mit Azure KI Studio erstellen können.

Nächste Schritte