Öğretici: Azure Container Apps'te Qdrant vektör veritabanına Bağlan (önizleme)
Azure Container Apps, çeşitli geliştirme sınıfı bulut hizmetlerine bağlanmayı kolaylaştırmak için eklentiler kullanır. Karmaşık yapılandırma ayarlarıyla bağlantı kurmak için önceden hizmet örnekleri oluşturmak yerine, kapsayıcı uygulamanızı Qdrant gibi bir veritabanına bağlamak için bir eklenti kullanabilirsiniz.
Desteklenen hizmetlerin tam listesi için bkz. Azure Container Apps'te hizmetlere Bağlan.
Bu öğreticide dağıtılan örnek uygulama, Qdrant vektör veritabanını temel alan bir müzik öneri altyapısıyla arabirim oluşturmanızı sağlar. Kapsayıcı görüntüsü, veritabanında çalıştırabileceğiniz kodu içeren bir Jupyter Not Defteri barındırır:
- Şarkı verileriyle arabirim
- Her şarkı için eklemeler oluşturma
- Şarkı önerilerini görüntüleme
Dağıtıldıktan sonra, veritabanındaki şarkı verileriyle arabirim oluşturmak için Jupyter Notebook'ta kod çalıştırma fırsatına sahip olursunuz.
Bu öğreticide şunlarız:
- Kapsayıcı uygulaması oluşturma
- Qdrant veritabanına bağlanmak için Container Apps eklentisi kullanma
- Jupyter Notebook ile etkileşim kurarak verileri keşfetme
Önemli
Bu öğreticide Azure faturanızı etkileyebilecek hizmetler kullanılır. Adım adım izlemeye karar verirseniz, beklenmeyen faturalamayı önlemek için bu makalede öne çıkan kaynakları devre dışı bıraktığınıza veya sildiğinizden emin olun.
Ön koşullar
Bu projeyi tamamlamak için aşağıdaki öğeler gerekir:
Gereksinim | Yönergeler |
---|---|
Azure hesabı | Hesabınız yoksa ücretsiz bir hesap oluşturun. Devam etmek için Azure aboneliğinde Katkıda Bulunan veya Sahip iznine sahip olmanız gerekir. Ayrıntılar için Bkz. Azure portalını kullanarak Azure rolleri atama. |
Azure CLI | Azure CLI’yi yükleyin. |
Kurulum
Qdrant veritabanıyla çalışmaya başlamadan önce kapsayıcı uygulamanızı ve gerekli kaynakları oluşturmanız gerekir.
Kaynak grubunuzu, kapsayıcı uygulamaları ortamınızı ve iş yükü profilinizi oluşturmak için aşağıdaki komutları yürütebilirsiniz.
Uygulama adı ve kaynak grubu değişkenlerini ayarlayın. Bu değerleri tercihinize göre değiştirebilirsiniz.
export APP_NAME=music-recommendations-demo-app export RESOURCE_GROUP=playground
Uygulama yapılandırmanızı desteklemek için değişkenler oluşturun. Bu değerler, bu dersin amaçları doğrultusunda size sağlanır. Bu değerleri değiştirmeyin.
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
Değişken Tanım SERVICE_NAME
Kapsayıcı uygulamanız için oluşturulan eklenti hizmetinin adı. Bu durumda, Qdrant veritabanının geliştirme sınıfı bir örneğini oluşturursunuz. LOCATION
Kapsayıcı uygulamanızı ve eklentinizi oluşturduğunuz Azure bölgesi konumu. ENVIRONMENT
Tanıtım uygulamanızın Azure Container Apps ortam adı. WORKLOAD_PROFILE_TYPE
Kapsayıcı uygulamanız için kullanılan iş yükü profili türü. Bu örnek, 32 çekirdek 128 GiB belleğe sahip genel amaçlı bir iş yükü profili kullanır. CPU_SIZE
CPU'nun ayrılmış boyutu. MEMORY_SIZE
Ayrılan bellek miktarı. IMAGE
Bu öğreticide kullanılan kapsayıcı görüntüsü. Bu kapsayıcı görüntüsü, Qdrant veritabanındaki verilerle etkileşim kurmanızı sağlayan Jupyter Not Defteri'ni içerir. Azure CLI ile Azure'da oturum açın.
az login
Kaynak grubu oluşturun.
az group create --name $RESOURCE_GROUP --location $LOCATION
Kapsayıcı uygulamaları ortamınızı oluşturun.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --enable-workload-profiles
Vektör veritabanıyla çalışmak için yeterli kaynakla ayrılmış bir iş yükü profili oluşturun.
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
Qdrant eklentisini kullanma
Artık bir ortamınız ve iş yükü profiliniz olduğuna göre kapsayıcı uygulamanızı oluşturabilir ve bunu Qdrant'ın eklenti örneğine bağlayabilirsiniz.
Qdrant eklenti hizmetini oluşturun.
az containerapp add-on qdrant create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $SERVICE_NAME
Kapsayıcı uygulamasını oluşturun.
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
Bu komut, kapsayıcı uygulamanızın tam etki alanı adını (FQDN) döndürür. Bu konumu, bir metin düzenleyicisine, gelecek bir adımda ihtiyacınız olduğu şekilde kopyalayın.
Yaklaşan bir adım, kapsayıcı uygulaması tarafından barındırılan uygulamada oturum açmak için bir erişim belirteci istemenizi sağlar. Kapsayıcı uygulamasını oluşturduktan sonra erişim belirtecine yönelik isteği yürütmeye çalışmadan önce, gerekli tüm kaynakları ayarlamak için yeterli zaman tanıyacak şekilde üç-beş dakika beklemeyi unutmayın.
Qdrant eklenti hizmetini kapsayıcı uygulamasına bağlayın.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind qdrantdb
Kapsayıcı uygulamasını yapılandırma
Kapsayıcı uygulamanız çalışmaya ve Qdrant'a bağlı olduğuna göre, kapsayıcı uygulamanızı gelen istekleri kabul etmek üzere yapılandırabilirsiniz.
Kapsayıcı uygulamasında CORS ayarlarını yapılandırın.
az containerapp ingress cors enable \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --allowed-origins "*" \ --allow-credentials true
Uygulamanın kurulum işlemlerini tamamlaması için üç-beş dakika bekledikten sonra barındırılan Jupyter Notebook için bir erişim belirteci isteyin.
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`
Bu komutu çalıştırdığınızda belirteciniz terminale yazdırılır. İleti aşağıdaki örnekteki gibi görünmelidir.
Your access token is: 348c8aed080b44f3aaab646287624c70aed080b44f
Jupyter Not Defteri'nde oturum açmak için kullanmak üzere belirteç değerinizi metin düzenleyicinize kopyalayın.
Jupyter Not Defteri'ni kullanma
Bir web tarayıcısı açın ve bir metin düzenleyicisinde ayırdığınız kapsayıcı uygulamanızın URL'sini yapıştırın.
Sayfa yüklendiğinde, erişim belirtecinizi girmeniz için bir giriş kutusu gösterilir.
Belirteç parolası etiketinin yanındaki giriş kutusuna belirtecinizi girin ve Oturum Aç'ı seçin.
Kimlik doğrulaması yaptıktan sonra Jupyter Not Defteri'ndeki kod ve verilerle etkileşim kurabilirsiniz.
Not defteri başlatıldığında, kod ve verilerle etkileşime geçmek için yönergeleri izleyin.
Kaynakları temizleme
Bu öğreticide oluşturulan kaynakların Azure faturanız üzerinde etkisi vardır. Bu hizmetleri uzun süreli kullanmayacaksanız, bu öğreticide oluşturulan her şeyi kaldırmak için aşağıdaki komutu çalıştırın.
az group delete \
--resource-group $RESOURCE_GROUP
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin