Barındırılan aracıda hata ayıklama

Microsoft Foundry için ile azd ai agent aracılar oluştururken, çalıştırırken ve dağıtırken sık karşılaşılan sorunları tanılayın ve düzeltin. Tanılama komutlarıyla başlayın. Ardından kimlik doğrulaması, yerel geliştirme, dağıtım, doğrudan komutlar, günlükler ve yordamlarla ilgili sorunları gidermek için belirti tabanlı bölümleri kullanın.

Prerequisites

  • Başlatılmış bir barındırılan aracı projesi. Bir proje oluşturmak için bkz. Aracı projesini başlatma.
  • azd Foundry uzantıları yüklü. Yükleme adımları için bkz. azd Foundry uzantılarını yükleme.
  • Kimliği doğrulanmış Azure Geliştirici CLI oturumu. Gerekirse komutunu çalıştırın azd auth login .
  • Dağıtım ve günlük kaydı sorunları için, dağıtıma alınmış bir barındırılan aracı. Bir tane dağıtmak için bkz. Barındırılan aracıyı dağıtma.

Tanılama bilgilerini topla

Belirli hataların içine girmeden önce bağlamı toplamak için şu komutları kullanın:

# Check extension version
azd ai agent version

# Verify Azure authentication
azd auth login

# Show current environment configuration
azd env get-values

# View agent details
azd ai agent show

# Show the resolved Foundry project endpoint and where it came from
azd ai project show

# Stream production logs
azd ai agent monitor --follow

Yapılandırılmış bir sağlık raporu için azd ai agent doctor komutunu çalıştırın. Daha fazla bilgi için bkz. Bir projeyi aracı doktorla tanılama.

Çağırma gecikme süresini tanılama

Yavaş bir barındırılan aracı isteğinin süresini platformda mı geçirdiğini, altyapının sağlanmasını mı beklediğini, kapsayıcıyı mı beklediğini yoksa isteğin aracınızda işlenmesi sırasında mı zaman harcandığını belirlemek için gecikme hata ayıklama üstbilgilerini kullanın. Bu başlıklar, SLA veya faturalama ölçümleri değil, tanılama amaçlı sinyallerdir.

