Samouczek: Połączenie do bazy danych wektorów Qdrant w usłudze Azure Container Apps (wersja zapoznawcza)
Usługa Azure Container Apps używa dodatków , aby ułatwić nawiązywanie połączenia z różnymi usługami w chmurze klasy programistycznej. Zamiast tworzyć wystąpienia usług z wyprzedzeniem w celu nawiązania połączeń ze złożonymi ustawieniami konfiguracji, możesz użyć dodatku, aby połączyć aplikację kontenera z bazą danych, na przykład Qdrant.
Aby uzyskać pełną listę obsługiwanych usług, zobacz Połączenie do usług w usłudze Azure Container Apps.
Przykładowa aplikacja wdrożona w tym samouczku umożliwia interfejs z aparatem rekomendacji muzycznych opartym na bazie danych wektorów Qdrant. Obraz kontenera hostuje notes Jupyter Notebook zawierający kod, który można uruchomić względem bazy danych w celu:
- Interfejs z danymi piosenek
- Generowanie osadzania dla każdej piosenki
- Wyświetlanie zaleceń dotyczących piosenek
Po wdrożeniu możesz uruchomić kod w notesie Jupyter Notebook w celu interfejsu z danymi piosenek w bazie danych.
W tym samouczku wykonasz następujące elementy:
- Tworzenie aplikacji kontenera
- Nawiązywanie połączenia z bazą danych Qdrant za pomocą dodatku Container Apps
- Interakcja z notesem Jupyter Notebook w celu eksplorowania danych
Ważne
W tym samouczku są używane usługi, które mogą mieć wpływ na rachunek za korzystanie z platformy Azure. Jeśli zdecydujesz się wykonać kroki krok po kroku, upewnij się, że zdezaktywujesz lub usuniesz zasoby opisane w tym artykule, aby uniknąć nieoczekiwanych rozliczeń.
Wymagania wstępne
Do ukończenia tego projektu potrzebne są następujące elementy:
Wymaganie | Instrukcje |
---|---|
Konto platformy Azure | Jeśli go nie masz, utwórz bezpłatne konto. Aby kontynuować, musisz mieć uprawnienie Współautor lub Właściciel w subskrypcji platformy Azure. Aby uzyskać szczegółowe informacje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal . |
Interfejs wiersza polecenia platformy Azure | Zainstaluj interfejs wiersza polecenia platformy Azure. |
Ustawienia
Przed rozpoczęciem pracy z bazą danych Qdrant należy najpierw utworzyć aplikację kontenera i wymagane zasoby.
Wykonaj następujące polecenia, aby utworzyć grupę zasobów, środowisko aplikacji kontenerów i profil obciążenia.
Skonfiguruj zmienne nazwy aplikacji i grupy zasobów. Możesz zmienić te wartości na swoje preferencje.
export APP_NAME=music-recommendations-demo-app export RESOURCE_GROUP=playground
Utwórz zmienne do obsługi konfiguracji aplikacji. Te wartości są udostępniane na potrzeby tej lekcji. Nie zmieniaj tych wartości.
export SERVICE_NAME=qdrantdb export LOCATION=southcentralus export ENVIRONMENT=music-recommendations-demo-environment export WORKLOAD_PROFILE_TYPE=D32 export CPU_SIZE=8.0 export MEMORY_SIZE=16.0Gi export IMAGE=simonj.azurecr.io/aca-ephemeral-music-recommendation-image
Zmienna opis SERVICE_NAME
Nazwa usługi dodatku utworzonej dla aplikacji kontenera. W tym przypadku utworzysz wystąpienie klasy programistycznej bazy danych Qdrant. LOCATION
Lokalizacja regionu świadczenia usługi Azure, w której tworzysz aplikację kontenera i dodatek. ENVIRONMENT
Nazwa środowiska usługi Azure Container Apps dla aplikacji demonstracyjnej. WORKLOAD_PROFILE_TYPE
Typ profilu obciążenia używany dla aplikacji kontenera. W tym przykładzie użyto profilu obciążenia ogólnego przeznaczenia z 32 rdzeniami 128 GiB pamięci. CPU_SIZE
Przydzielony rozmiar procesora CPU. MEMORY_SIZE
Przydzielona ilość pamięci. IMAGE
Obraz kontenera używany w tym samouczku. Ten obraz kontenera zawiera notes Jupyter Notebook, który umożliwia interakcję z danymi w bazie danych Qdrant. Zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
az login
Utwórz grupę zasobów.
az group create --name $RESOURCE_GROUP --location $LOCATION
Utwórz środowisko aplikacji kontenera.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --enable-workload-profiles
Utwórz dedykowany profil obciążenia z wystarczającą ilością zasobów do pracy z wektorową bazą danych.
az containerapp env workload-profile add \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --workload-profile-type $WORKLOAD_PROFILE_TYPE \ --workload-profile-name bigProfile \ --min-nodes 0 \ --max-nodes 2
Korzystanie z dodatku Qdrant
Teraz, gdy masz istniejące środowisko i profil obciążenia, możesz utworzyć aplikację kontenera i powiązać ją z wystąpieniem dodatku Qdrant.
Utwórz usługę dodatku Qdrant.
az containerapp add-on qdrant create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $SERVICE_NAME
Utwórz aplikację kontenera.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --workload-profile-name bigProfile \ --cpu $CPU_SIZE \ --memory $MEMORY_SIZE \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --env-vars RESTARTABLE=yes \ --ingress external \ --target-port 8888 \ --transport auto \ --query properties.outputs.fqdn
To polecenie zwraca w pełni kwalifikowaną nazwę domeny (FQDN) aplikacji kontenera. Skopiuj tę lokalizację do edytora tekstów, ponieważ będzie ona potrzebna w następnym kroku.
Nadchodzący krok nakazuje zażądanie tokenu dostępu w celu zalogowania się do aplikacji hostowanej przez aplikację kontenera. Pamiętaj, aby poczekać od trzech do pięciu minut przed podjęciem próby wykonania żądania tokenu dostępu po utworzeniu aplikacji kontenera, aby dać wystarczająco dużo czasu na skonfigurowanie wszystkich wymaganych zasobów.
Powiąż usługę dodatku Qdrant z aplikacją kontenera.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind qdrantdb
Konfigurowanie aplikacji kontenera
Teraz, gdy aplikacja kontenera jest uruchomiona i połączona z usługą Qdrant, możesz skonfigurować aplikację kontenera do akceptowania żądań przychodzących.
Skonfiguruj ustawienia mechanizmu CORS w aplikacji kontenera.
az containerapp ingress cors enable \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --allowed-origins "*" \ --allow-credentials true
Gdy poczekasz od trzech do pięciu minut, aż aplikacja ukończy operacje instalacji, zażądaj tokenu dostępu dla hostowanego notesu Jupyter Notebook.
echo Your access token is: `az containerapp logs show -g $RESOURCE_GROUP --name $APP_NAME --tail 300 | \ grep token | cut -d= -f 2 | cut -d\" -f 1 | uniq`
Po uruchomieniu tego polecenia token zostanie wydrukowany w terminalu. Komunikat powinien wyglądać podobnie do poniższego przykładu.
Your access token is: 348c8aed080b44f3aaab646287624c70aed080b44f
Skopiuj wartość tokenu do edytora tekstów, aby użyć polecenia w celu zalogowania się do notesu Jupyter Notebook.
Korzystanie z notesu Jupyter
Otwórz przeglądarkę internetową i wklej adres URL aplikacji kontenera, którą odłożysz w edytorze tekstów.
Po załadowaniu strony zostanie wyświetlone pole wejściowe w celu wprowadzenia tokenu dostępu.
Obok etykiety Hasło do tokenu wprowadź token w polu wejściowym i wybierz pozycję Zaloguj.
Po uwierzytelnieniu możesz wchodzić w interakcje z kodem i danymi w notesie Jupyter Notebook.
Po uruchomieniu notesu postępuj zgodnie z instrukcjami dotyczącymi interakcji z kodem i danymi.
Czyszczenie zasobów
Zasoby utworzone w tym samouczku mają wpływ na rachunek za platformę Azure. Jeśli nie zamierzasz korzystać z tych usług długoterminowych, uruchom następujące polecenie, aby usunąć wszystkie elementy utworzone w tym samouczku.
az group delete \
--resource-group $RESOURCE_GROUP