Share via


Zelfstudie: Copilot voor vragen en antwoorden bouwen en implementeren met promptstroom in Azure AI Studio

Notitie

Azure AI Studio is momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In deze zelfstudie van Azure AI Studio gebruikt u generatieve AI en promptstroom om een copilot te bouwen, configureren en implementeren voor uw retailbedrijf met de naam Contoso. Uw detailhandel is gespecialiseerd in outdoor camping gear en kleding.

De copilot moet vragen beantwoorden over uw producten en services. Het moet ook vragen over uw klanten beantwoorden. De copilot kan bijvoorbeeld vragen beantwoorden, zoals 'Hoeveel kost de TrailWalker wandelschoenen?' en 'Hoeveel wandelschoenen van TrailWalker heeft Daniel Wilson gekocht?'.

De stappen in deze zelfstudie zijn als volgt:

  1. Maak een Azure AI Studio-project.
  2. Implementeer een Azure OpenAI-model en chat met uw gegevens.
  3. Maak een promptstroom vanuit de speeltuin.
  4. De promptstroom aanpassen met meerdere gegevensbronnen.
  5. Evalueer de stroom met behulp van een gegevensset voor vraag- en antwoordevaluatie.
  6. Implementeer de stroom voor verbruik.

Vereisten

  • Een Azure-abonnement: maak er gratis een.

  • Toegang verleend tot Azure OpenAI in het gewenste Azure abonnement.

    Op dit moment wordt alleen toegang tot deze service verleend door een aanvraag te doen. U kunt toegang tot Azure OpenAI aanvragen door het formulier in te vullen op https://aka.ms/oai/access. Open een probleem op deze opslagplaats om contact met ons op te stellen als u een probleem hebt.

  • U hebt een Azure AI Hub-resource nodig en uw gebruikersrol moet Azure AI Developer, Inzender of Eigenaar zijn in de Azure AI Hub-resource. Zie Azure AI-hubresources en Azure AI-rollen voor meer informatie.

    • Als uw rol Inzender of Eigenaar is, kunt u in deze zelfstudie een Azure AI Hub-resource maken.
    • Als uw rol Azure AI Developer is, moet de Azure AI Hub-resource al worden gemaakt.
  • Uw abonnement moet onder uw quotumlimiet staan om een nieuw model in deze zelfstudie te implementeren. Anders moet u al een geïmplementeerd chatmodel hebben.

  • U hebt een lokale kopie van product- en klantgegevens nodig. De opslagplaats Azure/aistudio-copilot-sample op GitHub bevat voorbeeldklant- en productgegevens die relevant zijn voor dit zelfstudiescenario. Kloon de opslagplaats of kopieer de bestanden van 1-customer-info en 3-product-info.

Een Azure AI-project maken in Azure AI Studio

Uw Azure AI-project wordt gebruikt om uw werk te organiseren en de status op te slaan tijdens het bouwen van uw copilot. Tijdens deze zelfstudie bevat uw project uw gegevens, promptstroomruntime, evaluaties en andere resources. Zie Azure AI-hubresources voor meer informatie over het Azure AI-projecten en -resourcesmodel.

Volg deze stappen om een Azure AI-project te maken in Azure AI Studio:

  1. Selecteer het tabblad Opbouwen boven aan de pagina.

  2. Selecteer + Nieuw AI-project.

    Schermopname van het tabblad Bouwen van Azure AI Studio met de optie om een nieuw project te maken dat zichtbaar is.

  3. Voer een naam in voor het project.

  4. Selecteer een Azure AI Hub-resource in de vervolgkeuzelijst om uw project te hosten. Als u nog geen toegang hebt tot een Azure AI Hub-resource, selecteert u Een nieuwe resource maken.

    Schermopname van de pagina projectdetails in het dialoogvenster Project maken.

    Notitie

    Als u een Azure AI Hub-resource wilt maken, moet u de machtigingen Eigenaar of Inzender hebben voor de geselecteerde resourcegroep. Het is raadzaam om een Azure AI Hub-resource te delen met uw team. Hiermee kunt u configuraties zoals gegevensverbindingen met alle projecten delen en beveiligingsinstellingen en uitgaven centraal beheren.

  5. Als u een nieuwe Azure AI Hub-resource maakt, voert u een naam in.

  6. Selecteer uw Azure-abonnement in de vervolgkeuzelijst. Kies een specifiek Azure-abonnement voor uw project om facturering, toegang of administratieve redenen. Dit verleent gebruikers en service-principals bijvoorbeeld toegang op abonnementsniveau tot uw project.

  7. Laat de resourcegroep op de standaardwaarde staan om een nieuwe resourcegroep te maken. U kunt ook een bestaande resourcegroep selecteren in de vervolgkeuzelijst.

    Tip

    Met name om aan de slag te gaan, is het raadzaam om een nieuwe resourcegroep voor uw project te maken. Hierdoor kunt u het project en alle bijbehorende resources eenvoudig samen beheren. Wanneer u een project maakt, worden er verschillende resources gemaakt in de resourcegroep, waaronder een Azure AI Hub-resource, een containerregister en een opslagaccount.

  8. Voer de locatie voor de Azure AI-hubresource in en selecteer vervolgens Volgende. De locatie is de regio waar de Azure AI Hub-resource wordt gehost. De locatie van de Azure AI Hub-resource is ook de locatie van het project. De beschikbaarheid van Azure AI-services verschilt per regio. Bepaalde modellen zijn bijvoorbeeld mogelijk niet beschikbaar in bepaalde regio's.

  9. Selecteer een bestaande Azure OpenAI-resource in de vervolgkeuzelijst of maak een nieuwe resource.

    Schermopname van de pagina Resource maken in het dialoogvenster Project maken.

  10. Op de pagina Controleren en voltooien ziet u de resourcenaam van de Azure OpenAI-service en andere instellingen die u wilt controleren.

    Schermopname van de controle- en einddatumspagina in het dialoogvenster Project maken.

  11. Controleer de projectdetails en selecteer vervolgens Een AI-project maken. U ziet de voortgang van het maken van resources en het project wordt gemaakt wanneer het proces is voltooid.

    Schermopname van de voortgang van het maken van resources in het dialoogvenster Project maken.

