Samouczek: tworzenie i wdrażanie pytania i odpowiadanie na nie za pomocą przepływu monitów w usłudze Azure AI Studio

Uwaga

Usługa Azure AI Studio jest obecnie dostępna w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

W tym samouczku dotyczącym usługi Azure AI Studio użyjesz generowania sztucznej inteligencji i przepływu monitu do tworzenia, konfigurowania i wdrażania copilot dla firmy zajmującej się sprzedażą detaliczną o nazwie Contoso. Twoja firma detaliczna specjalizuje się w sprzęcie kempingowym na świeżym powietrzu i odzieży.

Copilot powinien odpowiedzieć na pytania dotyczące Twoich produktów i usług. Powinna również odpowiedzieć na pytania dotyczące klientów. Na przykład copilot może odpowiedzieć na pytania, takie jak "Ile kosztuje buty turystyczne TrailWalker?" i "Ile butów turystycznych TrailWalker kupił Daniel Wilson?".

Kroki opisane w tym samouczku są następujące:

  1. Tworzenie projektu usługi Azure AI Studio.
  2. Wdróż model usługi Azure OpenAI i porozmawiaj z danymi.
  3. Utwórz przepływ monitu z poziomu placu zabaw.
  4. Dostosowywanie przepływu monitów przy użyciu wielu źródeł danych.
  5. Oceń przepływ przy użyciu zestawu danych oceny pytań i odpowiedzi.
  6. Wdróż przepływ do użycia.

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz bezpłatnie.

  • Dostęp jest udzielany usłudze Azure OpenAI w żądanej subskrypcji platformy Azure.

    Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI, wypełniając formularz pod adresem https://aka.ms/oai/access. Otwórz problem w tym repozytorium, aby skontaktować się z nami, jeśli masz problem.

  • Potrzebujesz zasobu centrum sztucznej inteligencji platformy Azure, a rola użytkownika musi być deweloperem, współautorem lub właścicielem platformy Azure w zasobie centrum AI platformy Azure. Aby uzyskać więcej informacji, zobacz Zasoby centrum sztucznej inteligencji platformy Azure i role sztucznej inteligencji platformy Azure.

  • Twoja subskrypcja musi być poniżej limitu przydziału, aby wdrożyć nowy model w tym samouczku. W przeciwnym razie musisz mieć wdrożony model czatu.

  • Potrzebna jest lokalna kopia danych produktu i klienta. Repozytorium Azure/aistudio-copilot-sample w witrynie GitHub zawiera przykładowe informacje o kliencie detalicznym i produkcie, które są istotne dla tego scenariusza samouczka. Sklonuj repozytorium lub skopiuj pliki z 1-customer-info i 3-product-info.

Tworzenie projektu sztucznej inteligencji platformy Azure w usłudze Azure AI Studio

Projekt sztucznej inteligencji platformy Azure służy do organizowania pracy i zapisywania stanu podczas kompilowania kompilowania. W tym samouczku projekt zawiera dane, środowisko uruchomieniowe przepływu monitów, oceny i inne zasoby. Aby uzyskać więcej informacji na temat projektów i modelu zasobów sztucznej inteligencji platformy Azure, zobacz Zasoby centrum sztucznej inteligencji platformy Azure.

Aby utworzyć projekt usługi Azure AI w usłudze Azure AI Studio, wykonaj następujące kroki:

  1. Wybierz kartę Kompilacja w górnej części strony.

  2. Wybierz pozycję + Nowy projekt sztucznej inteligencji.

    Zrzut ekranu przedstawiający kartę Kompilacja programu Azure AI Studio z opcją utworzenia nowego projektu widocznego.

  3. Wprowadź nazwę dla projektu.

  4. Wybierz zasób centrum AI platformy Azure z listy rozwijanej, aby hostować projekt. Jeśli nie masz jeszcze dostępu do zasobu centrum AI platformy Azure, wybierz pozycję Utwórz nowy zasób.

    Zrzut ekranu przedstawiający stronę szczegółów projektu w oknie dialogowym tworzenia projektu.

    Uwaga

    Aby utworzyć zasób centrum AI platformy Azure, musisz mieć uprawnienia Właściciel lub Współautor w wybranej grupie zasobów. Zaleca się udostępnianie zasobu centrum sztucznej inteligencji platformy Azure zespołowi. Dzięki temu można udostępniać konfiguracje, takie jak połączenia danych ze wszystkimi projektami, oraz centralnie zarządzać ustawieniami zabezpieczeń i wydatków.

  5. Jeśli tworzysz nowy zasób usługi Azure AI Hub, wprowadź nazwę.

  6. Wybierz subskrypcję platformy Azure z listy rozwijanej. Wybierz określoną subskrypcję platformy Azure dla projektu ze względów rozliczeniowych, dostępu lub administracyjnych. Na przykład daje to użytkownikom i jednostkom usługi dostęp na poziomie subskrypcji do projektu.

  7. Pozostaw grupę zasobów jako domyślną, aby utworzyć nową grupę zasobów. Alternatywnie możesz wybrać istniejącą grupę zasobów z listy rozwijanej.

    Napiwek

    Szczególnie w przypadku rozpoczynania pracy zaleca się utworzenie nowej grupy zasobów dla projektu. Dzięki temu można łatwo zarządzać projektem i wszystkimi jego zasobami razem. Podczas tworzenia projektu w grupie zasobów jest tworzonych kilka zasobów, w tym zasób centrum sztucznej inteligencji platformy Azure, rejestr kontenerów i konto magazynu.

  8. Wprowadź lokalizację zasobu centrum sztucznej inteligencji platformy Azure, a następnie wybierz pozycję Dalej. Lokalizacja to region, w którym hostowany jest zasób centrum sztucznej inteligencji platformy Azure. Lokalizacja zasobu centrum sztucznej inteligencji platformy Azure jest również lokalizacją projektu. Dostępność usług sztucznej inteligencji platformy Azure różni się w zależności od regionu. Na przykład niektóre modele mogą nie być dostępne w niektórych regionach.

  9. Wybierz istniejący zasób usługi Azure OpenAI z listy rozwijanej lub utwórz nowy.

    Zrzut ekranu przedstawiający stronę tworzenia zasobu w oknie dialogowym tworzenia projektu.

  10. Na stronie Przeglądanie i kończenie zobaczysz nazwę zasobu usługi Azure OpenAI i inne ustawienia do przejrzenia.

    Zrzut ekranu przedstawiający stronę przeglądu i zakończenia w oknie dialogowym tworzenia projektu.

  11. Przejrzyj szczegóły projektu, a następnie wybierz pozycję Utwórz projekt sztucznej inteligencji. Zobaczysz postęp tworzenia zasobów i projekt jest tworzony po zakończeniu procesu.

    Zrzut ekranu przedstawiający postęp tworzenia zasobów w oknie dialogowym tworzenia projektu.

Po utworzeniu projektu można uzyskać dostęp do zasobów ustawień projektu Narzędzia, Składniki i Sztuczna inteligencja w panelu nawigacyjnym po lewej stronie. W przypadku projektu, który korzysta z centrum azure AI z obsługą usługi Azure OpenAI, zobacz opcję nawigacji Plac zabaw w obszarze Narzędzia.

Wdrażanie modelu czatu

Wykonaj następujące kroki, aby wdrożyć model czatu usługi Azure OpenAI dla twojego narzędzia copilot.

  1. Zaloguj się do usługi Azure AI Studio przy użyciu poświadczeń, które mają dostęp do zasobu usługi Azure OpenAI. Podczas lub po przepływie pracy logowania wybierz odpowiedni katalog, subskrypcję platformy Azure i zasób usługi Azure OpenAI. Na stronie głównej usługi Azure AI Studio powinna znajdować się strona główna .

  2. Wybierz pozycję Kompiluj z górnego menu, a następnie wybierz pozycję Wdrożenia>Utwórz>punkt końcowy czasu rzeczywistego.

    Zrzut ekranu przedstawiający stronę wdrożeń z przyciskiem umożliwiającym utworzenie nowego projektu.

  3. Na stronie Wybieranie modelu wybierz model, który chcesz wdrożyć z listy modeli. Na przykład wybierz pozycję gpt-35-turbo-16k. Następnie wybierz pozycję Potwierdź.

    Zrzut ekranu przedstawiający stronę wyboru modelu.

  4. Na stronie Wdrażanie modelu wprowadź nazwę wdrożenia, a następnie wybierz pozycję Wdróż. Po utworzeniu wdrożenia zostanie wyświetlona strona szczegółów wdrożenia. Szczegóły obejmują datę utworzenia wdrożenia oraz datę utworzenia i wersję wdrożonego modelu.

  5. Na stronie szczegółów wdrożenia z poprzedniego kroku wybierz pozycję Otwórz na placu zabaw.

    Zrzut ekranu przedstawiający szczegóły wdrożenia czatu GPT.

Aby uzyskać więcej informacji na temat wdrażania modeli, zobacz jak wdrażać modele.

Czat na placu zabaw bez danych

Na placu zabaw dla usługi Azure AI Studio możesz zobaczyć, jak model reaguje na dane i bez tych danych. W tej sekcji przetestujesz model bez danych. W następnej sekcji dodasz dane do modelu, aby lepiej odpowiedzieć na pytania dotyczące produktów.

  1. Na placu zabaw upewnij się, że na liście rozwijanej Tryb wybrano opcję Czat. Wybierz wdrożony model czatu GPT z listy rozwijanej Wdrożenie .

    Zrzut ekranu przedstawiający plac zabaw czatu z wybranym trybem czatu i modelem.

  2. W oknie tekstowym Komunikat systemowy w okienku Konfiguracja Asystenta podaj ten monit, aby pokierować asystentem: "Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji". Możesz dostosować monit o scenariusz. Aby uzyskać więcej informacji, zobacz przykłady monitów.

  3. Wybierz pozycję Zastosuj zmiany , aby zapisać zmiany, a po wyświetleniu monitu o sprawdzenie, czy chcesz zaktualizować komunikat systemowy, wybierz pozycję Kontynuuj.

  4. W okienku sesji czatu wprowadź następujące pytanie: "Ile kosztuje buty turystyczne TrailWalker", a następnie wybierz ikonę strzałki w prawo, która ma być wysyłana.

    Zrzut ekranu przedstawiający pierwsze pytanie czatu bez uziemienia danych.

  5. Asystent odpowiada, że nie zna odpowiedzi. Model nie ma dostępu do informacji o produkcie na temat butów turystycznych TrailWalker.

    Zrzut ekranu przedstawiający odpowiedź asystenta bez uziemienia danych.

