Share via


Sorun giderme rehberi

Bu makalede, istem akışı kullanımıyla ilgili sık sorulan sorular ele alır.

Kod öncelikli bir deneyim için akışı güncelleştirdiğinizde "Paket aracı bulunamadı" hatası olur

Kod öncelikli bir deneyim için akışları güncelleştirdiğinizde, akış Faiss Dizin Arama, Vektör Dizini Arama, Vektör Veritabanı Araması veya İçerik Kasa ty (Metin) araçlarını kullanıyorsa aşağıdaki hata iletisiyle karşılaşabilirsiniz:

Package tool 'embeddingstore.tool.faiss_index_lookup.search' is not found in the current environment.

Sorunu çözmek için iki seçeneğiniz vardır:

  • Seçenek 1

    • İşlem oturumunuzu en son temel görüntü sürümüne güncelleştirin.

    • Ham kod görünümüne geçmek için Ham dosya modu'nu seçin. Ardından flow.dag.yaml dosyasını açın.

      Ham dosya moduna geçmeyi gösteren ekran görüntüsü.

    • Araç adlarını güncelleştirin.

      Araç adının nasıl güncelleştirildiğini gösteren ekran görüntüsü.

      Araç Yeni araç adı
      Faiss Dizin Araması promptflow_vectordb.tool.faiss_index_lookup. FaissIndexLookup.search
      Vektör Dizini Arama promptflow_vectordb.tool.vector_index_lookup. VectorIndexLookup.search
      Vektör Veritabanı Araması promptflow_vectordb.tool.vector_db_lookup. VectorDBLookup.search
      İçerik Güvenliği (Metin) content_safety_text.tools.content_safety_text_tool.analyze_text
    • flow.dag.yaml dosyasını kaydedin.

  • Seçenek 2

    • İşlem oturumunuzu en son temel görüntü sürümüne güncelleştirme
    • Eski aracı kaldırın ve yeni bir aracı yeniden oluşturun.

"Böyle bir dosya veya dizin yok" hatası

İstem akışı, akışın anlık görüntüsünü depolamak için bir dosya paylaşımı depolama alanına dayanır. Dosya paylaşımı depolamada bir sorun varsa aşağıdaki sorunla karşılaşabilirsiniz. Deneyebileceğiniz bazı geçici çözümler şunlardır:

  • Özel depolama hesabı kullanıyorsanız, çalışma alanınızın depolama hesabınıza erişebildiğinden emin olmak için istem akışında ağ yalıtımı bölümüne bakın.

  • Depolama hesabı genel erişim için etkinleştirildiyse, çalışma alanınızda adlı workspaceworkingdirectory bir veri deposu olup olmadığını denetleyin. Bu bir dosya paylaşımı türü olmalıdır.

    Workspaceworkingdirectory öğesini gösteren ekran görüntüsü.

    • Bu veri deponuzu almadıysanız çalışma alanınıza eklemeniz gerekir.
      • adlı code-391ff5ac-6576-460f-ba4d-7e03433c68b6bir dosya paylaşımı oluşturun.
      • adlı workspaceworkingdirectorybir veri deposu oluşturun. Bkz . Veri depoları oluşturma.
    • Veri deponuz workspaceworkingdirectory varsa ancak türü yerine fileshareise blob yeni bir çalışma alanı oluşturun. Çalışma alanı varsayılan depolama hesabı olarak Azure Data Lake Storage 2. Nesil için hiyerarşik ad alanlarını etkinleştirmeyen depolamayı kullanın. Daha fazla bilgi için bkz . Çalışma alanı oluşturma.

Akış eksik

Yazma sayfası eksik bir akışı gösteren ekran görüntüsü.

Bu sorunun olası nedenleri vardır:

  • Depolama hesabınıza genel erişim devre dışı bırakıldıysa, IP'nizi depolama güvenlik duvarına ekleyerek veya depolama hesabına bağlı özel uç noktası olan bir sanal ağ üzerinden erişimi etkinleştirerek erişimi sağlamanız gerekir.

    Depolama hesabında güvenlik duvarı ayarını gösteren ekran görüntüsü.

  • Bazı durumlarda veri deposundaki hesap anahtarı depolama hesabıyla eşitlenmemiştir. Bunu düzeltmek için veri deposu ayrıntı sayfasındaki hesap anahtarını güncelleştirmeyi deneyebilirsiniz.

    Yanlış hesap anahtarına sahip veri depolarını gösteren ekran görüntüsü.

  • AI Studio kullanıyorsanız depolama hesabının, AI Studio'nun depolama hesabına erişmesine izin vermek için CORS'yi ayarlaması gerekir, aksi takdirde akışta eksik sorun olduğunu görürsünüz. Bu sorunu çözmek için depolama hesabına aşağıdaki CORS ayarlarını ekleyebilirsiniz.

    • Depolama hesabı sayfasına gidin, altında öğesini seçin Resource sharing (CORS) ve sekmeye tıklayınFile service.settings
    • İzin verilen kaynaklar: https://mlworkspace.azure.ai,https://ml.azure.com,https://*.ml.azure.com,https://ai.azure.com,https://*.ai.azure.com,https://mlworkspacecanary.azure.ai,https://mlworkspace.azureml-test.net
    • İzin verilen yöntemler: DELETE, GET, HEAD, POST, OPTIONS, PUT

    Yanlış hesap anahtarıyla veri depolarını gösteren ekran görüntüsü.