Zodra een project is gemaakt, hebt u toegang tot de assets hulpprogramma's, onderdelen en AI-projectinstellingen in het linkernavigatievenster. Voor een project dat gebruikmaakt van een Azure AI-hub met ondersteuning voor Azure OpenAI, ziet u de navigatieoptie Playground onder Hulpprogramma's.

Een chatmodel implementeren

Volg deze stappen om een Azure OpenAI-chatmodel voor uw copilot te implementeren.

  1. Meld u aan bij Azure AI Studio met referenties die toegang hebben tot uw Azure OpenAI-resource. Selecteer tijdens of na de aanmeldingswerkstroom de juiste map, het Azure-abonnement en de Azure OpenAI-resource. U moet zich op de startpagina van Azure AI Studio bevinden.

  2. Selecteer Build in het bovenste menu en selecteer Vervolgens Implementaties>Realtime-eindpunt maken>.

    Schermopname van de pagina implementaties met een knop om een nieuw project te maken.

  3. Selecteer op de pagina Een model selecteren het model dat u wilt implementeren in de lijst met modellen. Selecteer bijvoorbeeld gpt-35-turbo-16k. Selecteer Vervolgens Bevestigen.

    Schermopname van de pagina voor modelselectie.

  4. Voer op de pagina Model implementeren een naam in voor uw implementatie en selecteer Vervolgens Implementeren. Nadat de implementatie is gemaakt, ziet u de pagina met implementatiedetails. Details zijn de datum waarop u de implementatie hebt gemaakt en de gemaakte datum en versie van het model dat u hebt geïmplementeerd.

  5. Selecteer Openen in speeltuin op de pagina met implementatiedetails uit de vorige stap.

    Schermopname van de details van de gpt-chatimplementatie.

Zie hoe u modellen implementeert voor meer informatie over het implementeren van modellen.

Chatten in de speeltuin zonder uw gegevens

In de Azure AI Studio-speeltuin kunt u zien hoe uw model reageert met en zonder uw gegevens. In deze sectie test u uw model zonder uw gegevens. In de volgende sectie voegt u uw gegevens toe aan het model om vragen over uw producten beter te beantwoorden.

  1. Zorg ervoor dat Chat is geselecteerd in de vervolgkeuzelijst Modus in de speeltuin. Selecteer het geïmplementeerde GPT-chatmodel in de vervolgkeuzelijst Implementatie .

    Schermopname van de chatspeeltuin met de chatmodus en het model geselecteerd.

  2. Geef in het tekstvak Systeembericht in het deelvenster Configuratieassistent deze prompt op om de assistent te begeleiden: 'U bent een AI-assistent waarmee mensen informatie kunnen vinden'. U kunt de prompt voor uw scenario aanpassen. Zie promptvoorbeelden voor meer informatie.

  3. Selecteer Wijzigingen toepassen om uw wijzigingen op te slaan en wanneer u wordt gevraagd of u het systeembericht wilt bijwerken, selecteert u Doorgaan.

  4. Voer in het chatsessievenster de volgende vraag in: "Hoeveel kost de TrailWalker wandelschoenen", en selecteer vervolgens het pijl-rechtspictogram dat u wilt verzenden.

    Schermopname van de eerste chatvraag zonder grondgegevens.

  5. De assistent antwoordt dat het antwoord niet bekend is. Het model heeft geen toegang tot productinformatie over de TrailWalker wandelschoenen.

    Schermopname van het antwoord van de assistent zonder grondgegevens.

In de volgende sectie voegt u uw gegevens toe aan het model om vragen over uw producten te beantwoorden.

Voeg uw gegevens toe en probeer het chatmodel opnieuw

