Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzenie aplikacji sztucznej inteligencji może być złożone. Dzięki technologiom LangChain.js, Azure Functions i bezserwerowym można uprościć ten proces. Te narzędzia umożliwiają automatyczne zarządzanie infrastrukturą i skalowaniem, co pozwala skupić się na funkcjach czatbotów. Czatbot używa dokumentów przedsiębiorstwa do generowania odpowiedzi sztucznej inteligencji.
Kod zawiera przykładowe dane fikcyjnej firmy. Klienci mogą zadawać pytania dotyczące pomocy technicznej dotyczące produktów firmy. Dane obejmują dokumenty dotyczące warunków świadczenia usług, zasad ochrony prywatności i przewodnika pomocy technicznej firmy.
Uwaga
W tym artykule użyto jednego lub więcej szablonów aplikacji AI jako podstawy przykładów i wskazówek. Szablony aplikacji sztucznej inteligencji zapewniają dobrze utrzymywane, łatwe w wdrażaniu implementacje referencyjne, które pomagają zapewnić wysokiej jakości punkt wyjścia dla aplikacji sztucznej inteligencji.
Omówienie architektury
Aplikacja do czatu
Użytkownik wchodzi w interakcję z aplikacją:
- Interfejs czatu w aplikacji internetowej klienta na potrzeby konwersacji.
- Aplikacja internetowa klienta wysyła zapytanie użytkownika do bezserwerowego interfejsu API za pośrednictwem wywołań HTTP.
- Bezserwerowy interfejs API tworzy łańcuch koordynujący interakcje między usługą Azure AI i usługą Azure AI Search w celu wygenerowania odpowiedzi.
- Pobieranie dokumentu PDF przy użyciu usługi Azure Blob Storage.
- Wygenerowana odpowiedź jest następnie wysyłana z powrotem do aplikacji internetowej i wyświetlana użytkownikowi.
Prosta architektura aplikacji do czatu jest pokazana na poniższym diagramie:
Diagram przedstawiający architekturę z klienta do aplikacji zaplecza.
LangChain.js upraszcza złożoność między usługami
Przepływ interfejsu API jest przydatny do zrozumienia, jak LangChain.js jest pomocny w tym scenariuszu, poprzez abstrakcję interakcji. Punkt końcowy interfejsu API bezserwerowego:
- Odbiera pytanie od użytkownika.
- Tworzy obiekty klienta:
- Usługa Azure OpenAI do osadzania i czatu
- Usługa Azure AI Search dla magazynu wektorów
- Tworzy łańcuch dokumentów z modelem LLM, wiadomościami czatu (systemowymi i od użytkownika) oraz źródłem dokumentu.
- Tworzy łańcuch wyszukiwania z łańcucha dokumentów i magazynu wektorów.
- Przesyła strumieniowo odpowiedzi z łańcucha pobierania.
Praca dewelopera polega na poprawnym skonfigurowaniu usług zależności, takich jak Azure OpenAI i Azure AI Search, i prawidłowe konstruowanie łańcuchów. Podstawowa logika łańcucha umożliwia konstruowanie łańcuchów z wielu różnych usług i konfiguracji, o ile działają one z wymaganiami LangChain.js.
Gdzie znajduje się platforma Azure w tej architekturze?
Ta aplikacja jest wykonana z wielu składników:
Aplikacja internetowa utworzona z pojedynczego składnika czatu zbudowanego za pomocą Lit i hostowana na Azure Static Web Apps. Kod znajduje się w folderze
packages/webapp.Bezserwerowy interfejs API zbudowany za pomocą Azure Functions i LangChain.js do pozyskiwania dokumentów i generowania odpowiedzi na zapytania użytkownika w czacie. Kod znajduje się w folderze
packages/api.Usługa Azure OpenAI do tworzenia osadzeń i generowania odpowiedzi.
Baza danych do przechowywania tekstu wyodrębnionego z dokumentów i wektorów wygenerowanych przez LangChain.js, używając Azure AI Search.
Magazyn plików do przechowywania dokumentów źródłowych z wykorzystaniem usługi Azure Blob Storage.
Wymagania wstępne
Środowisko kontenerowe do tworzenia oprogramowania jest dostępne ze wszystkimi zależnościami wymaganymi do ukończenia tego artykułu. Kontener deweloperski można uruchomić w usłudze GitHub Codespaces (w przeglądarce) lub lokalnie przy użyciu programu Visual Studio Code.
Aby użyć tego artykułu, potrzebne są następujące wymagania wstępne:
- Codespaces (zalecane)
- Visual Studio Code
- Subskrypcja platformy Azure — Utwórz subskrypcję bezpłatnie
- Uprawnienia konta platformy Azure — Twoje konto platformy Azure musi mieć uprawnienia Microsoft.Authorization/roleAssignments/write, takie jak Administrator dostępu użytkowników lub Właściciel.
- Konto usługi GitHub.
Otwieranie środowiska projektowego
Skorzystaj z poniższych instrukcji, aby wdrożyć wstępnie skonfigurowane środowisko programistyczne zawierające wszystkie wymagane zależności, aby ukończyć ten artykuł.
- GitHub Codespaces (zalecane)
- Visual Studio Code
GitHub Codespaces uruchamia kontener deweloperski zarządzany przez GitHub z Visual Studio Code dla sieci Web jako interfejsem użytkownika. W przypadku najprostszego środowiska programistycznego użyj usługi GitHub Codespaces, aby wstępnie zainstalować odpowiednie narzędzia deweloperskie i zależności, aby ukończyć ten artykuł.
Ważne
Wszystkie konta usługi GitHub mogą korzystać z usługi Codespaces przez maksymalnie 60 godzin bezpłatnych każdego miesiąca z dwoma podstawowymi wystąpieniami. Aby uzyskać więcej informacji, zobacz miesięczny limit pamięci i godzin rdzeni usługi GitHub Codespaces.
Otwórz plik w przestrzeni kodu.
Otwórz w GitHub Codespaces
Poczekaj na uruchomienie środowiska kodu. Ten proces uruchamiania może potrwać kilka minut.
W terminalu w dolnej części ekranu zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure.
azd auth loginUkończ proces uwierzytelniania.
Pozostałe zadania w tym artykule mają miejsce w kontekście tego kontenera deweloperskiego.
Wdrażanie i uruchamianie
Przykładowe repozytorium zawiera wszystkie pliki kodu i konfiguracji potrzebne do wdrożenia bezserwerowej aplikacji czatu na platformie Azure. W poniższych krokach przedstawiono proces wdrażania przykładu na platformie Azure.
Wdrażanie aplikacji czatu na platformie Azure
Ważne
Zasoby platformy Azure w tej sekcji natychmiast zaczynają kosztować pieniądze, nawet jeśli zatrzymasz polecenie przed jego zakończeniem.
Aprowizuj zasoby platformy Azure i wdróż kod źródłowy przy użyciu następującego polecenia interfejsu wiersza polecenia dla deweloperów platformy Azure:
azd upOdpowiedz na monity, korzystając z poniższej tabeli.
Monit Odpowiedź Nazwa środowiska Zachowaj krótkie i małe litery. Dodaj swoją nazwę lub alias. Na przykład john-chat. Jest ona używana jako część nazwy grupy zasobów.Subskrypcja Wybierz subskrypcję do tworzenia zasobów. Lokalizacja (na potrzeby hostingu) Wybierz lokalizację w pobliżu z listy. Lokalizacja modelu OpenAI Wybierz lokalizację w pobliżu z listy. 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ć od 5 do 10 minut.
Po pomyślnym wdrożeniu aplikacji w terminalu zostaną wyświetlone dwa adresy URL.
Wybierz adres URL oznaczony
Deploying service webapp, 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 informacjami o wypożyczeniu z katalogu plików PDF. Możesz użyć aplikacji do czatu, aby zadawać pytania dotyczące procesu wypożyczania. Poniższe kroki przeprowadzą Cię przez proces korzystania z aplikacji do czatu.
W przeglądarce wybierz lub wprowadź Jaka jest polityka zwrotów.
Zrzut ekranu przedstawiający pierwsze pytanie i odpowiedź w aplikacji do czatu.
Wybierz pytanie uzupełniające.
Zrzut ekranu przedstawiający sugerowany monit i odpowiedź aplikacji do czatu.
Wybierz cytat w odpowiedzi, aby wyświetlić dokument źródłowy. Usługa Azure Storage dostarcza dokument do przeglądarki. Po zakończeniu przeglądania dokumentu zamknij kartę, aby powrócić do aplikacji czatu.
Czyszczenie zasobów
Czyszczenie zasobów platformy Azure
Platforma Azure rozlicza zasoby utworzone w tym artykule w ramach subskrypcji platformy Azure. Jeśli nie potrzebujesz tych zasobów w przyszłości, usuń je, aby uniknąć dodatkowych opłat.
Usuń zasoby platformy Azure i usuń kod źródłowy za pomocą następującego polecenia interfejsu wiersza polecenia dla deweloperów platformy Azure:
azd down --purge
Czyszczenie usługi GitHub Codespaces
- GitHub Codespaces
- Visual Studio Code
Usuń środowisko GitHub Codespaces, aby zmaksymalizować bezpłatne godziny na rdzeniu.
Ważne
Aby uzyskać więcej informacji na temat uprawnień konta GitHub, zobacz GitHub Codespaces monthly included storage and core hours (Miesięczne miejsce zapasowe i godziny rdzeni).
Zaloguj się do pulpitu nawigacyjnego usługi GitHub Codespaces .
Znajdź aktualnie uruchomione środowiska Codespaces pochodzące z repozytorium GitHub
Azure-Samples/serverless-chat-langchainjs.Zrzut ekranu przedstawiający wszystkie uruchomione obszary Codespace, w tym ich stan i szablony.
Otwórz menu kontekstowe
..., dla przestrzeni kodu, a następnie wybierz Usuń.
Uzyskaj pomoc
To przykładowe repozytorium oferuje informacje dotyczące rozwiązywania problemów.
Jeśli problem nie został rozwiązany, zgłoś go w sekcji problemów w repozytorium.
Powiązana zawartość
- Rozpocznij ocenianie odpowiedzi w aplikacji czatu w JavaScript
- Dowiedz się więcej o sposobie użycia usługi AZD w tym szablonie:

Zrzut ekranu przedstawiający opcję Paleta poleceń, aby ponownie otworzyć bieżący folder w środowisku lokalnym.