x-ms-debug-latency-enabled: true ayarını yaparak her istek için tanılamayı etkinleştirin. İstek bu üst bilgiyi içermiyorsa, yanıt x-ms-debug-latency-* üst bilgilerini içermez.

  1. Barındırılan aracının Responses veya Invocations protokolü isteğine gecikme başlığını ekleyin. Bu örnekte Yanıtlar protokolü kullanılır:

    ENDPOINT="https://{account}.services.ai.azure.com/api/projects/{project}"
    API_VERSION="v1"
    TOKEN=$(az account get-access-token \
      --resource https://ai.azure.com \
      --query accessToken -o tsv)
    AGENT="my-code-agent"
    
    curl --http2 -i -X POST \
      "$ENDPOINT/agents/$AGENT/endpoint/protocols/openai/responses?api-version=$API_VERSION" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -H "x-ms-debug-latency-enabled: true" \
      -d '{"model":"gpt-5.4-mini","input":"Hello, agent!","stream":false}'
    
  2. Yanıt üst bilgilerini inceleyin. Tüm gecikme süresi değerleri tamsayı milisaniyedir:

    Header Meaning
    x-ms-debug-latency-session-start-type İstek tetiklenen oturum başlatma türü: soğuk başlangıç (cold), sıcak başlangıç (warm) veya boşta kalmadan devam edin (resume).
    x-ms-debug-latency-platform-preprocessing-ms Kabul, kimlik doğrulama, oturum sorgulama ve orkestrasyon için platform zamanı. Mikro VM sağlama veya kapsayıcı hazırlığı gecikmelerini içermez. Soğuk, sıcak ve sürdürülen oturum başlangıçları için kullanılabilir.
    x-ms-debug-latency-infra-setup-ms Mikro VM'yi sağlama zamanı. Sıcak istekler için atlanır.
    x-ms-debug-latency-container-readiness-ms micro-VM’nin oluşturulmasından kapsayıcının hazır olduğunu bildirmesine kadar geçen süre. Sıcak istekler için atlanır.
    x-ms-debug-latency-container-response-ms Proxy yönlendirmesinden yanıt üst bilgileri kaydedilene kadar geçen süre. İstek aktarımı, bağlantı kurulumu, aracı işleme, yeniden denemeler ve çıkış ilkesi arabelleğe alma işlemlerini içerir.
    x-ms-debug-latency-response-begin-ms Yanıt üst bilgileri işlenene kadar hizmet kabulünden geçen toplam süre. Bu değer, yanıt gövdesinin ilk baytına ulaşma süresi veya sunucu tarafından gönderilen ilk olaya ulaşma süresi değildir.

    Dört zamanlama bileşeninin toplamı x-ms-debug-latency-response-begin-ms eder. Soğuk veya yeniden başlatılan bir istekte, platform sağlama sürecindeki tüm sınır noktalarını yakalayamazsa altyapı ve hazır olma üst bilgilerini atlar ve bu süreyi platformun ön işleme süresine dahil eder.

  3. Olası gecikme kaynağını belirlemek için oturum başlangıç türünü ve en büyük zamanlama bileşenini kullanın:

    Result Yorum Yapılması gerekenler
    x-ms-debug-latency-session-start-type, cold veya resume’dir ve x-ms-debug-latency-infra-setup-ms yüksektir Platform, mikro VM'yi sağlamak için zaman harcadı. Birkaç soğuk veya sürdürülen isteği karşılaştırın. Gecikme devam ederse, destek isteği için yanıt kimliğini, zaman damgasını ve gecikme süresi üst bilgilerini kaydedin.
    x-ms-debug-latency-session-start-type cold veya resume'dir ve x-ms-debug-latency-container-readiness-ms yüksektir Kapsayıcının başlaması ve hazır duruma geçtiğini bildirmesi uzun sürdü. Başlangıç günlüklerinizde başlatma adımlarını ölçün, hazırlık uç noktası kullanılabilir duruma gelmeden önce çalışmayı azaltın ve mümkün olduğunca uygulama kodunu önceden derleyin.
    x-ms-debug-latency-platform-preprocessing-ms herhangi bir oturum başlatma türü için yüksektir Mikro VM sağlama veya kapsayıcı hazırlığı öncesinde platformda gecikme oluştu. Bir destek isteği oluşturun. Yanıt kimliğini, zaman damgasını, oturum başlangıç türünü ve gecikme süresi üst bilgilerini ekleyin.
    x-ms-debug-latency-container-response-ms, x-ms-debug-latency-first-byte-ms, veya treylerin first_byte_ms değeri yüksek Gecikme, ara sunucu yönlendirmesinin başlamasının ardından meydana geldi. İstek işleyicisini enstrümante edin ve ajan günlüklerini, model çağrılarını, araç çağrılarını, yeniden denemeleri ve çıktı arabelleğe alımını inceleyin.

Kapsayıcı hazır olma süresini azaltma

Kapsayıcı hazır olma değeri, işleminizi başlatmak, uygulamayı yüklemek ve /readiness konumundan HTTP 200 yanıtı almak için gereken süreyi içerir. Yavaş içeri aktarmaları, bağımlılık yüklemesini, ağ çağrılarını ve diğer başlatma çalışmalarını belirlemek için başlangıç günlüklerine zaman damgaları ekleyin.

Bu iyileştirmeleri, tanımladığınız yavaş adımlara uygulayın:

  • Görüntüyü oluştururken bağımlılıkları yükleyin ve kodu derleyin. Kapsayıcı başlangıcında paket yükleme, geri yükleme veya derlemeyi çalıştırmayın.
  • Çok aşamalı derleme kullanın ve derleme araçlarını, paket önbelleklerini, testleri ve diğer geliştirme dosyalarını çalışma zamanı görüntüsünden hariç tutun.
  • Hazır olmadan önce model çağrıları, geçişler, araç bulma ve varlık indirmelerinden kaçının. Önce tamamlanması gereken bağımsız ilklendirme işlemlerini paralelleştirin.
  • /readiness öğesini, temsilcinin istekleri kabul edip edemeyeceğine odaklı tutun. Başlatmayı ertelerseniz, başlangıç gecikmesini istek işlemeye taşımadığınızdan emin olmak için ilk isteği ölçün.