U hebt een lokale kopie van voorbeeldproductgegevens nodig. Zie de vereisten voor meer informatie en koppelingen naar voorbeeldgegevens.

U uploadt uw lokale gegevensbestanden naar Azure Blob Storage en maakt een Azure AI Search-index. Uw gegevensbron wordt gebruikt om het model te gronden met specifieke gegevens. Grounding betekent dat het model uw gegevens gebruikt om inzicht te verkrijgen in de context van uw vraag. U wijzigt het geïmplementeerde model zelf niet. Uw gegevens worden afzonderlijk en veilig opgeslagen in uw Azure-abonnement. Zie Azure OpenAI voor meer informatie over uw gegevens.

Volg deze stappen om uw gegevens toe te voegen aan de speeltuin om de assistent te helpen vragen over uw producten te beantwoorden.

  1. Als u zich nog niet in de Azure AI Studio-speeltuin bevindt, selecteert u Bouwen in het bovenste menu en selecteert u Vervolgens Playground in het samenvouwbare linkermenu.

  2. Selecteer Uw gegevens toevoegen (preview)>+ Een gegevensbron toevoegen in het deelvenster Configuratieassistent.

    Schermopname van de chatspeelplaats met de optie om een gegevensbron toe te voegen die zichtbaar is.

  3. Selecteer bestanden uploaden in de vervolgkeuzelijst Gegevensbron selecteren op de pagina Gegevensbron die wordt weergegeven.

    Schermopname van de selectieopties voor productgegevensbronnen.

    Tip

    Voor gegevensbronopties en ondersteunde bestandstypen en opmaak zie Azure OpenAI op uw gegevens.

  4. Voer productgegevens in als de naam van uw productgegevensindex.

    Schermopname van de resources en informatie die nodig is om bestanden te uploaden.

  5. Selecteer of maak een Azure AI Search-resource met de naam contoso-outdoor-search en selecteer de bevestiging dat er verbinding wordt gemaakt met het gebruik van uw account.

    Notitie

    U gebruikt de index voor productgegevens en de Azure AI Search-resource contoso-outdoor search in promptstroom verderop in deze zelfstudie. Als de namen die u invoert verschillen van wat hier wordt opgegeven, moet u ervoor zorgen dat u de namen gebruikt die u in de rest van de zelfstudie hebt ingevoerd.

  6. Selecteer het Azure-abonnement dat de Azure OpenAI-resource bevat die u wilt gebruiken. Selecteer Volgende.

  7. Selecteer op de pagina Bestanden uploaden de optie Bladeren naar een bestand en selecteer de bestanden die u wilt uploaden. Selecteer de productgegevensbestanden die u eerder hebt gedownload of gemaakt. Bekijk de vereisten. Als u meer dan één bestand wilt uploaden, doet u dit nu. U kunt later niet meer bestanden toevoegen in dezelfde speeltuinsessie.

  8. Selecteer Uploaden om het bestand te uploaden naar uw Azure Blob Storage-account. Selecteer vervolgens Volgende onder aan de pagina.

    Schermopname van het dialoogvenster voor het selecteren en uploaden van bestanden.

  9. Selecteer Trefwoord op de pagina Gegevensbeheer onder Zoektype. Met deze instelling kunt u bepalen hoe het model reageert op aanvragen. Selecteer Volgende.

    Notitie

    Als u vectorzoekopdrachten hebt toegevoegd op de pagina Selecteren of gegevensbron toevoegen, zijn hier meer opties beschikbaar voor extra kosten. Zie Azure OpenAI voor meer informatie over uw gegevens.

  10. Controleer de gegevens die u hebt ingevoerd en selecteer Opslaan en sluiten. U kunt nu chatten met het model en er worden gegevens uit uw gegevens gebruikt om het antwoord samen te stellen.

    Schermopname van de controle- en eindpagina voor het toevoegen van gegevens.

  11. Nu kunt u in het deelvenster Assistent instellen zien dat uw gegevensopname wordt uitgevoerd. Voordat u doorgaat, wacht u totdat u de naam van de gegevensbron en index ziet in plaats van de status.

    Schermopname van de chatspeelplaats met de status van gegevensopname in de weergave.

  12. U kunt nu chatten met het model waarin dezelfde vraag wordt gesteld als voorheen ('Hoeveel kost de TrailWalker wandelschoenen') en deze keer wordt informatie uit uw gegevens gebruikt om het antwoord samen te stellen. U kunt de knop Verwijzingen uitvouwen om de gegevens weer te geven die zijn gebruikt.

    Schermopname van het antwoord van de assistent met grondgegevens.

Compute en runtime maken die nodig zijn voor promptstroom

U gebruikt de promptstroom om de berichten te optimaliseren die naar het chatmodel van copilot worden verzonden. Promptstroom vereist een rekenproces en een runtime. Als u al een rekenproces en een runtime hebt, kunt u deze sectie overslaan en in de speeltuin blijven.

Voer de volgende stappen uit om een rekenproces en een runtime te maken:

  1. Als u geen rekenproces hebt, kunt u er een maken in Azure AI Studio.
  2. Maak vervolgens een runtime door de stappen te volgen voor het maken van een runtime.

Als u de rest van de zelfstudie wilt voltooien, moet u ervoor zorgen dat uw runtime de status Actief heeft. Mogelijk moet u Vernieuwen selecteren om de bijgewerkte status weer te geven.

Belangrijk

Er worden kosten in rekening gebracht voor rekeninstanties terwijl ze worden uitgevoerd. Als u onnodige Azure-kosten wilt voorkomen, pauzeert u het rekenproces wanneer u niet actief in de promptstroom werkt. Zie voor meer informatie hoe u rekenkracht start en stopt.

Een promptstroom maken vanuit de speeltuin

Nu uw geïmplementeerde chatmodel met uw gegevens in de speeltuin werkt, kunt u uw copilot implementeren als een web-app vanuit de speeltuin.

Maar misschien vraagt u 'Hoe kan ik deze copilot verder aanpassen?' Mogelijk wilt u meerdere gegevensbronnen toevoegen, verschillende prompts of de prestaties van meerdere modellen vergelijken. Een promptstroom fungeert als een uitvoerbare werkstroom die de ontwikkeling van uw AI-toepassing op basis van LLM stroomlijnt. Het biedt een uitgebreid kader voor het beheren van de gegevensstroom en verwerking binnen uw toepassing.

In deze sectie leert u hoe u kunt overstappen op een prompt van de speeltuin. U exporteert de chatomgeving voor speeltuinen, inclusief verbindingen met de gegevens die u hebt toegevoegd. Verderop in deze zelfstudie evalueert u de stroom en implementeert u vervolgens de stroom voor verbruik.

Notitie

De wijzigingen in de promptstroom worden niet achterwaarts toegepast om de speeltuinomgeving bij te werken.

U kunt een promptstroom maken vanuit de speeltuin door de volgende stappen uit te voeren:

  1. Als u zich nog niet in de Azure AI Studio-speeltuin bevindt, selecteert u Bouwen in het bovenste menu en selecteert u Vervolgens Playground in het samenvouwbare linkermenu.

  2. Selecteer Openen in promptstroom in het menu boven het deelvenster Chatsessie .

  3. Voer een mapnaam in voor de promptstroom. Selecteer vervolgens Openen. Azure AI Studio exporteert de chatomgeving voor speeltuinen, met inbegrip van verbindingen met uw gegevens om een stroom te vragen.

    Schermopname van het dialoogvenster Openen in promptstroom.

Binnen een stroom worden knooppunten centraal gezet, die specifieke hulpprogramma's met unieke mogelijkheden vertegenwoordigen. Deze knooppunten verwerken gegevensverwerking, taakuitvoering en algoritmen, met invoer en uitvoer. Door knooppunten te verbinden, maakt u een naadloze keten van bewerkingen die de stroom van gegevens door uw toepassing begeleiden. Zie promptstroomhulpprogramma's voor meer informatie.

Om de configuratie en afstemming van knooppunten te vergemakkelijken, wordt een visuele weergave van de werkstroomstructuur geboden via een DAG-grafiek (Directed Acyclic Graph). Deze grafiek toont de connectiviteit en afhankelijkheden tussen knooppunten, wat een duidelijk overzicht biedt van de hele werkstroom. De knooppunten in de grafiek die hier worden weergegeven, zijn representatief voor de chatervaring van de speeltuin die u hebt geëxporteerd om de stroom te vragen.

Schermopname van de standaardgrafiek die is geëxporteerd uit de speeltuin om stroom te vragen.

Waarschuwing

Azure AI Studio is in preview en kan worden gewijzigd. De schermopnamen en instructies in deze zelfstudie komen mogelijk niet overeen met de huidige ervaring.

Knooppunten kunnen worden toegevoegd, bijgewerkt, opnieuw gerangschikt of verwijderd. De knooppunten in uw stroom zijn:

  • DetermineIntent: Dit knooppunt bepaalt de intentie van de query van de gebruiker. Hierbij wordt de systeemprompt gebruikt om de intentie te bepalen. U kunt de systeemprompt bewerken om scenariospecifieke voorbeelden van enkele opnamen te bieden.
  • ExtractIntent: Met dit knooppunt wordt de uitvoer van het knooppunt DetermineIntent opgemaakt en verzonden naar het RetrieveDocuments-knooppunt .
  • RetrieveDocuments: dit knooppunt zoekt naar de belangrijkste documenten met betrekking tot de query. Dit knooppunt maakt gebruik van het zoektype en eventuele parameters die u vooraf hebt geconfigureerd in de speeltuin.
  • FormatRetrievedDocuments: Met dit knooppunt wordt de uitvoer van het RetrieveDocuments-knooppunt opgemaakt en verzonden naar het knooppunt DetermineReply .
  • DetermineReply: dit knooppunt bevat een uitgebreide systeemprompt, waarin de LLM wordt gevraagd om te reageren met behulp van de opgehaalde documenten. Er zijn twee invoerwaarden:
    • Het knooppunt RetrieveDocuments bevat de meest opgehaalde documenten.
    • Het knooppunt FormatConversation biedt de opgemaakte gespreksgeschiedenis, inclusief de meest recente query.