W następnej sekcji dodasz dane do modelu, aby ułatwić uzyskanie odpowiedzi na pytania dotyczące produktów.

Dodaj dane i spróbuj ponownie użyć modelu czatu

Potrzebna jest lokalna kopia przykładowych informacji o produkcie. Aby uzyskać więcej informacji i linki do przykładowych danych, zobacz wymagania wstępne.

Możesz przekazać pliki danych lokalnych do usługi Azure Blob Storage i utworzyć indeks usługi Azure AI Search. Źródło danych służy do uziemienia modelu z określonymi danymi. Uziemienie oznacza, że model używa danych, aby ułatwić zrozumienie kontekstu pytania. Nie zmieniasz samego wdrożonego modelu. Dane są przechowywane oddzielnie i bezpiecznie w ramach subskrypcji platformy Azure. Aby uzyskać więcej informacji, zobacz Azure OpenAI on your data (Azure OpenAI on your data).

Wykonaj następujące kroki, aby dodać dane do placu zabaw, aby ułatwić asystentowi udzielenie odpowiedzi na pytania dotyczące produktów.

  1. Jeśli jeszcze nie jesteś na placu zabaw usługi Azure AI Studio, wybierz pozycję Kompiluj z górnego menu, a następnie wybierz pozycję Plac zabaw z zwijanego menu po lewej stronie.

  2. W okienku Konfiguracja Asystenta wybierz pozycję Dodaj dane (wersja zapoznawcza)>+ Dodaj źródło danych.

    Zrzut ekranu przedstawiający plac zabaw czatu z opcją dodania widocznego źródła danych.

  3. Na wyświetlonej stronie Źródło danych wybierz pozycję Przekaż pliki z listy rozwijanej Wybierz źródło danych.

    Zrzut ekranu przedstawiający opcje wyboru źródła danych produktu.

    Napiwek

    Aby uzyskać informacje o opcjach źródła danych i obsługiwanych typach plików i formatach, zobacz Azure OpenAI on your data(Usługa Azure OpenAI w danych).

  4. Wprowadź informacje o produkcie jako nazwę indeksu informacji o produkcie.

    Zrzut ekranu przedstawiający zasoby i informacje wymagane do przekazania plików.

  5. Wybierz lub utwórz zasób usługi Azure AI Search o nazwie contoso-outdoor-search i wybierz potwierdzenie, które powoduje naliczenie użycia na twoim koncie.

    Uwaga

    W dalszej części tego samouczka użyjesz indeksu product-info i zasobu contoso-outdoor-search usługi Azure AI Search. Jeśli wprowadzone nazwy różnią się od podanych tutaj nazw, pamiętaj, aby użyć nazw wprowadzonych w pozostałej części samouczka.

  6. Wybierz subskrypcję platformy Azure zawierającą zasób azure OpenAI, którego chcesz użyć. Następnie kliknij przycisk Dalej.

  7. Na stronie Przekazywanie plików wybierz pozycję Przeglądaj dla pliku i wybierz pliki, które chcesz przekazać. Wybierz pobrane lub utworzone wcześniej pliki informacji o produkcie. Zapoznaj się z wymaganiami wstępnymi. Jeśli chcesz przekazać więcej niż jeden plik, zrób to teraz. Nie można dodać więcej plików w dalszej części tej samej sesji placu zabaw.

  8. Wybierz pozycję Przekaż , aby przekazać plik na konto usługi Azure Blob Storage. Następnie wybierz pozycję Dalej w dolnej części strony.

    Zrzut ekranu przedstawiający okno dialogowe wybierania i przekazywania plików.

  9. Na stronie Zarządzanie danymi w obszarze Typ wyszukiwania wybierz pozycję Słowo kluczowe. To ustawienie pomaga określić, jak model odpowiada na żądania. Następnie wybierz Dalej.

    Uwaga

    Jeśli dodano wyszukiwanie wektorów na stronie Wybieranie lub dodawanie źródła danych, więcej opcji będzie dostępnych tutaj w celu uzyskania dodatkowych kosztów. Aby uzyskać więcej informacji, zobacz Azure OpenAI on your data (Azure OpenAI on your data).

  10. Przejrzyj wprowadzone szczegóły, a następnie wybierz pozycję Zapisz i zamknij. Teraz możesz porozmawiać z modelem i używać informacji z danych do konstruowania odpowiedzi.

    Zrzut ekranu przedstawiający stronę przeglądu i zakończenia dodawania danych.

  11. Teraz w okienku Konfiguracja Asystenta widać, że pozyskiwanie danych jest w toku. Przed kontynuowaniem poczekaj, aż zostanie wyświetlona nazwa źródła danych i indeksu zamiast stanu.

    Zrzut ekranu przedstawiający plac zabaw czatu ze stanem pozyskiwania danych w widoku.

  12. Teraz możesz porozmawiać z modelem, zadając to samo pytanie, co wcześniej ("Ile kosztuje buty turystyczne TrailWalker"), a tym razem używa informacji z danych do konstruowania odpowiedzi. Możesz rozwinąć przycisk odwołania , aby wyświetlić dane, które zostały użyte.

    Zrzut ekranu przedstawiający odpowiedź asystenta z danymi uziemienia.

Tworzenie zasobów obliczeniowych i środowiska uruchomieniowego wymaganych do przepływu monitów