"XXX adlı modül yok" nedeniyle çalıştırma başarısız oldu

İşlem oturumuyla ilgili bu tür hatalarda gerekli paketler eksiktir. Varsayılan bir ortam kullanıyorsanız işlem oturumunuzun görüntüsünün en son sürümü kullandığından emin olun. Özel bir temel görüntü kullanıyorsanız, docker bağlamınıza gerekli tüm paketleri yüklediğinizden emin olun. Daha fazla bilgi için bkz . İşlem oturumu için temel görüntüyü özelleştirme.

İşlem oturumu tarafından kullanılan sunucusuz örneği nerede bulabilirim?

İşlem oturumu tarafından kullanılan sunucusuz örneği, işlem sayfasının altındaki işlem oturumu listesi sekmesinde görüntüleyebilirsiniz. Sunucusuz örneği yönetme hakkında daha fazla bilgi edinin.

Özel temel görüntü kullanarak işlem oturumu hataları

requirements.txt veya özel temel görüntü ile işlem oturumu başlatma hatası

Kullanılacak requirements.txt işlem oturumu desteği veya görüntüyü özelleştirmek için içinde flow.dag.yaml özel temel görüntü. Paketleri yüklemek için kullanılacak olan yaygın durum için kullanmanızı requirements.txtpip install -r requirements.txt öneririz. Python paketlerinden daha fazla bağımlılığınız varsa, istem akışı temel görüntüsünün üzerinde yeni bir görüntü tabanı oluşturmak için Temel görüntüyü özelleştir'i izlemeniz gerekir. Ardından içinde flow.dag.yamlkullanın. İşlem oturumunda temel görüntüyü belirtme hakkında daha fazla bilgi edinin.

  • İşlem oturumu oluşturmak için rastgele temel görüntü kullanamazsınız, istem akışı tarafından sunulan temel görüntüyü kullanmanız gerekir.
  • temel görüntüye zaten eklediğimiz için ve promptflow-toolsrequirements.txtsürümünü promptflow sabitlemeyin. ve'in eski sürümünü kullanmak promptflowpromptflow-tools beklenmeyen davranışlara neden olabilir.

Daha fazla araştırma için LLM aracında ham girişlerini ve çıkışlarını bulma

komut istemi akışında, başarılı çalıştırma ve çalıştırma ayrıntıları sayfasının akış sayfasında, LLM aracının ham girişlerini ve çıkışlarını çıkış bölümünde bulabilirsiniz. Tam çıkışı görüntülemek için düğmeyi view full output seçin.

LLM düğümünde tam çıkışı görüntülemeyi gösteren ekran görüntüsü.

Trace bölümünde her istek ve LLM aracına verilen yanıt yer alır. LLM modeline gönderilen ham iletiyi ve LLM modelinden gelen ham yanıtı de kontrol edebilirsiniz.

LLM modeline ham istek göndermeyi ve LLM modelinden yanıt göndermeyi gösteren ekran görüntüsü.

Azure OpenAI'den 409 hatası nasıl düzeltilir?

Azure OpenAI'den 409 hatasıyla karşılaşabilirsiniz. Bu, Azure OpenAI hız sınırına ulaştığınız anlamına gelir. LLM düğümünün çıkış bölümünde hata iletisini de kontrol edebilirsiniz. Azure OpenAI hız sınırı hakkında daha fazla bilgi edinin.

Azure OpenAI'den 429 hız sınırı hatası gösteren ekran görüntüsü.