Het FormatReply-knooppunt formatteert de uitvoer van het knooppunt DetermineReply.

In de promptstroom ziet u ook het volgende:

  • Opslaan: U kunt de promptstroom op elk gewenst moment opslaan door Opslaan te selecteren in het bovenste menu. Zorg ervoor dat u uw promptstroom regelmatig opslaat wanneer u wijzigingen aanbrengt in deze zelfstudie.

  • Runtime: De runtime die u eerder in deze zelfstudie hebt gemaakt. U kunt runtimes en rekenprocessen starten en stoppen via ai-projectinstellingen in het linkermenu. Als u in de promptstroom wilt werken, moet u ervoor zorgen dat uw runtime de status Actief heeft.

    Schermopname van de promptstroomeditor en omringende menu's.

  • Extra: U kunt op elk gewenst moment terugkeren naar de promptstroom door promptstroom te selecteren in Extra in het linkermenu. Selecteer vervolgens de promptstroommap die u eerder hebt gemaakt (niet de voorbeeldstroom).

    Schermopname van de lijst met promptstromen.

Promptstroom aanpassen met meerdere gegevensbronnen

Eerder in de Azure AI Studio-speeltuin hebt u uw gegevens toegevoegd om één zoekindex te maken met productgegevens voor de Contoso-copilot. Tot nu toe kunnen gebruikers alleen vragen stellen over producten met vragen als "Hoeveel kost de TrailWalker wandelschoenen?". Maar ze kunnen geen antwoorden krijgen op vragen als "Hoeveel TrailWalker wandelschoenen heeft Daniel Wilson gekocht?" Om dit scenario mogelijk te maken, voegen we een andere index met klantgegevens toe aan de stroom.

De index voor klantgegevens maken

U hebt een lokale kopie van voorbeeld van klantgegevens nodig. Zie de vereisten voor meer informatie en koppelingen naar voorbeeldgegevens.

Volg deze instructies voor het maken van een nieuwe index:

  1. Selecteer Index in het linkermenu. Selecteer vervolgens + Nieuwe index.

    Schermopname van de pagina indexen met de knop om een nieuwe index te maken.

    U gaat naar de wizard Een index maken.

  2. Selecteer op de pagina Brongegevens de optie Uploadmap in de vervolgkeuzelijst Uploaden . Selecteer de klantgegevensbestanden die u eerder hebt gedownload of gemaakt. Bekijk de vereisten.

    Schermopname van de selectieopties voor de gegevensbron van de klant.

  3. Selecteer Volgende onder aan de pagina.

  4. Selecteer dezelfde Azure AI Search-resource (contoso-outdoor-search) die u hebt gebruikt voor uw productgegevensindex (product-info). Selecteer Volgende.

    Schermopname van de geselecteerde Azure AI Search-resource.

  5. Selecteer Hybride + Semantisch (aanbevolen) voor het zoektype. Dit type moet standaard worden geselecteerd.

  6. Selecteer Default_AzureOpenAI in de vervolgkeuzelijst azure OpenAI-resource. Schakel het selectievakje in om te bevestigen dat een Azure OpenAI-insluitingsmodel wordt geïmplementeerd als dit nog niet is gebeurd. Selecteer Volgende.

    Schermopname van opties voor indexzoektype.

    Notitie

    Het insluitmodel wordt weergegeven met andere modelimplementaties op de pagina Implementaties .

  7. Voer klantgegevens in voor de indexnaam. Selecteer Volgende.

    Schermopname van de indexnaam en de opties voor virtuele machines.

  8. Controleer de gegevens die u hebt ingevoerd en selecteer Maken.

    Schermopname van de pagina Voor het maken van de index controleren en voltooien.

    Notitie

    U gebruikt de index voor klantgegevens en de Azure AI Search-resource contoso-outdoor search in promptstroom verderop in deze zelfstudie. Als de namen die u invoert verschillen van wat hier wordt opgegeven, moet u ervoor zorgen dat u de namen gebruikt die u in de rest van de zelfstudie hebt ingevoerd.

  9. U gaat naar de pagina met indexgegevens, waar u de status van het maken van uw index kunt zien

    Schermopname van de indexgegevens van de klant.

Zie Een index maken voor meer informatie over het maken van een index.

Klantgegevens toevoegen aan de stroom

Waarschuwing

Azure AI Studio is in preview en kan worden gewijzigd. De schermopnamen en instructies in deze zelfstudie komen mogelijk niet overeen met de huidige ervaring.