Çalışma zamanı görüntüsüne kopyaladığınız sanal bir ortama bağımlılıkları yükleyin. Üçüncü taraf paketindeki ayrıştırılamaz bir dosyanın derlemede başarısız olmaması için bağımlılıkları en iyi çaba temelinde derleyin. Söz dizimi hatalarının derlemede başarısız olması için uygulamayı kesinlikle derleyin.

FROM python:3.13-slim AS build

WORKDIR /app
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
RUN PYTHONDONTWRITEBYTECODE= python -m compileall -q /opt/venv \
      || true; \
    PYTHONDONTWRITEBYTECODE= python -m compileall -q /app

FROM python:3.13-slim AS final

ENV PATH="/opt/venv/bin:$PATH"
WORKDIR /app

COPY --from=build /opt/venv /opt/venv
COPY --from=build /app /app

# Precompile the standard library in the runtime image.
RUN PYTHONDONTWRITEBYTECODE= python -m compileall -q \
    "$(python -c "import sysconfig; print(sysconfig.get_path('stdlib'))")" \
    || true

CMD ["python", "main.py"]

PYTHONDONTWRITEBYTECODE Bu derleme adımının temizlenmesi, Python bayt kodunu görüntüye yazmasına izin verir. Ortam değişkeni bayt kodu yazmalarını engeller, okumaları engeller, dolayısıyla çalışan kapsayıcı derlenmiş dosyaları kullanmaya devam edebilir.

Referans: compileall - Python kitaplıklarını bayt koduna derlemek

Barındırılan aracıların gerektirdiği x86-64 mimarisi için iki görüntüden herhangi birini oluşturun:

docker build --platform linux/amd64 -t my-agent:latest .

Burada linux/amd64, bir Docker platformudur; .NET çalışma zamanı tanımlayıcısı değildir.

Referans: Barındırılan aracı kapsayıcısı gereksinimleri

Aracının ve modelin gecikme sürelerini inceleyin

Kapsayıcının hazır duruma gelmesi hızlıysa ancak kapsayıcı yanıt süresi veya ilk bayt süresi yüksekse, araştırmanızı iletme başladıktan sonraki istek yolu üzerine yoğunlaştırın. İsteği yeniden oluştururken azd ai agent monitor --follow komutunu çalıştırın ve model çağrıları, araç çağrıları, dış hizmetler, yeniden denemeler ve yanıt serileştirmesi için izleme ekleyin. Daha fazla bilgi için Barındırılan aracı günlüklerini izleme konusuna bakın.

Büyük bir dil modelini çağıran bir aracı için, dağıtımı değiştirmeden önce model gecikme süresini ayrı olarak ölçün. İlk belirtece kadar geçen süreyi, belirteçler arası süreyi, oluşturulan belirteç sayısını, istemin boyutunu, dağıtım kullanım oranını ve kısıtlamayı karşılaştırın. Ardından model seçimini, çıkış belirteci sınırlarını, akışı ve iş yükü ayrımını değerlendirin. Bkz. Azure OpenAI performansını iyileştirme.

Ölçümler öngörülebilir bir iş yükü için sürekli kapasite baskısı gösteriyorsa, sağlanan dağıtımı değerlendirin ve gözlemlenen giriş belirteçleri, çıkış belirteçleri ve istek oranı için boyutlandırın. Bkz . Sağlanan aktarım hızı.

Tamamlanma zamanlamalarını inceleme

HTTP/2 veya sonraki sürümlerde hizmet, en iyi eforlu x-ms-debug-latency-final yanıt fragmanını döndürebilir. Yanıt üst bilgisi değerlerini yineler ve şu alanları ekleyebilir:

Veri Alanı Meaning
first_byte_ms Hizmetin kabul edilmesinden yanıt gövdesinin ilk baytı ya da sunucu tarafından gönderilen olay gelene kadar geçen süre.
total_last_byte_ms Yanıt iletme tamamlanana kadar hizmet kabulü süresi.

Fragman, sürüm numarası içeren ve noktalı virgülle ayrılmış bir biçim kullanır:

x-ms-debug-latency-final: v=1;start=cold;platform_pre_ms=...;
  infra_ms=...;ready_ms=...;container_response_ms=...;
  response_begin_ms=...;first_byte_ms=...;total_last_byte_ms=...