Przepływ monitu służy do optymalizowania wiadomości wysyłanych do modelu czatu copilot. Przepływ monitów wymaga wystąpienia obliczeniowego i środowiska uruchomieniowego. Jeśli masz już wystąpienie obliczeniowe i środowisko uruchomieniowe, możesz pominąć tę sekcję i pozostać na placu zabaw.

Aby utworzyć wystąpienie obliczeniowe i środowisko uruchomieniowe, wykonaj następujące kroki:

  1. Jeśli nie masz wystąpienia obliczeniowego, możesz go utworzyć w usłudze Azure AI Studio.
  2. Następnie utwórz środowisko uruchomieniowe, wykonując kroki tworzenia środowiska uruchomieniowego.

Aby ukończyć resztę samouczka, upewnij się, że środowisko uruchomieniowe ma stan Uruchomione. Może być konieczne wybranie pozycji Odśwież , aby wyświetlić zaktualizowany stan.

Ważne

Opłaty są naliczane za wystąpienia obliczeniowe podczas ich działania. Aby uniknąć ponoszenia niepotrzebnych kosztów platformy Azure, wstrzymaj wystąpienie obliczeniowe, gdy nie pracujesz aktywnie w przepływie monitów. Aby uzyskać więcej informacji, zobacz jak uruchomić i zatrzymać obliczenia.

Tworzenie przepływu monitu z poziomu placu zabaw

Teraz, gdy wdrożony model czatu działa na placu zabaw z danymi, możesz wdrożyć swój copilot jako aplikację internetową z placu zabaw.

Ale możesz zapytać: "Jak mogę jeszcze bardziej dostosować ten copilot?" Możesz dodać wiele źródeł danych, porównać różne monity lub wydajność wielu modeli. Przepływ monitu służy jako wykonywalny przepływ pracy, który usprawnia opracowywanie aplikacji sztucznej inteligencji opartej na usłudze LLM. Zapewnia kompleksową strukturę do zarządzania przepływem danych i przetwarzaniem w aplikacji.

W tej sekcji dowiesz się, jak przejść do przepływu monitu z placu zabaw. Wyeksportujesz środowisko czatu na placu zabaw, w tym połączenia z dodanymi danymi. W dalszej części tego samouczka ocenisz przepływ, a następnie wdrożysz przepływ do użycia.

Uwaga

Zmiany wprowadzone w przepływie monitów nie są stosowane wstecz w celu zaktualizowania środowiska zabaw.

Przepływ monitu można utworzyć na placu zabaw, wykonując następujące kroki:

  1. Jeśli jeszcze nie jesteś na placu zabaw usługi Azure AI Studio, wybierz pozycję Kompiluj z górnego menu, a następnie wybierz pozycję Plac zabaw z zwijanego menu po lewej stronie.

  2. Wybierz pozycję Otwórz w przepływie monitów z menu powyżej okienka Sesja czatu.

  3. Wprowadź nazwę folderu dla przepływu monitu. Następnie wybierz pozycję Otwórz. Usługa Azure AI Studio eksportuje środowisko czatu na placu zabaw, w tym połączenia z danymi w celu wyświetlenia monitu o przepływ.

    Zrzut ekranu przedstawiający okno dialogowe otwierania w przepływie monitu.

W ramach przepływu węzły są etapem centralnym, reprezentując określone narzędzia z unikatowymi możliwościami. Te węzły obsługują przetwarzanie danych, wykonywanie zadań i operacje algorytmiczne z danymi wejściowymi i wyjściowymi. Łącząc węzły, należy ustanowić bezproblemowy łańcuch operacji, który prowadzi przepływ danych przez aplikację. Aby uzyskać więcej informacji, zobacz narzędzia przepływu monitów.

Aby ułatwić konfigurację węzła i dostrajanie, wizualna reprezentacja struktury przepływu pracy jest dostarczana za pomocą grafu DAG (skierowanego grafu Acyklicznego). Ten wykres przedstawia łączność i zależności między węzłami, zapewniając jasny przegląd całego przepływu pracy. Węzły na wykresie pokazanym tutaj są reprezentatywne dla środowiska czatu na placu zabaw wyeksportowanego w celu wyświetlenia monitu o przepływ.

Zrzut ekranu przedstawiający domyślny wykres wyeksportowany z placu zabaw w celu wyświetlenia monitu o przepływ.

Węzły można dodawać, aktualizować, rozmieszczać lub usuwać. Węzły w przepływie w tym momencie obejmują:

  • DeterminIntent: ten węzeł określa intencję zapytania użytkownika. Używa monitu systemowego do określenia intencji. Możesz edytować monit systemowy, aby dostarczyć przykłady kilku strzałów specyficznych dla scenariusza.
  • ExtractIntent: ten węzeł formatuje dane wyjściowe węzła DeterminIntent i wysyła go do węzła RetrieveDocuments .
  • RetrieveDocuments: ten węzeł wyszukuje najważniejsze dokumenty związane z zapytaniem. Ten węzeł używa typu wyszukiwania i wszystkich wstępnie skonfigurowanych parametrów na placu zabaw.
  • FormatRetrievedDocuments: ten węzeł formatuje dane wyjściowe węzła RetrieveDocuments i wysyła go do węzła DeterminReply .
  • DeterminReply: ten węzeł zawiera obszerny monit systemowy, który prosi moduł LLM o udzielenie odpowiedzi tylko przy użyciu pobranych dokumentów. Istnieją dwa dane wejściowe:
    • Węzeł RetrieveDocuments zawiera najważniejsze pobrane dokumenty.
    • Węzeł FormatConversation zawiera sformatowaną historię konwersacji, w tym najnowsze zapytanie.