Nadat u klaar bent met het maken van uw index, gaat u terug naar de promptstroom en volgt u deze stappen om de klantgegevens toe te voegen aan de stroom:

  1. Selecteer het knooppunt RetrieveDocuments in de grafiek en wijzig de naam van het RetrieveProductInfo-knooppunt. Het knooppunt productgegevens ophalen kan nu worden onderscheiden van het knooppunt klantgegevens ophalen dat u aan de stroom toevoegt.

    Schermopname van het promptstroomknooppunt voor het ophalen van productgegevens.

  2. Selecteer + Python in het bovenste menu om een nieuw Python-knooppunt te maken dat wordt gebruikt om klantgegevens op te halen.

    Schermopname van het promptstroomknooppunt voor het ophalen van klantgegevens.

  3. Geef het knooppunt de naam RetrieveCustomerInfo en selecteer Toevoegen.

  4. Kopieer en plak de Python-code van het knooppunt RetrieveProductInfo in het knooppunt RetrieveCustomerInfo om alle standaardcode te vervangen.

  5. Selecteer de knop Invoer valideren en parseren om de invoer voor het knooppunt RetrieveCustomerInfo te valideren. Als de invoer geldig is, parseert de promptstroom de invoer en maakt u de benodigde variabelen die u in uw code kunt gebruiken.

    Schermopname van de knop Invoer valideren en parseren.

  6. Bewerk de invoer retrieveCustomerInfo die de promptstroom voor u parseert, zodat deze verbinding kan maken met uw klantgegevensindex .

    Schermopname van invoer die moet worden bewerkt in het knooppunt klantgegevens ophalen.

    Notitie

    De grafiek wordt onmiddellijk bijgewerkt nadat u de invoerwaarde voor query's hebt ingesteld op ExtractIntent.output.search_intents. In de grafiek ziet u dat RetrieveCustomerInfo invoer krijgt van ExtractIntent.

    De invoer is hoofdlettergevoelig, dus zorg ervoor dat deze exact overeenkomen met deze waarden:

    Name Type Weergegeven als
    embeddingModel Verbinding maken ion Azure OpenAI Default_AzureOpenAI
    embeddingModelName tekenreeks Geen
    indexName tekenreeks klantgegevens
    Query 's tekenreeks ${ExtractIntent.output.search_intents}
    Querytype tekenreeks Eenvoudige
    zoeken Verbinding maken ion Cognitive Search contoso-outdoor-search
    semanticConfiguration tekenreeks Geen
    topK int 5
  7. Selecteer Opslaan in het bovenste menu om uw wijzigingen op te slaan.

De opgehaalde documenten opmaken voor uitvoer

Waarschuwing

Azure AI Studio is in preview en kan worden gewijzigd. De schermopnamen en instructies in deze zelfstudie komen mogelijk niet overeen met de huidige ervaring.

Nu u zowel de product- als de klantgegevens in uw promptstroom hebt, maakt u de opgehaalde documenten zodanig op dat het grote taalmodel deze kan gebruiken.

  1. Selecteer het knooppunt FormatRetrievedDocuments in de grafiek.

  2. Kopieer en plak de volgende Python-code om alle inhoud in het codeblok FormatRetrievedDocuments te vervangen.

    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. Selecteer de knop Invoer valideren en parseren om de invoer voor het knooppunt FormatRetrievedDocuments te valideren. Als de invoer geldig is, parseert de promptstroom de invoer en maakt u de benodigde variabelen die u in uw code kunt gebruiken.

  4. Bewerk de Invoer van FormatRetrievedDocuments waarmee de promptstroom voor u wordt geparseerd, zodat deze product- en klantgegevens kan extraheren uit de knooppunten RetrieveProductInfo en RetrieveCustomerInfo .

    Schermopname van invoer die moet worden bewerkt in het knooppunt voor opgehaalde documenten.

    De invoer is hoofdlettergevoelig, dus zorg ervoor dat deze exact overeenkomen met deze waarden:

    Name Type Weergegeven als
    docs1 object ${RetrieveProductInfo.output}
    docs2 object ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. Selecteer het knooppunt DetermineReply in de grafiek.

  6. Stel de documentatie-invoer in op ${FormatRetrievedDocuments.output.strResult}.

    Schermopname van het bewerken van de invoerwaarde van de documentatie in het antwoordknooppunt bepalen.

  7. Selecteer het uitvoerknooppunt in de grafiek.

  8. Stel de fetched_docs-invoer in op ${FormatRetrievedDocuments.output.combined_docs}.

    Schermopname van het bewerken van de fetched_docs invoerwaarde in het uitvoerknooppunt.

  9. Selecteer Opslaan in het bovenste menu om uw wijzigingen op te slaan.

Chatten in promptstroom met product- en klantgegevens