HTTP/1.1 yanıtları bu fragmanı içermez. Fragman iptal, istemci bağlantısı kesilmesi, orta akış hatası veya ağ geçidi veya SDK fragmanları korumadığında da eksik olabilir. Yanıt üst bilgilerini garantili tanılama sözleşmesi olarak kabul edin.

Depolanan gecikme süresi sonuçlarını alma

Hizmet, yanıt veya çağrı ile yakalanan zamanlamaları depolar. Aynı yanıt veya çağırma kimliği için daha sonraki bir GET isteği, özgün isteğin zamanlamalarını yanıt üst bilgileri olarak döndürür. GET isteği gecikme üst bilgisini gerektirmez ve GET isteğinin kendisini ölçmez.

GET isteği bu tamamlanma değerlerini normal üst bilgiler olarak da döndürebilir:

Header Meaning
x-ms-debug-latency-first-byte-ms Yanıt gövdesinin ilk baytına kadar geçen süre.
x-ms-debug-latency-total-last-byte-ms Yanıt iletme işleminin tamamlanmasına kadar geçen süre.

Depolama sonunda tutarlıdır, bu nedenle özgün istek sonrasındaki bir GET isteği henüz üst bilgileri içermeyebilir. Eşzamansız bir yanıt veya çağrı için yalnızca platform kaynaklı ek yük değerleri kullanılabilir: oturum başlatma türü, platform ön işleme, altyapı kurulumu ve kapsayıcı hazırlığı. Başarısız proxy yanıtları veya WebSocket (invocations_ws) istekleri için gecikme üst bilgileri gönderilmez.

Kimlik doğrulama hatalarını düzeltme

Düzelt AuthenticationError

Belirti -leri: Aracı yerel olarak başlatılamıyor veya yapay zeka modelini çağırırken 401/403 sonucunu döndürür.

Nedenler ve düzeltmeler:

  • Süresi dolmuş kimlik bilgileri -- Azure oturumunuzu yenilemek için komutunu çalıştırınazd auth login.
  • Yanlış abonelik -- Ile azd env get-values | grep AZURE_SUBSCRIPTION_ID doğrulayın ve Foundry projesinin aboneliğiyle karşılaştırın.
  • Eksik RBAC rolleri -- Kimliğinizin Foundry projesinde Foundry User veya eşdeğer erişime sahip olması gerekir.

Important

Foundry RBAC rolleri yakın zamanda yeniden adlandırıldı. Foundry User, Foundry Owner, Foundry Hesabı Sahibi ve Foundry Project Manager daha önce Azure Yapay Zeka Kullanıcısı, Azure Yapay Zeka Sahibi, Azure Yapay Zeka Hesabı Sahibi ve Azure Yapay Zeka Project Yöneticisi olarak adlandırıldı. Yeniden adlandırma kullanıma sunulmaya devam ederken bazı yerlerde önceki adları görmeye devam edebilirsiniz. Rol kimlikleri ve temel izinler yeniden adlandırma ile değiştirilmez.

Kimliğinizin model dağıtımlarını kullanabilmesi için Bilişsel Hizmetler OpenAI Kullanıcısına da ihtiyacı vardır.

Dağıtım sırasında AuthorizationFailed sorununu düzeltin

Belirti -leri:azd up veya azd provision bir izin hatasıyla başarısız olur.

Düzeltme: Azure aboneliğinizde Katkıda Bulunan rolü isteyin. CI/CD için hizmet sorumlusunun Da Döküm Sahibi olması gerekir.

Düzelt SubscriptionNotRegistered

Belirti -leri: Gerekli bir kaynak sağlayıcısı kaydedilmediğinden sağlama başarısız oluyor.

Düzeltme:

az provider register --namespace Microsoft.CognitiveServices
az provider register --namespace Microsoft.ContainerRegistry

Yerel geliştirme sorunlarını düzeltme

Bağlantı noktası 8088'de reddedilen bağlantı düzeltildi

Belirti -leri:azd ai agent invoke --local bağlanamıyor.