Hangi düğümün en çok zaman aldığını belirleme

  1. İşlem oturumu günlüklerini denetleyin.

  2. Aşağıdaki uyarı günlüğü biçimini bulmayı deneyin:

    {node_name} {duration} saniyedir çalışıyor.

    Örneğin:

    • Olay 1: Python betik düğümü uzun süre çalışır.

      Stüdyo kullanıcı arabiriminde zaman aşımı çalıştırma oturumunu gösteren ekran görüntüsü.

      Bu durumda, bunun uzun bir süre (neredeyse 300 saniye) çalıştığını bulabilirsiniz PythonScriptNode . Ardından sorunun ne olduğunu görmek için düğüm ayrıntılarını de inceleyebilirsiniz.

    • Olay 2: LLM düğümü uzun süre çalışır.

      Stüdyo kullanıcı arabiriminde LLM zaman aşımının neden olduğu zaman aşımı günlüklerini gösteren ekran görüntüsü.

      Bu durumda, iletiyi request canceled günlüklerde bulursanız, bunun nedeni OpenAI API çağrısının çok uzun sürmesi ve zaman aşımı sınırını aşması olabilir.

      OpenAI API zaman aşımına bir ağ sorunu veya daha fazla işlem süresi gerektiren karmaşık bir istek neden olabilir. Daha fazla bilgi için bkz . OpenAI API zaman aşımı.

      Birkaç saniye bekleyin ve isteğinizi yeniden deneyin. Bu eylem genellikle tüm ağ sorunlarını çözer.

      Yeniden deneme işe yaramazsa, gibi gpt-4-32kuzun bir bağlam modeli kullanıp kullanmadığınızı ve için max_tokensbüyük bir değer ayarlayıp ayarlamadığınızı denetleyin. Bu durumda, isteminiz etkileşimli modun üst eşiğinden daha uzun süren uzun bir yanıt oluşturabileceğinden davranış beklenir. Bu durumda, bu modun zaman aşımı ayarı olmadığından denemenizi Bulk test öneririz.

  3. Günlüklerde belirli bir düğüm sorunu olduğunu belirten bir şey bulamazsanız:

    • Günlükleri içeren istem akışı ekibine (promptflow-eng) başvurun. Kök nedeni belirlemeye çalışıyoruz.

"Microsoft.MachineLearningService/workspaces/datastores/read" eylemini gerçekleştirme yetkisi yok

Akışınızda Dizin Arama aracı varsa, akışı dağıtdıktan sonra uç noktanın öbekler ve eklemeler içeren MLIndex yaml dosyasını veya FAISS klasörünü okumak için çalışma alanı veri deposuna erişmesi gerekir. Bu nedenle, bunu yapmak için uç nokta kimliğine el ile izin vermeniz gerekir.

Çalışma alanı kapsamında AzureML Veri Bilimci uç nokta kimliğine veya "MachineLearningService/workspace/datastore/reader" eylemini içeren özel bir rol verebilirsiniz.

Uç nokta kullanılırken yukarı akış isteği zaman aşımı sorunu

Akışı dağıtmak için CLI veya SDK kullanırsanız zaman aşımı hatasıyla karşılaşabilirsiniz. Varsayılan olarak request_timeout_ms 5000'dir. En fazla 5 dakika (300.000 ms) belirtebilirsiniz. Aşağıda, dağıtım yaml dosyasında istek zaman aşımının nasıl belirtileceğini gösteren örnek verilmiştir. Daha fazla bilgi edinmek için bkz . dağıtım şeması.

request_settings:
  request_timeout_ms: 300000

OpenAI API'sinde kimlik doğrulaması hatası oluşuyor

Azure OpenAI anahtarınızı yeniden oluşturur ve istem akışında kullanılan bağlantıyı el ile güncelleştirirseniz" Yetkisiz gibi hatalarla karşılaşabilirsiniz. Erişim belirteci eksik, geçersiz, hedef kitle yanlış veya süresi dolmuş." ifadesi kullanılırken, anahtar yeniden oluşturulmadan önce oluşturulan mevcut bir uç nokta çağrılırken.

Bunun nedeni, uç noktalarda/dağıtımlarda kullanılan bağlantıların otomatik olarak güncelleştirilmeyeceğidir. Dağıtımlardaki anahtar veya gizli diziler için herhangi bir değişiklik, istenmeyen çevrimdışı işlem nedeniyle çevrimiçi üretim dağıtımını etkilemeyi önlemeyi amaçlayan el ile güncelleştirme ile yapılmalıdır.

  • Uç nokta stüdyo kullanıcı arabiriminde dağıtıldıysa, aynı dağıtım adını kullanarak akışı mevcut uç noktaya yeniden dağıtabilirsiniz.
  • Uç nokta SDK veya CLI kullanılarak dağıtıldıysa, dağıtım tanımında sahte bir ortam değişkeni ekleme gibi bazı değişiklikler yapmanız ve ardından dağıtımınızı güncelleştirmek için kullanmanız az ml online-deployment update gerekir.