Op dit moment hebt u zowel de product- als klantgegevens in de promptstroom. U kunt chatten met het model in promptstroom en antwoorden krijgen op vragen zoals "Hoeveel TrailWalker wandelschoenen heeft Daniel Wilson gekocht?" Voordat u verdergaat met een formelere evaluatie, kunt u eventueel chatten met het model om te zien hoe het reageert op uw vragen.

  1. Selecteer Chat in het bovenste menu in de promptstroom om te chatten.

  2. Voer "Hoeveel TrailWalker wandelschoenen heeft Daniel Wilson gekocht?" in en selecteer vervolgens het pijl-rechts pictogram om te verzenden.

  3. Het antwoord is wat u verwacht. Het model gebruikt de klantgegevens om de vraag te beantwoorden.

    Schermopname van het antwoord van de assistent met product- en klantaardingsgegevens.

De stroom evalueren met behulp van een gegevensset voor vraag- en antwoordevaluatie

In Azure AI Studio wilt u de stroom evalueren voordat u de stroom implementeert voor verbruik.

In deze sectie gebruikt u de ingebouwde evaluatie om uw stroom te evalueren met een gegevensset voor vraag- en antwoordevaluatie. De ingebouwde evaluatie maakt gebruik van met AI ondersteunde metrische gegevens om uw stroom te evalueren: geaardheid, relevantie en score voor ophalen. Zie ingebouwde metrische evaluatiegegevens voor meer informatie.

Een evaluatie maken

U hebt een gegevensset voor vraag- en antwoordevaluatie nodig die vragen en antwoorden bevat die relevant zijn voor uw scenario. Maak een nieuw bestand met de naam qa-evaluation.jsonl. Kopieer en plak de volgende vragen en antwoorden ("truth") in het bestand.

{"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": [] }

Nu u uw evaluatiegegevensset hebt, kunt u uw stroom evalueren door de volgende stappen uit te voeren:

  1. Selecteer Ingebouwde>evaluatie evalueren in het bovenste menu in de promptstroom.

    Schermopname van de optie voor het maken van een ingebouwde evaluatie vanuit de promptstroom.

    U gaat naar de wizard Een nieuwe evaluatie maken.

  2. Voer een naam in voor uw evaluatie en selecteer een runtime.

  3. Selecteer vraag- en antwoordparen met het ophalen van uitgebreide generatie vanuit de scenarioopties.

    Schermopname van het selecteren van een evaluatiescenario.

  4. Selecteer de stroom die u wilt evalueren. In dit voorbeeld selecteert u De buitenstroom van Contoso of de naam van uw stroom. Selecteer Volgende.

  5. Selecteer de metrische gegevens die u wilt gebruiken om uw stroom te evalueren. In dit voorbeeld selecteert u Groundedness, Relevantie en Score ophalen.

    Schermopname van het selecteren van metrische evaluatiegegevens.

  6. Selecteer een model dat u wilt gebruiken voor evaluatie. In dit voorbeeld selecteert u gpt-35-turbo-16k. Selecteer Volgende.

    Notitie

    Evaluatie met met AI ondersteunde metrische gegevens moet een ander GPT-model aanroepen om de berekening uit te voeren. Gebruik voor de beste prestaties een model dat ten minste 16k-tokens ondersteunt, zoals gpt-4-32k of gpt-35-turbo-16k-model. Als u een dergelijk model nog niet eerder hebt geïmplementeerd, kunt u een ander model implementeren door de stappen in Een chatmodel implementeren te volgen. Ga vervolgens terug naar deze stap en selecteer het model dat u hebt geïmplementeerd.

  7. Selecteer Nieuwe gegevensset toevoegen. Selecteer Volgende.

    Schermopname van de optie voor het gebruik van een nieuwe of bestaande gegevensset.

  8. Selecteer Bestanden uploaden, blader door bestanden en selecteer het bestand qa-evaluation.jsonl dat u eerder hebt gemaakt.

    Schermopname van de knop Bestanden uploaden van gegevenssets.

  9. Nadat het bestand is geüpload, moet u de eigenschappen van het bestand (gegevensbron) toewijzen aan de evaluatie-eigenschappen. Voer de volgende waarden in voor elke gegevensbroneigenschap:

    Schermopname van de toewijzing van de evaluatiegegevensset.

    Name Omschrijving Type Gegevensbron
    chat_history De chatgeschiedenis lijst ${data.chat_history}
    query De query tekenreeks ${data.question}
    Vraag Een query die specifieke informatie zoekt tekenreeks ${data.question}
    Antwoord Het antwoord op de vraag die door het model als antwoord wordt gegenereerd tekenreeks ${run.outputs.reply}
    Documenten Tekenreeks met context uit opgehaalde documenten tekenreeks ${run.outputs.fetched_docs}
  10. Selecteer Volgende.

  11. Controleer de evaluatiedetails en selecteer Verzenden.

    Schermopname van de beoordelings- en eindpagina in het dialoogvenster Evaluatie maken.

    U gaat naar de pagina Metrische evaluaties .

De evaluatiestatus en -resultaten weergeven

