Udostępnij za pośrednictwem


Rozpocznij korzystanie z przykładu 'Czat korzystając z własnych danych' dla .NET

W tym artykule pokazano, jak wdrożyć i uruchomić Chat przy użyciu własnego przykładu danych dla .NET. Ten przykład implementuje aplikację czatu przy użyciu języka C#, Azure OpenAI Service i Retrieval Rozszerzone generowanie (RAG) w Wyszukiwanie AI platformy Azure w celu uzyskania odpowiedzi na temat świadczeń pracowników w fikcyjnej firmie. Aplikacja czatu korzyści dla pracowników jest wypełniana plikami PDF, w tym podręcznikiem pracownika, dokumentem korzyści i listą ról i oczekiwań firmy.

W tym artykule dowiesz się:

  • Wdróż aplikację czatu na platformę Azure.
  • Uzyskaj odpowiedzi na temat świadczeń pracowników.
  • Zmień ustawienia, aby zmienić zachowanie odpowiedzi.

Po zakończeniu tej procedury rozpocznij modyfikowanie nowego projektu przy użyciu kodu niestandardowego.

Ten artykuł jest częścią kolekcji artykułów, które pokazują, jak utworzyć aplikację do czatu przy użyciu usługi Azure OpenAI i Wyszukiwanie AI platformy Azure.

Inne artykuły w kolekcji obejmują:

Omówienie architektury

W tej przykładowej aplikacji fikcyjna firma o nazwie Contoso Electronics udostępnia pracownikom aplikację czatową, dzięki której mogą zadawać pytania dotyczące korzyści, zasad wewnętrznych oraz opisów stanowisk i ról.

Architektura aplikacji do czatu jest pokazana na poniższym diagramie:

Diagram przedstawiający architekturę z klienta do aplikacji zaplecza.

  • Interfejs użytkownika — interfejs czatu aplikacji jest aplikacją Blazor WebAssembly. Ten interfejs akceptuje zapytania użytkownika, kieruje żądania do zaplecza aplikacji i wyświetla wygenerowane odpowiedzi.
  • Backend — zaplecze aplikacji jest ASP.NET Core minimalny interfejs API. Zaplecze hostuje statyczną aplikację internetową Platformy Blazor i organizuje interakcje między różnymi usługami. Usługi używane w tej aplikacji obejmują:

Koszt

Większość zasobów w tej architekturze używa poziomu cenowego: podstawowego lub zużyciowego. Ceny użycia są oparte na użyciu, co oznacza, że płacisz tylko za to, czego używasz. Aby ukończyć ten artykuł, jest naliczana opłata, ale jest minimalna. Po zakończeniu pracy z artykułem usuń zasoby, aby zatrzymać naliczanie opłat.