İstem akışı dağıtımlarındaki güvenlik açığı sorunları

İstem akışı çalışma zamanıyla ilgili güvenlik açıkları için aşağıda, azaltmaya yardımcı olabilecek yaklaşımlar verilmiştir:

  • Akış klasörünüzdeki requirements.txt bağımlılık paketlerini güncelleştirin.
  • Akışınız için özelleştirilmiş temel görüntü kullanıyorsanız, istem akışı çalışma zamanını en son sürüme güncelleştirmeniz ve temel görüntünüzü yeniden oluşturmanız ve ardından akışı yeniden dağıtmanız gerekir.

Yönetilen çevrimiçi dağıtımların diğer güvenlik açıkları için Azure Machine Learning sorunları aylık olarak düzeltir.

"MissingDriverProgram Hatası" veya "İstekte sürücü programı bulunamadı"

Akışınızı dağıtır ve aşağıdaki hatayla karşılaşırsanız, dağıtım ortamıyla ilgili olabilir.

'error': 
{
    'code': 'BadRequest', 
    'message': 'The request is invalid.', 
    'details': 
         {'code': 'MissingDriverProgram', 
          'message': 'Could not find driver program in the request.', 
          'details': [], 
          'additionalInfo': []
         }
}
Could not find driver program in the request

Bu hatayı düzeltmenin iki yolu vardır.

  • (Önerilen) Özel ortam ayrıntı sayfanızda kapsayıcı görüntüsü uri'sini bulabilir ve flow.dag.yaml dosyasında akış temel görüntüsü olarak ayarlayabilirsiniz. Akışı kullanıcı arabiriminde dağıttığınızda Geçerli akış tanımının ortamını kullan'ı seçmeniz gerekir. Arka uç hizmeti, bu temel görüntüyü temel alarak ve requirement.txt dağıtımınız için özelleştirilmiş ortamı oluşturur. Akış tanımında belirtilen ortam hakkında daha fazla bilgi edinin.

    Özel ortam ayrıntı sayfasının ekran görüntüsü.

    Akışın ham yaml dosyasında temel görüntü belirtme işleminin ekran görüntüsü.

  • Özel ortam tanımınıza ekleyerek inference_config bu hatayı düzeltebilirsiniz.

    Aşağıda özelleştirilmiş ortam tanımı örneği verilmiştir.

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
  path: ./image_build
  dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
  liveness_route:
    port: 8080
    path: /health
  readiness_route:
    port: 8080
    path: /health
  scoring_route:
    port: 8080
    path: /score

Model yanıtı çok uzun sürüyor

Bazen dağıtımın yanıt vermenin çok uzun sürdüğünü fark edebilirsiniz. Bunun gerçekleşmesi için çeşitli olası faktörler vardır.

  • Akışta kullanılan model yeterince güçlü değil (örnek: text-ada yerine GPT 3.5 kullanma)
  • Dizin sorgusu iyileştirilmemiş ve çok uzun sürüyor
  • Flow'un işlemek için birçok adımı vardır

Modelin performansını geliştirmek için uç noktayı yukarıda dikkate alınacak noktalara göre iyileştirmeyi göz önünde bulundurun.

Dağıtım şeması getirilemiyor

Uç noktayı dağıttıktan ve uç nokta ayrıntı sayfasındaki Test sekmesinde test etmek istiyorsanız, Test sekmesinde Dağıtım şeması getirilemiyor gösteriliyorsa, bu sorunu azaltmak için aşağıdaki iki yöntemi deneyebilirsiniz:

Uç nokta ayrıntı sayfasındaki Test sekmesinde dağıtım şeması getirilemedi hatasının ekran görüntüsü.

  • Uç nokta kimliğine doğru izni verdiğinden emin olun. Uç nokta kimliğine izin verme hakkında daha fazla bilgi edinin.
  • Bunun nedeni, akışınızı eski bir sürüm çalışma zamanında çalıştırmanız ve ardından akışı dağıtmanız, dağıtımın eski sürümdeki çalışma zamanının ortamını da kullanmanız olabilir. Çalışma zamanını güncelleştirmek için Kullanıcı arabiriminde bir çalışma zamanını güncelleştirme'yi izleyin ve akışı en son çalışma zamanında yeniden çalıştırın ve sonra akışı yeniden dağıtın.

Çalışma alanı gizli dizisini listelemek için erişim reddedildi

"Çalışma alanı gizli dizisini listelemeye erişim reddedildi" gibi bir hatayla karşılaşırsanız uç nokta kimliğine doğru izni verip vermediğinizden emin olun. Uç nokta kimliğine izin verme hakkında daha fazla bilgi edinin.