Kurz: Připojení do vektorové databáze Qdrant ve službě Azure Container Apps (Preview)

Azure Container Apps používá doplňky , které usnadňují připojení k různým cloudovým službám na úrovni vývoje. Místo toho, abyste předem vytvářeli instance služeb pro navázání připojení s komplexním nastavením konfigurace, můžete pomocí doplňku připojit aplikaci kontejneru k databázi, jako je Qdrant.

Úplný seznam podporovaných služeb najdete v tématu Připojení ke službám v Azure Container Apps.

Ukázková aplikace nasazená v tomto kurzu umožňuje rozhraní s modulem doporučení hudby založeným na databázi vektorů Qdrant. Image kontejneru hostuje poznámkový blok Jupyter, který obsahuje kód, který můžete spouštět v databázi, aby:

  • Rozhraní s daty skladby
  • Generování vkládání pro každou skladbu
  • Zobrazení doporučení skladby

Po nasazení máte možnost spustit kód v poznámkovém bloku Jupyter pro rozhraní s daty skladby v databázi.

Screenshot of the Jupyter Notebook deployed in the container image.

V tomto kurzu:

  • Vytvoření aplikace typu kontejner
  • Připojení k databázi Qdrant pomocí doplňku Container Apps
  • Interakce s poznámkovým blokem Jupyter k prozkoumání dat

Důležité

V tomto kurzu se používají služby, které můžou ovlivnit fakturu za Azure. Pokud se rozhodnete postupovat podle podrobných pokynů, nezapomeňte deaktivovat nebo odstranit prostředky doporučené v tomto článku, abyste se vyhnuli neočekávané fakturaci.

Předpoklady

K dokončení tohoto projektu potřebujete následující položky:

Požadavek Pokyny
Účet Azure Pokud ho nemáte, vytvořte si účet zdarma. K pokračování potřebujete oprávnění přispěvatele nebo vlastníka předplatného Azure.

Podrobnosti najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal .
Azure CLI Nainstalujte rozhraní příkazového řádku Azure CLI.

Nastavení

Než začnete pracovat s databází Qdrant, musíte nejprve vytvořit aplikaci kontejneru a požadované prostředky.

Spuštěním následujících příkazů vytvořte skupinu prostředků, prostředí kontejnerových aplikací a profil úloh.

  1. Nastavte název aplikace a proměnné skupiny prostředků. Tyto hodnoty můžete změnit podle svých preferencí.

    export APP_NAME=music-recommendations-demo-app
    export RESOURCE_GROUP=playground
    
  2. Vytvořte proměnné pro podporu konfigurace aplikace. Tyto hodnoty jsou k dispozici pro účely této lekce. Tyto hodnoty neměňte.

    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
    
    Proměnná Popis
    SERVICE_NAME Název služby doplňku vytvořené pro vaši aplikaci kontejneru V tomto případě vytvoříte instanci Qdrant databáze na úrovni vývoje.
    LOCATION Umístění oblasti Azure, kde vytvoříte aplikaci kontejneru a doplněk.
    ENVIRONMENT Název prostředí Azure Container Apps pro vaši ukázkovou aplikaci.
    WORKLOAD_PROFILE_TYPE Typ profilu úlohy používaný pro vaši aplikaci kontejneru. Tento příklad používá profil úlohy pro obecné účely s 32 jádry 128 GiB paměti.
    CPU_SIZE Přidělená velikost procesoru.
    MEMORY_SIZE Přidělené množství paměti.
    IMAGE Image kontejneru použitá v tomto kurzu. Tato image kontejneru obsahuje poznámkový blok Jupyter, který umožňuje interakci s daty v databázi Qdrant.
  3. Přihlaste se k Azure pomocí Azure CLI.

    az login
    
  4. Vytvořte skupinu prostředků.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  5. Vytvořte prostředí kontejnerových aplikací.

    az containerapp env create \
      --name $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION \
      --enable-workload-profiles
    
  6. Vytvořte vyhrazený profil úlohy s dostatečným počtem prostředků pro práci s vektorovou databází.

    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
    

Použití doplňku Qdrant

Teď, když máte existující prostředí a profil úlohy, můžete vytvořit aplikaci kontejneru a svázat ji s instancí doplňku Qdrant.

  1. Vytvořte službu doplňku Qdrant.

    az containerapp add-on qdrant create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $SERVICE_NAME
    
  2. Vytvořte aplikaci typu kontejner.

    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
    

    Tento příkaz vrátí plně kvalifikovaný název domény (FQDN) vaší aplikace kontejneru. Zkopírujte toto umístění do textového editoru, protože ho potřebujete v nadcházejícím kroku.

    Nadcházející krok vás vyzve k vyžádání přístupového tokenu pro přihlášení k aplikaci hostované aplikací kontejneru. Po vytvoření aplikace kontejneru počkejte tři až pět minut, než se pokusíte provést požadavek na přístupový token, abyste měli dostatek času na nastavení všech požadovaných prostředků.

  3. Vytvořte vazbu služby doplňku Qdrant k aplikaci kontejneru.

    az containerapp update \
      --name $APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --bind qdrantdb
    

Konfigurace aplikace typu kontejner

Teď, když je vaše aplikace kontejneru spuštěná a připojená k Qdrantu, můžete aplikaci kontejneru nakonfigurovat tak, aby přijímala příchozí požadavky.

  1. Nakonfigurujte nastavení CORS v aplikaci kontejneru.

    az containerapp ingress cors enable \
      --name $APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --allowed-origins "*" \
      --allow-credentials true
    
  2. Jakmile počkáte tři až pět minut, než aplikace dokončí operace nastavení, požádejte o přístupový token pro hostovaný poznámkový blok 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`
    

    Při spuštění tohoto příkazu se token vytiskne do terminálu. Zpráva by měla vypadat jako v následujícím příkladu.

    Your access token is: 348c8aed080b44f3aaab646287624c70aed080b44f
    

    Zkopírujte hodnotu tokenu do textového editoru, abyste se mohli přihlásit k poznámkovému bloku Jupyter.

Použití poznámkového bloku Jupyter

  1. Otevřete webový prohlížeč a vložte adresu URL aplikace kontejneru, kterou jste si v textovém editoru vyhradili.

    Když se stránka načte, zobrazí se vstupní pole pro zadání přístupového tokenu.

  2. Vedle popisku Heslo k tokenu zadejte token do vstupního pole a vyberte Přihlásit se.

    Po ověření budete moct pracovat s kódem a daty v poznámkovém bloku Jupyter.

    Screenshot of the deployed Jupyter Notebook in the container image.

    Po spuštění poznámkového bloku postupujte podle pokynů pro interakci s kódem a daty.

Vyčištění prostředků

Prostředky vytvořené v tomto kurzu mají vliv na fakturu za Azure. Pokud tyto služby nebudete používat dlouhodobě, spuštěním následujícího příkazu odeberte vše vytvořené v tomto kurzu.

az group delete \
  --resource-group $RESOURCE_GROUP

Další kroky