Nedenler ve düzeltmeler:

  • Aracı çalışmıyor -- Ayrı bir terminalde azd ai agent run ile başlatın.

  • Bağlantı noktası çakışması -- Başka bir işlem de 8088 numaralı bağlantı noktasını kullanmaktır. Durdurun veya özel bir bağlantı noktası kullanın:

    azd ai agent run --port 9090
    azd ai agent invoke --local --port 9090 "Hello!"
    
  • Başlangıç kilitlenmesi -- Hata çıkışı için çalıştırılan azd ai agent run terminali denetleyin. Yaygın nedenler arasında eksik bağımlılıklar, içe aktarma hataları veya startupCommand içindeki hatalı azure.yaml bulunur.

Bağımlılık yükleme hatalarını düzeltme

Belirti -leri:azd ai agent run bağımlılık yüklemesi sırasında başarısız oluyor.

Nedenler ve düzeltmeler:

  • Yanlış çalışma zamanı sürümü -- 3.10+ veya .NET 8+ Python yüklendiğinden emin olun.
  • eksik requirements.txt veya .csproj -- CLI bu dosyalardan proje türünü otomatik olarak algılar. Bunların aracı dizininizde var olduğunu doğrulayın.
  • Ağ sorunları -- Paket kayıt depoları kurumsal proxy'niz tarafından engellenebilir. pip veya dotnet yapılandırmanızı denetleyin.

ResourceNotFound veya DeploymentNotFound sorununu düzelt

Belirtiler: Aracı başlatılır ancak model çağrılmaya çalışıldığında başarısız olur.

Nedenler ve düzeltmeler:

  • Uç nokta uyuşmazlığı -- Komutunu çalıştırın azd env get-values ve Foundry portalında gösterilen uç noktayla eşleşip eşleşmediğini FOUNDRY_PROJECT_ENDPOINT doğrulayın.
  • Model dağıtım adı uyuşmazlığı -- içinde azure.yaml yapılandırılan model dağıtım adı, Foundry projenizdeki dağıtım adıyla eşleşmelidir. Portalda Dağıtımlar altında kontrol edin.
  • Kaynaklar sağlanmadı -- Henüz çalıştırmadıysanız azd up bulut kaynakları mevcut olmayacaktır. Önce komutunu çalıştırın azd up , ardından yerel olarak test edin. Yerel aracı hâlâ bulutta barındırılan modelleri çağırmaya devam eder.

Dağıtım sorunlarını düzeltme

Konteyner derleme hatalarını düzeltin

Belirti -leri:azd up Docker derleme aşamasında başarısız oluyor.

Nedenler ve düzeltmeler:

  • Dockerfile eksik -- Aracı dizininizde bir Dockerfileolduğundan emin olun. Bir şablondan oluşturduysanız, bu otomatik olarak oluşturulur.
  • Derleme bağlamı hataları -- Dockerfile içindeki hizmet project yolu tarafından belirtilen dizinde azure.yaml bulunmalıdır.
  • Docker'da bağımlılık yükleme -- Kapsayıcı içinde pip/dotnet restore başarısız olursa, requirements.txt veya .csproj içindeki tüm bağımlılıkların doğru şekilde sabitlendiğini denetleyin.

azd up Kilitlenmeleri veya zaman aşımlarını düzeltin

Belirti -leri: Sağlama veya dağıtım olağan dışı bir şekilde uzun sürer.

Nedenler ve düzeltmeler:

  • İlk dağıtım -- İlki azd up Foundry projesi, ACR, yönetilen kimlik ve model dağıtımı dahil olmak üzere tüm Azure kaynaklarını sağlar ve 5-10 dakika sürebilir. Sonraki dağıtımlar daha hızlıdır.
  • Uzaktan derleme -- Varsayılan olarak, kapsayıcı görüntüleri ACR üzerinde uzaktan oluşturulur. Bu daha yavaş olabilir, ancak yerel olarak Docker gerektirmez. Bunun yerine yerel olarak derlemek için hizmet yapılandırmanızda docker.remoteBuild: false ayarlayınazure.yaml.
  • Bölge kapasitesi : Bazı bölgelerin belirli model SKU'ları için kapasitesi sınırlı olabilir. Sağlama tutarlı bir şekilde başarısız olursa farklı bir bölge deneyin.

Dağıtan ancak yanıt vermeyen bir aracıyı düzeltme

Belirtiler:azd ai agent invoke başarılı bir dağıtımdan sonra zaman aşımına uğrar veya hata döndürür.