Węzeł FormatReply formatuje dane wyjściowe węzła DeterminReply .

W przepływie monitu powinny być również widoczne następujące elementy:

  • Zapisz: w dowolnym momencie możesz zapisać przepływ monitu, wybierając pozycję Zapisz z górnego menu. Pamiętaj, aby okresowo zapisywać przepływ monitów podczas wprowadzania zmian w tym samouczku.

  • Środowisko uruchomieniowe: środowisko uruchomieniowe utworzone wcześniej w tym samouczku. Środowiska uruchomieniowe i wystąpienia obliczeniowe można uruchamiać i zatrzymywać za pomocą ustawień projektu sztucznej inteligencji w menu po lewej stronie. Aby pracować w przepływie monitów, upewnij się, że środowisko uruchomieniowe ma stan Uruchomione.

    Zrzut ekranu przedstawiający edytor przepływu monitów i otaczające menu.

  • Narzędzia: możesz wrócić do przepływu monitu w dowolnym momencie, wybierając pozycję Monituj przepływ z menu Narzędzia w menu po lewej stronie. Następnie wybierz utworzony wcześniej folder przepływu monitu (a nie przykładowy przepływ).

    Zrzut ekranu przedstawiający listę przepływów monitów.

Dostosowywanie przepływu monitów przy użyciu wielu źródeł danych

Wcześniej w środowisku zabaw usługi Azure AI Studio dodano dane, aby utworzyć jeden indeks wyszukiwania zawierający dane produktów dla copilot firmy Contoso. Do tej pory użytkownicy mogą tylko zapytać o produkty z pytaniami, takimi jak "Ile kosztuje buty turystyczne TrailWalker?". Ale nie mogą uzyskać odpowiedzi na pytania, takie jak "Ile butów turystycznych TrailWalker kupił Daniel Wilson?" Aby włączyć ten scenariusz, dodamy kolejny indeks z informacjami o klientach do przepływu.

Tworzenie indeksu informacji o kliencie

Potrzebujesz lokalnej kopii przykładowych informacji o kliencie. Aby uzyskać więcej informacji i linki do przykładowych danych, zobacz wymagania wstępne.

Postępuj zgodnie z tymi instrukcjami dotyczącymi tworzenia nowego indeksu:

  1. Wybierz pozycję Indeks z menu po lewej stronie. Następnie wybierz pozycję + Nowy indeks.

    Zrzut ekranu przedstawiający stronę indeksów z przyciskiem umożliwiającym utworzenie nowego indeksu.

    Przejdź do kreatora Tworzenie indeksu.

  2. Na stronie Dane źródłowe wybierz pozycję Przekaż folder z listy rozwijanej Przekazywanie . Wybierz pobrane lub utworzone wcześniej pliki informacji o kliencie. Zapoznaj się z wymaganiami wstępnymi.

    Zrzut ekranu przedstawiający opcje wyboru źródła danych klienta.

  3. Wybierz pozycję Dalej w dolnej części strony.

  4. Wybierz ten sam zasób usługi Azure AI Search (contoso-outdoor-search), który został użyty dla indeksu informacji o produkcie (product-info). Następnie kliknij przycisk Dalej.

    Zrzut ekranu przedstawiający wybrany zasób usługi Azure AI Search.

  5. Wybierz pozycję Hybryda i semantyka (zalecane) dla typu wyszukiwania. Ten typ należy wybrać domyślnie.

  6. Wybierz pozycję Default_AzureOpenAI z listy rozwijanej Zasób usługi Azure OpenAI. Zaznacz pole wyboru, aby potwierdzić, że model osadzania usługi Azure OpenAI zostanie wdrożony, jeśli jeszcze tego nie zrobiono. Następnie kliknij przycisk Dalej.

    Zrzut ekranu przedstawiający opcje typu wyszukiwania indeksu.

    Uwaga

    Model osadzania znajduje się na liście z innymi wdrożeniami modeli na stronie Wdrożenia .

  7. Wprowadź informacje o kliencie jako nazwę indeksu. Następnie kliknij przycisk Dalej.

    Zrzut ekranu przedstawiający opcje nazwy indeksu i maszyny wirtualnej.

  8. Przejrzyj wprowadzone szczegóły i wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający stronę przeglądania i kończenie tworzenia indeksu.

    Uwaga

    W dalszej części tego samouczka użyjesz indeksu customer-info i zasobu contoso-outdoor-search usługi Azure AI Search. Jeśli wprowadzone nazwy różnią się od podanych tutaj nazw, pamiętaj, aby użyć nazw wprowadzonych w pozostałej części samouczka.

  9. Zostanie wyświetlona strona szczegółów indeksu, na której można zobaczyć stan tworzenia indeksu

    Zrzut ekranu przedstawiający szczegóły indeksu informacji o kliencie.

Aby uzyskać więcej informacji na temat tworzenia indeksu, zobacz Tworzenie indeksu.

Dodawanie informacji o kliencie do przepływu

