Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- 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ą:
- Wyszukiwanie AI platformy Azure — indeksuje dokumenty z danych przechowywanych na koncie Azure Storage. Dzięki temu dokumenty można wyszukiwać przy użyciu funkcji wyszukiwania wektorowego.
- Azure OpenAI Service — udostępnia duże modele językowe (LLM) do generowania odpowiedzi. Microsoft Agent Framework jest używany w połączeniu z Azure OpenAI Service do organizowania bardziej złożonych przepływów pracy sztucznej inteligencji.
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
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:
- Subskrypcja Azure — Utwórz ją bezpłatnie
- Azure uprawnienia konta — Twoje konto Azure musi mieć Microsoft.Authorization/roleAssignments/write, takie jak Administrator dostępu użytkownika lub Właściciel.
- konto GitHub
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.
Rozpocznij proces tworzenia nowej przestrzeni kodu GitHub w gałęzi
mainrepozytoriumAzure-Samples/azure-search-openai-demo-csharpGitHub.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.
Na stronie tworzenia przestrzeni kodu przejrzyj ustawienia konfiguracji, a następnie wybierz opcję Utwórz nową przestrzeń kodu:
Poczekaj na uruchomienie przestrzeni kodu. Ten proces uruchamiania może potrwać kilka minut.
W terminalu w dolnej części ekranu zaloguj się do Azure przy użyciu Azure Developer CLI.
azd auth loginSkopiuj kod z terminalu, a następnie wklej go w przeglądarce. Postępuj zgodnie z instrukcjami, aby uwierzytelnić się przy użyciu konta Azure.
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.
Uruchom następujące polecenie interfejsu wiersza polecenia Azure dla deweloperów, aby aprowizować zasoby Azure i wdrożyć kod źródłowy:
azd upPo 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.Po wyświetleniu komunikatu wybierz subskrypcję, w ramach której chcesz utworzyć zasoby.
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.
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ę.
Poczekaj na wdrożenie aplikacji. Ukończenie wdrożenia może potrwać do 20 minut.
Po pomyślnym wdrożeniu aplikacji w terminalu zostanie wyświetlony adres URL.
Wybierz ten adres URL oznaczony
Deploying service webetykietą, aby otworzyć aplikację czatu w przeglądarce.
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.
W przeglądarce przejdź do strony Czat przy użyciu nawigacji po lewej stronie.
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.
W odpowiedzi wybierz cytat. Zostanie otwarte okno podręczne, które wyświetli źródło informacji.
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. 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.
| 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ń.
W przeglądarce wybierz ikonę koła zębatego w prawym górnym rogu strony.
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ń.
Na karcie Ustawienia usuń zaznaczenie opcji Użyj semantycznego rankera do wyszukiwania.
Zadaj to samo pytanie ponownie.
What is my deductible?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.
Zaloguj się do pulpitu nawigacyjnego GitHub Codespaces (https://github.com/codespaces).
Znajdź aktualnie uruchomione przestrzenie kodu pochodzące z repozytorium
Azure-Samples/azure-search-openai-demo-csharpGitHub.
Otwórz menu kontekstowe dla przestrzeni kodu, a następnie wybierz pozycję Usuń.
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
- Pobierz kod źródłowy przykładu użytego w tym artykule
- Zbuduj aplikację czatu z Azure OpenAI najlepsza praktyczna architektura rozwiązania
- Kontrola dostępu w aplikacjach AI generatywnej z Wyszukiwanie AI platformy Azure
- Zbuduj gotowe do użytku korporacyjnego rozwiązanie OpenAI z wykorzystaniem Azure API Management
- Przewyższanie wyszukiwania wektorowego dzięki hybrydowym możliwościom pobierania i klasyfikacji