Aby uzyskać więcej informacji, zobacz Azure Samples: Cost in the sample repo (Przykłady: koszt w repozytorium przykładowym.

Wymagania wstępne

Środowisko kontenera deweloperskiego jest dostępne ze wszystkimi zależnościami wymaganymi do ukończenia tego artykułu. Kontener deweloperów można uruchomić w usłudze GitHub Codespaces (w przeglądarce) lub lokalnie przy użyciu Visual Studio Code.

Aby postępować zgodnie z tym artykułem, potrzebne są następujące wymagania wstępne:

Otwieranie środowiska projektowego

Rozpocznij teraz od środowiska programistycznego, które ma zainstalowane wszystkie zależności, aby ukończyć ten artykuł.

GitHub Codespaces uruchamia kontener deweloperów zarządzany przez GitHub za pomocą Visual Studio Code dla sieci Web jako interfejsu użytkownika. W przypadku najprostszego środowiska programistycznego użyj GitHub Codespaces, aby mieć wstępnie zainstalowane odpowiednie narzędzia deweloperskie i zależności, aby ukończyć ten artykuł.

Ważne

Wszystkie konta GitHub mogą korzystać z usługi Codespaces przez maksymalnie 60 godzin bezpłatnych każdego miesiąca z 2 podstawowymi wystąpieniami. Aby uzyskać więcej informacji, zobacz miesięczne wliczone w abonament godziny przechowywania i rdzeni GitHub Codespaces.

  1. Rozpocznij proces tworzenia nowej przestrzeni kodu GitHub w gałęzi main repozytorium Azure-Samples/azure-search-openai-demo-csharp GitHub.

  2. Aby jednocześnie udostępnić środowisko programistyczne i dokumentację, kliknij prawym przyciskiem myszy następujący Otwórz w GitHub Codespaces i wybierz przycisk Otwórz link w nowych oknach.

    Otwórz przycisk GitHub Codespaces.

  3. Na stronie tworzenia przestrzeni kodu przejrzyj ustawienia konfiguracji, a następnie wybierz opcję Utwórz nową przestrzeń kodu:

    Zrzut ekranu przedstawiający ekran potwierdzenia przed utworzeniem nowej przestrzeni kodu.

  4. Poczekaj na uruchomienie przestrzeni kodu. Ten proces uruchamiania może potrwać kilka minut.

  5. W terminalu w dolnej części ekranu zaloguj się do Azure przy użyciu Azure Developer CLI.

    azd auth login
    
  6. Skopiuj kod z terminalu, a następnie wklej go w przeglądarce. Postępuj zgodnie z instrukcjami, aby uwierzytelnić się przy użyciu konta Azure.

  7. Pozostałe zadania w tym artykule mają miejsce w kontekście tego kontenera deweloperskiego.

Wdrażanie i uruchamianie

Przykładowe repozytorium zawiera wszystkie niezbędne pliki kodu i konfiguracji potrzebne do wdrożenia aplikacji czatu na Azure. Za pomocą poniższych kroków przedstawiono proces wdrażania próbki na platformę Azure.

Wdrażanie aplikacji do czatu w Azure

Ważne

Azure zasoby utworzone w tej sekcji generują natychmiastowe koszty, głównie z zasobu Wyszukiwanie AI platformy Azure. Te zasoby mogą naliczać koszty, nawet jeśli przerywasz wykonywanie polecenia, zanim zostanie ono w pełni wykonane.

  1. Uruchom następujące polecenie interfejsu wiersza polecenia Azure dla deweloperów, aby aprowizować zasoby Azure i wdrożyć kod źródłowy:

    azd up
    
  2. Po wyświetleniu monitu o wprowadzenie nazwy środowiska, utrzymuj ją krótką i w małych literach. Na przykład myenv. Jest ona używana jako część nazwy grupy zasobów.

  3. Po wyświetleniu komunikatu wybierz subskrypcję, w ramach której chcesz utworzyć zasoby.

  4. Po wyświetleniu monitu o wybranie lokalizacji po raz pierwszy wybierz lokalizację w pobliżu. Ta lokalizacja jest używana dla większości zasobów, w tym hostingu.

  5. Jeśli zostanie wyświetlony monit o lokalizację modelu OpenAI, wybierz lokalizację znajdującą się blisko Ciebie. Jeśli ta sama lokalizacja jest dostępna jako pierwsza lokalizacja, wybierz tę lokalizację.

  6. Poczekaj na wdrożenie aplikacji. Ukończenie wdrożenia może potrwać do 20 minut.

  7. Po pomyślnym wdrożeniu aplikacji w terminalu zostanie wyświetlony adres URL.

  8. Wybierz ten adres URL oznaczony Deploying service web etykietą, aby otworzyć aplikację czatu w przeglądarce.

    Zrzut ekranu przedstawiający aplikację czatu w przeglądarce z kilkoma sugestiami dotyczącymi wprowadzania danych wejściowych na czacie i polem tekstowym czatu w celu wprowadzenia pytania.

Uzyskiwanie odpowiedzi z plików PDF przy użyciu aplikacji do czatu

Aplikacja do czatu jest wstępnie ładowana z informacjami o korzyściach dla pracowników z plików PDF. Możesz użyć aplikacji do czatu, aby zadawać pytania dotyczące korzyści. Poniższe kroki przeprowadzą Cię przez proces korzystania z aplikacji do czatu.

  1. W przeglądarce przejdź do strony Czat przy użyciu nawigacji po lewej stronie.

  2. W polu tekstowym czatu wybierz lub wprowadź "Co jest uwzględnione w planie Northwind Health Plus, który nie jest standardowy?" Odpowiedź jest podobna do poniższej ilustracji.

    Zrzut ekranu przedstawiający pierwszą odpowiedź aplikacji do czatu.

  3. W odpowiedzi wybierz cytat. Zostanie otwarte okno podręczne, które wyświetli źródło informacji.

    Zrzut ekranu przedstawiający pierwszą odpowiedź aplikacji do czatu z wyróżnioną cytatem w czerwonym polu.

  4. Przejdź między kartami w górnej części pola odpowiedzi, aby dowiedzieć się, jak została wygenerowana odpowiedź.

    Karta opis
    Proces myślowy Jest to skrypt interakcji w czacie. Możesz wyświetlić monit systemowy (content) i pytanie użytkownika (content).
    Zawartość pomocnicza Obejmuje to informacje, aby odpowiedzieć na twoje pytanie i materiał źródłowy. Liczba cytatów materiałów źródłowych jest zanotowana w ustawieniach dewelopera. Wartość domyślna to 3.
    Odsyłacz bibliograficzny Spowoduje to wyświetlenie strony źródłowej zawierającej cytat.
  5. Po zakończeniu przejdź z powrotem do karty odpowiedzi.

Zmienianie zachowania odpowiedzi przy użyciu ustawień aplikacji czatu

Inteligencja czatu jest określana przez model OpenAI oraz ustawienia używane do interakcji z modelem.

Zrzut ekranu przedstawiający ustawienia dewelopera czatu.

Ustawienie opis
Zastępowanie szablonu monitu Jest to monit używany do wygenerowania odpowiedzi.
Pobieranie tych wielu wyników wyszukiwania Jest to liczba wyników wyszukiwania, które są używane do generowania odpowiedzi. Na kartach procesu myślowego i zawartości pomocniczej cytowania można zobaczyć te źródła.
Wyklucz kategorię Jest to kategoria dokumentów wykluczonych z wyników wyszukiwania.
Użyj semantycznego rankera do pobierania Jest to funkcja Wyszukiwanie AI platformy Azure która używa uczenia maszynowego do poprawy istotności wyników wyszukiwania.
Tryb pobierania Wektory + tekst oznacza, że wyniki wyszukiwania są oparte na tekście dokumentów i osadzaniu dokumentów. Wektory oznaczają, że wyniki wyszukiwania są oparte na osadzaniu dokumentów. Tekst oznacza, że wyniki wyszukiwania są oparte na tekście dokumentów.
Używanie podsumowań kontekstowych zapytań zamiast całych dokumentów Gdy oba Use semantic ranker i Use query-contextual summaries są zaznaczone, funkcja LLM używa napisów wyodrębnionych z kluczowych fragmentów zamiast wszystkich fragmentów w najwyżej sklasyfikowanych dokumentach.
Sugerowanie pytań dotyczących kontynuacji Niech aplikacja czatu sugeruje pytania uzupełniające na podstawie odpowiedzi.

Poniższe kroki przeprowadzą Cię przez proces zmieniania ustawień.

  1. W przeglądarce wybierz ikonę koła zębatego w prawym górnym rogu strony.

  2. Jeśli to nie jest zaznaczone, zaznacz pole wyboru Zasugeruj pytania dotyczące kontynuacji i zadawaj to samo pytanie ponownie.

    What is included in my Northwind Health Plus plan that is not in standard?
    

    Czat może zwracać sugestie dotyczące kolejnych pytań.

  3. Na karcie Ustawienia usuń zaznaczenie opcji Użyj semantycznego rankera do wyszukiwania.

  4. Zadaj to samo pytanie ponownie.

    What is my deductible?
    
  5. Jaka jest różnica w odpowiedziach?

    Odpowiedź, która użyła klasyfikatora semantycznego, dostarczyła jedną odpowiedź. Odpowiedź bez semantycznego rankingu zwróciła mniej bezpośrednią odpowiedź.

Czyszczenie zasobów

Aby zakończyć, wyczyść użyte zasoby Azure i GitHub CodeSpaces.

Czyszczenie zasobów Azure

Za zasoby Azure utworzone w tym artykule są naliczane opłaty za subskrypcję Azure. Jeśli nie spodziewasz się, że te zasoby będą potrzebne w przyszłości, usuń je, aby uniknąć naliczania dodatkowych opłat.

Uruchom następujące polecenie interfejsu wiersza polecenia Azure dla deweloperów, aby usunąć zasoby Azure i usunąć kod źródłowy:

azd down --purge

Wyczyść GitHub Codespaces

Usunięcie środowiska GitHub Codespaces gwarantuje, że możesz zmaksymalizować ilość bezpłatnych godzin na godziny, które otrzymasz dla twojego konta.

Ważne

Aby uzyskać więcej informacji na temat uprawnień konta GitHub, zobacz GitHub Codespaces miesięczne zawarte godziny zapasowe i rdzeniowe.

  1. Zaloguj się do pulpitu nawigacyjnego GitHub Codespaces (https://github.com/codespaces).

  2. Znajdź aktualnie uruchomione przestrzenie kodu pochodzące z repozytorium Azure-Samples/azure-search-openai-demo-csharp GitHub.

    Zrzut ekranu przedstawiający wszystkie uruchomione przestrzenie kodu, w tym ich stan i szablony.

  3. Otwórz menu kontekstowe dla przestrzeni kodu, a następnie wybierz pozycję Usuń.

    Zrzut ekranu przedstawiający menu kontekstowe dla pojedynczej przestrzeni kodu z wyróżnioną opcją usuwania.

Uzyskaj pomoc

To repozytorium przykładowe oferuje informacje dotyczące rozwiązywania problemów.

Jeśli problem nie został rozwiązany, zgłoś swój problem do sekcji Issues w repozytorium.

Następne kroki