Po zakończeniu tworzenia indeksu wróć do przepływu monitu i wykonaj następujące kroki, aby dodać informacje o kliencie do przepływu:

  1. Wybierz węzeł RetrieveDocuments z grafu i zmień jego nazwę na RetrieveProductInfo. Teraz węzeł pobierania informacji o produkcie można odróżnić od węzła pobierania informacji o kliencie dodanego do przepływu.

    Zrzut ekranu przedstawiający węzeł przepływu monitu na potrzeby pobierania informacji o produkcie.

  2. Wybierz pozycję + Python z górnego menu, aby utworzyć nowy węzeł języka Python używany do pobierania informacji o klientach.

    Zrzut ekranu przedstawiający węzeł przepływu monitu w celu pobierania informacji o kliencie.

  3. Nadaj węzłowi nazwę RetrieveCustomerInfo i wybierz pozycję Dodaj.

  4. Skopiuj i wklej kod języka Python z węzła RetrieveProductInfo do węzła RetrieveCustomerInfo, aby zastąpić cały kod domyślny.

  5. Wybierz przycisk Weryfikuj i przeanalizuj dane wejściowe, aby zweryfikować dane wejściowe dla węzła RetrieveCustomerInfo. Jeśli dane wejściowe są prawidłowe, przepływ monitu analizuje dane wejściowe i tworzy niezbędne zmienne do użycia w kodzie.

    Zrzut ekranu przedstawiający przycisk weryfikowania i analizowania danych wejściowych.

  6. Zmodyfikuj dane wejściowe RetrieveCustomerInfo , które monituje o przeanalizowanie przepływu, aby można było nawiązać połączenie z indeksem informacji o kliencie.

    Zrzut ekranu przedstawiający dane wejściowe do edycji w węźle pobieranie informacji o kliencie.

    Uwaga

    Wykres jest aktualizowany natychmiast po ustawieniu wartości wejściowej zapytań na ExtractIntent.output.search_intents. Na wykresie widać, że element RetrieveCustomerInfo pobiera dane wejściowe z funkcji ExtractIntent.

    W danych wejściowych jest rozróżniana wielkość liter, więc upewnij się, że są dokładnie zgodne z tymi wartościami:

    Nazwisko Typ Wartość
    embeddingModel Połączenie ion Azure OpenAI Default_AzureOpenAI
    embeddingModelName string Brak
    indexName string informacje o kliencie
    Kwerendy string ${ExtractIntent.output.search_intents}
    queryType string Prosty
    wyszukiwanie Połączenie ion Wyszukiwanie poznawcze contoso-outdoor-search
    semanticConfiguration string Brak
    topK int 5
  7. Wybierz pozycję Zapisz w górnym menu, aby zapisać zmiany.

Formatowanie pobranych dokumentów do danych wyjściowych

Teraz, gdy masz informacje o produkcie i kliencie w przepływie monitu, sformatujesz pobrane dokumenty, aby można było z nich korzystać w dużym modelu językowym.

  1. Wybierz węzeł FormatRetrievedDocuments z grafu.

  2. Skopiuj i wklej następujący kod w języku Python, aby zastąpić całą zawartość bloku kodu FormatRetrievedDocuments .

    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. Wybierz przycisk Weryfikuj i przeanalizuj dane wejściowe, aby zweryfikować dane wejściowe dla węzła FormatRetrievedDocuments. Jeśli dane wejściowe są prawidłowe, przepływ monitu analizuje dane wejściowe i tworzy niezbędne zmienne do użycia w kodzie.

  4. Zmodyfikuj dane wejściowe FormatRetrievedDocuments , które monituje o przeanalizowanie przepływu, aby można było wyodrębnić informacje o produkcie i kliencie z węzłów RetrieveProductInfo i RetrieveCustomerInfo .

    Zrzut ekranu przedstawiający dane wejściowe do edycji w węźle pobranych dokumentów.

    W danych wejściowych jest rozróżniana wielkość liter, więc upewnij się, że są dokładnie zgodne z tymi wartościami:

    Nazwisko Typ Wartość
    docs1 obiekt ${RetrieveProductInfo.output}
    docs2 obiekt ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. Wybierz węzeł DeterminReply z grafu.

  6. Ustaw dane wejściowe dokumentacji na ${FormatRetrievedDocuments.output.strResult}.

    Zrzut ekranu przedstawiający edytowanie wartości wejściowej dokumentacji w węźle określania odpowiedzi.

  7. Wybierz węzeł outputs (Dane wyjściowe) z grafu.

  8. Ustaw dane wejściowe fetched_docs na ${FormatRetrievedDocuments.output.combined_docs}.

    Zrzut ekranu przedstawiający edytowanie wartości wejściowej fetched_docs w węźle danych wyjściowych.

  9. Wybierz pozycję Zapisz w górnym menu, aby zapisać zmiany.

Czat w przepływie monitów z informacjami o produkcie i kliencie

Do tej pory masz informacje o produkcie i kliencie w przepływie monitu. Możesz porozmawiać z modelem w przepływie monitu i uzyskać odpowiedzi na pytania, takie jak "Ile butów turystycznych TrailWalker kupił Daniel Wilson?" Przed przejściem do bardziej formalnej oceny możesz opcjonalnie porozmawiać z modelem, aby zobaczyć, jak odpowiada na pytania.

  1. Wybierz pozycję Czat w górnym menu w przepływie monitu, aby spróbować rozmawiać.

  2. Wprowadź "Ile butów turystycznych TrailWalker kupił Daniel Wilson?", a następnie wybierz ikonę strzałki w prawo, aby wysłać.

  3. Odpowiedź jest oczekiwana. Model używa informacji klienta, aby odpowiedzieć na pytanie.

    Zrzut ekranu przedstawiający odpowiedź asystenta z danymi dotyczącymi produktu i klienta.