Nedenler ve düzeltmeler:

  • Sistem durumu yoklaması başarısız oluyor -- Kapsayıcınızın 8088 numaralı bağlantı noktasında 200 durumuyla yanıt vermesi GET /readiness gerekir. azd ai agent monitor --follow ile günlükleri kontrol edin.
  • Protokol uyuşmazlığı -- içinde hizmette azure.ai.agent tanımlanan protokolün kodunuzun azure.yaml uyguladığıyla eşleştiğinden emin olun. azure.yaml, responses diyorsa ancak kodunuz yalnızca invocations öğesini işliyorsa ya da tam tersi durum söz konusuysa, istekler başarısız olur.
  • Kapsayıcı çökmeleri -- Yeniden başlatma olayları açısından sistem günlüklerini kontrol edin: azd ai agent monitor --type system. Yaygın nedenler işlenmeyen özel durumlar ve yetersiz bellek sorunlarıdır. Gerekirse azure.yaml içindeki konteyner kaynaklarını artırın.

Doğrudan komut hatalarını düzeltme

Bu hatalar, bir Foundry projesine karşı çalıştırıldığında azd ai, azd ai connection ve azd ai toolbox gibi azd ai routine doğrudan komutlardan kaynaklanır.

Çözümlenmeyen Foundry proje uç noktası sorunu düzeltildi

Belirtiler: Doğrudan bir komut No Foundry project endpoint resolved. Run azd ai project set to set one, or pass --project-endpoint. ile sonlanır

Neden: CLI, desteklenen kaynaklardan herhangi birinde bir Foundry proje uç noktası bulamadı: --project-endpoint bayrak, etkin azd ortam, genel yapılandırma veya FOUNDRY_PROJECT_ENDPOINT ortam değişkeni.

Düzeltmeler:

  • azd ai project set <endpoint> komutunu, uç noktayı genel azd yapılandırmanızda (~/.azd/config.json) depolamak için çalıştırın.
  • Her komutta --project-endpoint (-p) iletin: azd ai connection list -p https://my-proj.services.ai.azure.com/api/projects/my-project.
  • FOUNDRY_PROJECT_ENDPOINT değerini kabuk ortamınızda ayarlayın.

Tam çözümleme sırası ve hangi durumda her kaynağın öncelikli olduğunu öğrenmek için azd proje bağlamını anlama bölümüne bakın.

Mevcut kaynaklar için oluşturma hatalarını düzeltme

Belirtiler:azd ai connection create, azd ai toolbox create, azd ai routine createveya azd ai skill create "zaten var" hatasıyla başarısız oluyor.

Neden: Tasarım gereği upsert create değildir. Varsayılan hata modu, paylaşılan bir Foundry projesinde bir geliştiricinin sessizce başka bir geliştiricinin durumunun üzerine yazmasını engeller.

Düzeltmeler:

  • Farklı bir ad seçin ve yeniden çalıştırın.
  • --force komutunun desteklediği durumlarda, mevcut kaynağı bir ARM PUT ile değiştirmek için create geçirin. Değiştirme işlemi yıkıcıdır: mevcut kaynağın üzerine doğrudan yazar ve manuel portal düzenlemeleri, meta veriler veya kimlik bilgilerinden kaynaklanan tüm sapmalar kaybolur. azd ai toolbox create komutu --force öğesini desteklemez. Var olan araç kutusunu silin veya bunun yerine yeni bir ad kullanın.

connection show Kimlik bilgileri çıktısını düzeltin

Belirti -leri:azd ai connection show <name> bağlantının adını, türünü, hedefini ve kimlik doğrulama türünü döndürür, ancak API anahtarı veya kimlik bilgisi değeri döndürmez.

Neden: Tasarım gereği, kimlik bilgisi değerleri varsayılan olarak hiçbir zaman döndürülemez. Bunlar açık --show-credentials bayrağı gerektirir.

Düzeltme:

azd ai connection show tavily-conn --show-credentials

Bu, veri düzlemi API'sini çağırır ve Dökümhane projesinde DökümHane Kullanıcısı veya eşdeğeri gibi veri düzlemi izinleri gerektirir. Yalnızca yönetim düzlemi Reader veya Contributor erişiminiz varsa, çağrı 403 ile başarısız olur. Proje sahibinizden veri düzlemi rolünü isteyin.