U kunt nu de evaluatiestatus en -resultaten bekijken door de volgende stappen uit te voeren:

  1. Nadat u een evaluatie hebt gemaakt, gaat u naar Build>Evaluation als u er nog niet bent. Op de pagina Metrische evaluaties ziet u de evaluatiestatus en de metrische gegevens die u hebt geselecteerd. Mogelijk moet u Vernieuwen na een paar minuten selecteren om de status Voltooid weer te geven.

    Schermopname van de pagina met metrische evaluaties.

    Tip

    Zodra de evaluatie de status Voltooid heeft, hebt u geen runtime of berekening nodig om de rest van deze zelfstudie te voltooien. U kunt uw rekenproces stoppen om onnodige Azure-kosten te voorkomen. Zie voor meer informatie hoe u rekenkracht start en stopt.

  2. Selecteer de naam van de evaluatie die het eerst is voltooid (contoso-evaluate-from-flow_variant_0) om de evaluatiegegevens te bekijken met de kolommen die u eerder hebt toegewezen.

    Schermopname van de pagina met gedetailleerde metrische resultaten.

  3. Selecteer de naam van de evaluatie die de tweede is voltooid (evaluation_contoso-evaluate-from-flow_variant_0) om de metrische evaluatiegegevens te bekijken: Groundedness, Relevantie en Ophaalscore.

    Schermopname van de gemiddelde scores voor metrische gegevens.

Zie evaluatieresultaten weergeven voor meer informatie.

De stroom implementeren

Nu u een stroom hebt gemaakt en een evaluatie op basis van metrische gegevens hebt voltooid, is het tijd om uw online-eindpunt te maken voor realtime deductie. Dit betekent dat u de geïmplementeerde stroom kunt gebruiken om vragen in realtime te beantwoorden.

Volg deze stappen om een promptstroom te implementeren als een online-eindpunt vanuit Azure AI Studio.

  1. Een promptstroom gereed hebben voor implementatie. Als u er geen hebt, raadpleegt u hoe u een promptstroom maakt.

  2. Optioneel: selecteer Chat om te testen of de stroom correct werkt. Het testen van uw stroom voordat de implementatie wordt aanbevolen.

  3. Selecteer Implementeren in de stroomeditor.

    Schermopname van de knop Implementeren vanuit een promptstroomeditor.

  4. Geef de gevraagde informatie op op de pagina Basic Instellingen in de implementatiewizard.

    Schermopname van de pagina Basisinstellingen in de implementatiewizard.

  5. Selecteer Volgende om door te gaan naar de pagina's met geavanceerde instellingen.

  6. Laat op de pagina Geavanceerde instellingen - Eindpunt de standaardinstellingen staan en selecteer Volgende.

  7. Laat op de pagina Geavanceerde instellingen - Implementatie de standaardinstellingen staan en selecteer Volgende.

  8. Controleer op de pagina Geavanceerde instellingen - Uitvoer en verbindingen of alle uitvoer is geselecteerd onder Opgenomen in eindpuntantwoord.

    Schermopname van de pagina Geavanceerde instellingen in de implementatiewizard.

  9. Selecteer Beoordelen en maken om de instellingen te controleren en de implementatie te maken.

  10. Selecteer Maken om de promptstroom te implementeren.

    Schermopname van de pagina implementatie-instellingen voor de controlestroom.

Zie voor meer informatie hoe u een stroom implementeert.

De geïmplementeerde stroom gebruiken

Uw copilot-toepassing kan de geïmplementeerde promptstroom gebruiken om vragen in realtime te beantwoorden. U kunt het REST-eindpunt of de SDK gebruiken om de geïmplementeerde stroom te gebruiken.

  1. Als u de status van uw implementatie in Azure AI Studio wilt weergeven, selecteert u Implementaties in het linkernavigatievenster. Zodra de implementatie is gemaakt, kunt u de implementatie selecteren om de details weer te geven.

    Schermopname van de implementatiestatus van de promptstroom die wordt uitgevoerd.

    Notitie

    Als u een bericht ziet met de tekst 'Dit eindpunt heeft momenteel geen implementaties' of als de status nog steeds wordt bijgewerkt, moet u Vernieuwen mogelijk na een paar minuten selecterenom de implementatie te zien.

  2. Optioneel kunt u op de detailpagina het verificatietype wijzigen of bewaking inschakelen.

    Schermopname van de pagina met details van de promptstroomimplementatie.

  3. Selecteer het tabblad Verbruik . U kunt codevoorbeelden en het REST-eindpunt voor uw copilot-toepassing bekijken om de geïmplementeerde stroom te gebruiken.

    Schermopname van het eindpunt van de promptstroomimplementatie en codevoorbeelden.

Resources opschonen

Als u onnodige Azure-kosten wilt voorkomen, moet u de resources verwijderen die u in deze zelfstudie hebt gemaakt als ze niet meer nodig zijn. Als u resources wilt beheren, kunt u Azure Portal gebruiken.

U kunt uw rekenproces ook stoppen of verwijderen in Azure AI Studio.

Demo van de azure AI Studio Enterprise-chatoplossing

In deze end-to-end-video leert u hoe u een retail copilot maakt met behulp van uw gegevens met Azure AI Studio.

Volgende stappen