Ocena przepływu przy użyciu zestawu danych oceny pytań i odpowiedzi

W usłudze Azure AI Studio chcesz ocenić przepływ przed wdrożeniem przepływu do użycia.

W tej sekcji użyjesz wbudowanej oceny, aby ocenić przepływ przy użyciu zestawu danych oceny pytań i odpowiedzi. Wbudowana ocena wykorzystuje metryki wspomagane przez sztuczną inteligencję do oceny przepływu: uziemione, istotność i wynik pobierania. Aby uzyskać więcej informacji, zobacz wbudowane metryki oceny.

Tworzenie oceny

Potrzebujesz zestawu danych oceny pytań i odpowiedzi, który zawiera pytania i odpowiedzi, które są istotne dla danego scenariusza. Utwórz nowy plik lokalnie o nazwie qa-evaluation.jsonl. Skopiuj i wklej następujące pytania i odpowiedzi ("truth") do pliku.

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

Teraz, gdy masz zestaw danych oceny, możesz ocenić przepływ, wykonując następujące kroki:

  1. Wybierz pozycję Oceń>wbudowaną ocenę z górnego menu w przepływie monitów.

    Zrzut ekranu przedstawiający opcję utworzenia wbudowanej oceny na podstawie przepływu monitu.

    Zostanie wyświetlony kreator Tworzenia nowej oceny .

  2. Wprowadź nazwę oceny i wybierz środowisko uruchomieniowe.

  3. Wybierz pozycję Pytania i odpowiedzi pary z generacją rozszerzonej pobierania z opcji scenariusza.

    Zrzut ekranu przedstawiający wybieranie scenariusza oceny.

  4. Wybierz przepływ do oceny. W tym przykładzie wybierz pozycję Contoso outdoor flow lub dowolną nazwę przepływu. Następnie kliknij przycisk Dalej.

  5. Wybierz metryki, których chcesz użyć do oceny przepływu. W tym przykładzie wybierz pozycję Uziemienie, Istotność i Wynik pobierania.

    Zrzut ekranu przedstawiający wybieranie metryk oceny.

  6. Wybierz model, który ma być używany do oceny. W tym przykładzie wybierz pozycję gpt-35-turbo-16k. Następnie wybierz Dalej.

    Uwaga

    Ocena za pomocą metryk wspomaganych przez sztuczną inteligencję wymaga wywołania innego modelu GPT w celu wykonania obliczeń. Aby uzyskać najlepszą wydajność, należy użyć modelu obsługującego co najmniej 16 tys. tokenów, takich jak gpt-4-32k lub gpt-35-turbo-16k. Jeśli nie wdrożono wcześniej takiego modelu, możesz wdrożyć inny model, wykonując kroki opisane w temacie Wdrażanie modelu czatu. Następnie wróć do tego kroku i wybierz wdrożony model.

  7. Wybierz pozycję Dodaj nowy zestaw danych. Następnie kliknij przycisk Dalej.

    Zrzut ekranu przedstawiający opcję użycia nowego lub istniejącego zestawu danych.

  8. Wybierz pozycję Przekaż pliki, przeglądaj pliki i wybierz utworzony wcześniej plik qa-evaluation.jsonl .

    Zrzut ekranu przedstawiający przycisk przekazywania plików zestawu danych.

  9. Po przekazaniu pliku należy zamapować właściwości z pliku (źródła danych) na właściwości oceny. Wprowadź następujące wartości dla każdej właściwości źródła danych:

    Zrzut ekranu przedstawiający mapowanie zestawu danych oceny.

    Nazwa/nazwisko opis Type Źródło danych
    chat_history Historia czatów lista ${data.chat_history}
    query Zapytanie string ${data.question}
    Pytanie Zapytanie szukające określonych informacji string ${data.question}
    Odpowiedź Odpowiedź na pytanie wygenerowane przez model jako odpowiedź string ${run.outputs.reply}
    Dokumentów Ciąg z kontekstu z pobranych dokumentów string ${run.outputs.fetched_docs}
  10. Wybierz Dalej.

  11. Przejrzyj szczegóły oceny, a następnie wybierz pozycję Prześlij.

    Zrzut ekranu przedstawiający stronę przeglądu i zakończenia w oknie dialogowym tworzenia oceny.

    Zostanie wyświetlona strona Oceny metryk.

Wyświetlanie stanu oceny i wyników