Ajan günlüklerini okuma

Aracı davranışını incelemek için kullanın azd ai agent monitor :

# Stream all recent logs
azd ai agent monitor --follow

# View system-level events (container starts, crashes, restarts)
azd ai agent monitor --type system

# Filter to a specific session
azd ai agent monitor --session-id <session-id>

Yaygın günlük desenleri şunlardır:

Kayıt mesajı Meaning
Listening on 0.0.0.0:8088 Ajan başarıyla başlatıldı.
AuthenticationError Kimlik bilgisi veya RBAC sorunu. Yönetilen kimliği denetleyin.
ModelNotFound Model dağıtım adı azure.yaml ile uyuşmuyor.
Sistem olaylarında konteynerin yeniden başlatılması Çökme döngüsü. Kod hatalarını denetleyin veya kaynak sınırlarını artırın.

Rutin hataları tanılama

Hatayı ortaya çıkaracak bir çağıran olmadığından, yordamlar etkileşimli agent invoke çağrılardan farklı şekilde başarısız olur. Rutin, bir aracının zamanlayıcıyla tetiklenen, yinelenen, GitHub issue’su tarafından tetiklenen veya özel olay tarafından tetiklenen çalıştırılmasıdır. azd ai routine run list kullanarak neler olduğunu inceleyin.

Geçmiş çalıştırmaları inceleyin

# Recent runs of a routine: trigger time, agent input/output, status, trace link
azd ai routine run list daily-digest

Başarısız olanları filtrele

# Failed runs only, with an OData filter
azd ai routine run list daily-digest --filter "status eq 'failed'"

Ile birleştirerek --top pencereyi genişletin veya daraltın.

Tek bir çalıştırmanın ayrıntılarına inin

# Full detail for the most recent runs as JSON, then look up the run you care about
azd ai routine run list daily-digest --top 5 --output json

JSON çıktısı; girdi yükünü, ajanın yanıtını ve etkileşimli bir çağırmada göreceğiniz izlemenin aynısı olan dağıtılmış izlemeye yönelik bir derin bağlantıyı içerir.

Bir rutini el ile yeniden tetikleme

Bir hatayı yeniden oluşturmanız veya bir düzeltmeyi test etmeniz gerekiyorsa, ile isteğe bağlı olarak yordamı tetikleyebilirsiniz dispatch:

azd ai routine dispatch daily-digest
azd ai routine dispatch triage-issues --input '{"issue":{"number":42}}'

dispatch eşzamansız olarak çalışır ve bir gönderim kimliği yazdırır. Sonucu azd ai routine run list <name> ile kontrol edin.

Başarısız bir yordam çalıştırmasını düzelt

azd ai routine run list, status: failed ile çalıştırmayı gösterir. Model hatası, araç hatası veya zaman aşımı gibi temel aracı hatasını görmek için izleme bağlantısını izleyin. Ajan tarafındaki düzeltmeler, etkileşimli başarısızlıklar için olanlarla aynıdır. Bkz . Kimlik doğrulama hatalarını düzeltme ve Aracı günlüklerini okuma.

Hiçbir zaman tetiklemeyecek bir rutini düzeltme

Eğer azd ai routine run list hiç çalıştırma döndürmezse, tetikleyicinin kendisi tetiklenmiyordur:

  1. Yordamın etkin olduğundan emin olun: azd ai routine show <name>. öğesini arayın enabled: true.
  2. timer tetikleyicileri için, --at öğesinin gelecekte olduğunu ve daha önce tetiklenmediğini doğrulayın.
  3. recurring tetikleyicileri için, --cron ifadesinin geçerli olduğunu ve --time-zone öğesinin beklediğiniz şey olduğunu doğrulayın.
  4. github-issue tetikleyicileri için, --connection-id'in sağlıklı bir bağlantıya çözümlendiğini ve GitHub deposunun ve --issue-event'nin deponun yaydığı olaylarla eşleştiğini doğrulayın.
  5. custom tetikleyicileri için, --provider, --event-name ve --parameters kapsamının sağlayıcının yayımladığı olaylarla eşleştiğini doğrulayın.

Daha fazla yardım alın