Udostępnij za pośrednictwem


Rozpoczynanie pracy z usługą Azure OpenAI za pomocą asystentów i wywoływania funkcji w języku JavaScript

W tym artykule pokazano, jak wdrożyć i uruchomić bezserwerowy asystent Azure OpenAI Assistant Szybki start. Ten przykład implementuje aplikację asystentów przy użyciu języka JavaScript, asystentów usługi Azure OpenAI z wywoływaniem funkcji i usługą Azure Functions.

Omówienie architektury

Asystenci usługi Azure OpenAI umożliwiają tworzenie asystentów sztucznej inteligencji dostosowanych do potrzeb za pomocą niestandardowych instrukcji i rozszerzonych przez zaawansowane narzędzia, takie jak interpreter kodu i funkcje niestandardowe. W tym artykule przedstawiono szczegółowy przewodnik po rozpoczęciu pracy z interfejsem API Asystentów.

Diagram showing architecture from client to backend app.Diagram przedstawiający architekturę z klienta do aplikacji zaplecza.

Ta aplikacja jest oparta na dwóch głównych składnikach:

  • Prosta strona HTML z waniliowymi plikami CSS i JavaScript oraz hostowana w usłudze Azure Static Web Apps.

  • Bezserwerowy interfejs API utworzony za pomocą usługi Azure Functions i korzystający z zestawu SDK języka JavaScript openAI. Aplikacja bezserwerowa wysyła definicję asystentów, w tym wywołanie funkcji do punktu końcowego openAI. Punkt końcowy odpowiada za pomocą wywołania funkcji kontynuacji i parametrów wymaganych do ukończenia tego wywołania.

    • Wywołanie funkcji przykładu symuluje wywołanie interfejsu API, generując losową wartość znacznika zapasów na podstawie symbolu giełdowego wysłanego do funkcji platformy Azure. Tę symulację można zastąpić zdalnym interfejsem API w rozwiązaniu.

    Diagram showing Azure Functions integration with Azure OpenAI where Azure OpenAI can return follow-up function names which Azure Functions should call.Diagram przedstawiający integrację usługi Azure Functions z usługą Azure OpenAI, w której usługa Azure OpenAI może zwracać nazwy funkcji, które powinny być wywoływane przez usługę Azure Functions.

Wymagania wstępne

Środowisko kontenera deweloperskiego 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:

  1. Subskrypcja platformy Azure — utwórz bezpłatnie
  2. 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.
  3. 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ł.

Usługa GitHub Codespaces uruchamia kontener deweloperski zarządzany przez usługę GitHub za pomocą programu Visual Studio Code dla sieci Web jako interfejsu 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 2 podstawowymi wystąpieniami. Aby uzyskać więcej informacji, zobacz GitHub Codespaces monthly included storage and core hours (Miesięczne miejsca do magazynowania i godzin rdzeni usługi GitHub Codespaces).

  1. Rozpocznij proces tworzenia nowego repozytorium GitHub Codespace main w Azure-Samples/azure-openai-assistant-javascript gałęzi repozytorium GitHub.

  2. Kliknij prawym przyciskiem myszy poniższy przycisk i wybierz pozycję Otwórz link w nowych oknach, aby mieć jednocześnie dostępne środowisko deweloperskie i dokumentację.

    Open in GitHub CodespacesOtwieranie w usłudze GitHub Codespaces

  3. Na stronie Tworzenie przestrzeni kodu przejrzyj ustawienia konfiguracji przestrzeni kodu, a następnie wybierz pozycję Utwórz nową przestrzeń 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 platformy Azure przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure.

    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 platformy 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 pliki kodu i konfiguracji potrzebne do wdrożenia aplikacji funkcji na platformie Azure. W poniższych krokach przedstawiono proces wdrażania przykładu na platformie Azure.

Wdrażanie aplikacji asystentów na platformie Azure

Ważne

Zasoby platformy Azure utworzone w tej sekcji powodują natychmiastowe koszty, głównie z zasobu usługi Azure AI Search. Te zasoby mogą naliczać koszty nawet w przypadku przerwania działania polecenia przed jego pełnym wykonaniem.

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

    azd up
    
  2. Po wyświetleniu monitu o wprowadzenie nazwy środowiska zachowaj krótkie i małe litery. Na przykład myenv. Jest ona używana jako część nazwy grupy zasobów.

  3. Po wyświetleniu monitu wybierz subskrypcję, w ramach których 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ć od 5 do 10 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ę asystenta w przeglądarce.

Korzystanie z aplikacji asystenta

Możesz użyć aplikacji asystenta, aby uzyskać cenę giełdy .MSFT Poniższe kroki przeprowadzą Cię przez proces korzystania z aplikacji asystenta. Asystent może wysłać Ci odpowiedzi w wiadomości e-mail. Ponieważ funkcja wysyłania wiadomości e-mail nie jest skonfigurowana, zmodyfikuj monit, aby nie używać tej instrukcji.

  1. W przeglądarce skopiuj i wklej następujący monit:

    Based on the latest financial data and current stock market trends, can you provide a detailed analysis of Microsoft's current state? Please include insights into their recent performance, market position, and future outlook. Additionally, retrieve and include the latest closing price of Microsoft's stock using its ticker symbol (MSFT). 
    
  2. Wybierz przycisk Run (Uruchom). Wyniki powinny wyglądać podobnie do poniższej odpowiedzi.

    Screenshot of assistant app's first answer.Zrzut ekranu przedstawiający pierwszą odpowiedź aplikacji asystenta.

Czyszczenie zasobów

Czyszczenie zasobów platformy Azure

Zasoby platformy Azure utworzone w tym artykule są rozliczane z subskrypcją platformy 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 dla deweloperów platformy Azure, aby usunąć zasoby platformy Azure i usunąć kod źródłowy:

azd down --purge

Czyszczenie usługi GitHub Codespaces

Usunięcie środowiska Usługi GitHub Codespaces gwarantuje, że możesz zmaksymalizować ilość bezpłatnych godzin na godziny korzystania z konta.

Ważne

Aby uzyskać więcej informacji na temat uprawnień konta usługi GitHub, zobacz Artykuł GitHub Codespaces monthly included storage and core hours (Miesięczne miejsca do magazynowania i godzin rdzeni w usłudze GitHub).

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

  2. Znajdź aktualnie uruchomione środowisko Codespaces pochodzące z Azure-Samples/azure-openai-assistant-javascript repozytorium GitHub.

    Screenshot of all the running Codespaces including their status and templates.Zrzut ekranu przedstawiający wszystkie uruchomione obszary Codespace, w tym ich stan i szablony.

  3. Otwórz menu kontekstowe , ...w obszarze codespace, a następnie wybierz pozycję Usuń.

Uzyskaj pomoc

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

Jeśli wystawione dane nie zostały rozwiązane, zarejestruj problem w problemach z repozytorium.