Teraz możesz wyświetlić stan oceny i wyniki, wykonując następujące kroki:

  1. Jeśli po utworzeniu oceny nie masz jeszcze pozycji Ocena kompilacji>. Na stronie Oceny metryk możesz zobaczyć stan oceny i wybrane metryki. Może być konieczne wybranie pozycji Odśwież po kilku minutach, aby wyświetlić stan Ukończono .

    Zrzut ekranu przedstawiający stronę oceny metryk.

    Napiwek

    Gdy ocena ma stan Ukończono , nie potrzebujesz środowiska uruchomieniowego ani obliczeń, aby ukończyć resztę tego samouczka. Możesz zatrzymać wystąpienie obliczeniowe, aby uniknąć ponoszenia niepotrzebnych kosztów platformy Azure. Aby uzyskać więcej informacji, zobacz jak uruchomić i zatrzymać obliczenia.

  2. Wybierz nazwę oceny, która została ukończona jako pierwsza (contoso-evaluate-from-flow_variant_0), aby wyświetlić szczegóły oceny z kolumnami zamapowanych wcześniej.

    Zrzut ekranu przedstawiający stronę wyników szczegółowych metryk.

  3. Wybierz nazwę oceny, która zakończyła się w sekundzie (evaluation_contoso-evaluate-from-flow_variant_0), aby wyświetlić metryki oceny: Groundedness, Relevance i Retrieval score (Ocena podstawy, Istotność i Pobieranie).

    Zrzut ekranu przedstawiający średnie wyniki metryk.

Aby uzyskać więcej informacji, zobacz wyświetlanie wyników oceny.

Wdrażanie przepływu

Po utworzeniu przepływu i zakończeniu oceny opartej na metrykach nadszedł czas, aby utworzyć punkt końcowy online na potrzeby wnioskowania w czasie rzeczywistym. Oznacza to, że możesz użyć wdrożonego przepływu, aby odpowiedzieć na pytania w czasie rzeczywistym.

Wykonaj następujące kroki, aby wdrożyć przepływ monitu jako punkt końcowy online z usługi Azure AI Studio.

  1. Przygotuj przepływ monitu do wdrożenia. Jeśli go nie masz, zobacz , jak utworzyć przepływ monitu.

  2. Opcjonalnie: wybierz pozycję Czat , aby przetestować, czy przepływ działa poprawnie. Testowanie przepływu przed wdrożeniem jest zalecane.

  3. Wybierz pozycję Wdróż w edytorze przepływów.

    Zrzut ekranu przedstawiający przycisk wdrażania z poziomu edytora przepływu monitu.

  4. Podaj żądane informacje na stronie Podstawowa Ustawienia w kreatorze wdrażania.

    Zrzut ekranu przedstawiający stronę ustawień podstawowych w kreatorze wdrażania.

  5. Wybierz przycisk Dalej , aby przejść do stron ustawień zaawansowanych.

  6. Na stronie Ustawienia zaawansowane — punkt końcowy pozostaw ustawienia domyślne i wybierz pozycję Dalej.

  7. Na stronie Ustawienia zaawansowane — wdrażanie pozostaw ustawienia domyślne i wybierz pozycję Dalej.

  8. Na stronie Ustawienia zaawansowane — Dane wyjściowe i połączenia upewnij się, że wszystkie dane wyjściowe zostały wybrane w obszarze Uwzględnione w odpowiedzi punktu końcowego.

    Zrzut ekranu przedstawiający stronę ustawień zaawansowanych w kreatorze wdrażania.

  9. Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć ustawienia i utworzyć wdrożenie.

  10. Wybierz pozycję Utwórz , aby wdrożyć przepływ monitu.

    Zrzut ekranu przedstawiający stronę ustawień wdrażania przepływu monitu przeglądu.

Aby uzyskać więcej informacji, zobacz jak wdrożyć przepływ.

Korzystanie z wdrożonego przepływu

Aplikacja copilot może użyć wdrożonego przepływu monitu, aby odpowiedzieć na pytania w czasie rzeczywistym. Możesz użyć punktu końcowego REST lub zestawu SDK, aby użyć wdrożonego przepływu.

  1. Aby wyświetlić stan wdrożenia w usłudze Azure AI Studio, wybierz pozycję Wdrożenia w obszarze nawigacji po lewej stronie. Po pomyślnym utworzeniu wdrożenia możesz wybrać wdrożenie, aby wyświetlić szczegóły.

    Zrzut ekranu przedstawiający stan wdrożenia przepływu monitu w toku.

    Uwaga

    Jeśli zostanie wyświetlony komunikat "Obecnie ten punkt końcowy nie ma wdrożeń" lub stan jest nadal aktualizowany, może być konieczne wybranie pozycji Odśwież po kilku minutach, aby zobaczyć wdrożenie.

  2. Opcjonalnie strona szczegółów umożliwia zmianę typu uwierzytelniania lub włączenie monitorowania.

    Zrzut ekranu przedstawiający stronę szczegółów wdrożenia przepływu monitu.

  3. Wybierz kartę Użycie . Możesz zobaczyć przykłady kodu i punkt końcowy REST dla aplikacji copilot do korzystania z wdrożonego przepływu.

    Zrzut ekranu przedstawiający punkt końcowy wdrożenia przepływu monitu i przykłady kodu.

Czyszczenie zasobów

Aby uniknąć niepotrzebnych kosztów platformy Azure, usuń zasoby utworzone w tym samouczku, jeśli nie są już potrzebne. Aby zarządzać zasobami, możesz użyć witryny Azure Portal.

Możesz również zatrzymać lub usunąć wystąpienie obliczeniowe w usłudze Azure AI Studio.

Pokaz rozwiązania do czatów dla przedsiębiorstw w usłudze Azure AI Studio

Dowiedz się, jak utworzyć kompilator handlu detalicznego przy użyciu danych w usłudze Azure AI Studio, korzystając z tego kompleksowego przewodnika wideo.

Następne kroki