Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Bu makalede önizleme olarak işaretlenmiş öğeler şu anda önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve Microsoft üretim iş yükleri için bunu önermez. Bazı özellikler desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Azure Developer CLI (azd ai agent) ve azd uzantısı, fikir aşamasından Microsoft Foundry'de üretime hazır bir aracı geliştirmeye kadar uzanan tek bir komut satırı iş akışı sunar. Kod tabanlı barındırılan aracılar ve bildirim temelli istem tabanlı ses aracıları geliştirebilirsiniz. Bu makalede geliştirici yolculuğu, aracı tanımlayan dosyalar ve yol boyunca karşılaştığınız temel kavramlar açıklanmaktadır.
Bu makale, Foundry portalı veya dil SDK'ları yerine terminal öncelikli, betik yazılabilir bir iş akışını tercih eden geliştiricilere yöneliktir.
Geliştirici yolculuğu
küçük azd ai bir prototip veya üretim aracısı oluşturmanız fark etmeksizin iş akışı aynı yaşam döngüsünü izler. Bir projeyi bir kez iskelelersiniz, ardından projeniz büyüdükçe komutları karıştırır ve eşleştirirsiniz.
| Stage | Ne yaparsınız? | Daha fazla bilgi nereden edinilir? |
|---|---|---|
| Install |
azd ve Foundry uzantılarını yükleyin. |
Geliştirici ortamınızı ayarlama |
| İskele | Bir şablondan veya mevcut kodunuzdan barındırılan bir aracı başlatın veya istem tabanlı bir ses aracısı oluşturun. | Hızlı Başlangıç: Barındırılan aracı dağıtma veya Hızlı Başlangıç: İstem ses aracısı oluşturma |
| Tanımlamak |
azure.yaml içinde aracıyı, model dağıtım bağımlılıklarını, protokolleri, araçları ve ortamı yapılandırın. |
Barındırılan aracılar için azure.yaml’ı oluşturma |
| Develop | Aracı mantığı yazın, araç kutusu kullanarak araçlar ekleyin ve yerel olarak test edin. | Araç kutusuna genel bakış |
| Deploy | Altyapıyı sağlayın ve Foundry'ye dağıtın. | Barındırılan aracı dağıt |
| Çalıştırmak | Günlükleri izleyin, sürümleri yönetin ve çalıştırmaları otomatikleştirin. | Barındırılan aracıları yönetme |
| Evaluate | Ajan kalitesini ölçün ve istemi iyileştirin. | azd CLI ile aracı değerlendirmeleri çalıştırma |
Aracı türleri
Uzantı, azd ai agent kod tabanlı ve bildirim temelli aracı türlerini destekler.
| Türü | Description | Ne zaman kullanılır? |
|---|---|---|
| Barındırılan aracı | Kodda derlediğiniz, Docker görüntüsü olarak paketlediğiniz ve Foundry'ye dağıtabileceğiniz kapsayıcılı bir uygulama. | Özel mantık, çerçeve tümleştirmesi veya davranış üzerinde tam denetime ihtiyacınız vardır. |
| İstem ajanı | Özel kod içermeyen yönergeler ve araç yapılandırmaları aracılığıyla tanımlanan bir aracı. | Uygulama kodu yazmadan hızlı, yapılandırma temelli bir aracı istiyorsunuz. |
| İstem tabanlı ses aracısı | Özel çalışma zamanı kodu olmadan yönetilen veya kendi kendine dağıtılan bir model kullanan bildirim temelli bir ses aracısı. | Ses işlem hattı oluşturmadan ve barındırmadan gerçek zamanlı bir konuşma sesi deneyimi istiyorsunuz. |
| Yönetilen sarmalayıcı ile barındırılan ses aracısı | Barındırılan bir hedef konuşma mantığını işlerken, ayrı bir ses hizmeti bunu conversationEngine üzerinden ona devreder. Ses deneyimini Voice Live işler. |
Barındırılan hedef ortamda konuşma tanıma ve konuşma sentezini gerçekleştirmeden özel aracı mantığına ihtiyaç duyuyorsunuz. |
Barındırılan aracılar çalışma zamanı, çerçeve ve araç tümleştirmeleri üzerinde tam denetim sağlarken Foundry altyapı, ölçeklendirme ve oturum yönetimini işler.
İstem tabanlı ses aracıları özel bir kapsayıcı gerektirmez. Kendi konteynerinizde özel bir konuşmadan konuşmaya veya ardışık ses işlem hattı çalıştırmanız gerekiyorsa, barındırılan bir aracıyla ses aracısı oluşturun ve invocations_ws protokolünü kullanın.
Voice Live sesi işlerken konuşma mantığını barındırılan metin aracısında tutmak için barındırılan ses sarmalayıcı iş akışını kullanın. Sarmalayıcı ve hedef, aynı azure.yaml projedeki ayrı hizmetlerdir. Bu akış, mevcut özel invocations_ws ses işlem hattı akışının yerini almaz.
Genel önizleme sesli CLI seçeneklerini kullanmadan önce, ses aracısı hızlı başlangıç önkoşullarında açıklandığı gibi yüklü uzantınızı denetleyin.
Yapılandırma dosyaları
Barındırılan aracı projesi, hem aracıyı hem de sağlama ve dağıtım modelini bildirmek için proje kökünde bir azure.yaml dosya kullanır. Dosya, her adlandırılmış hizmetin host, azure.ai.project, azure.ai.agent, azure.ai.connection, azure.ai.toolbox veya azure.ai.skill gibi bir azure.ai.routine değerine sahip olduğu bölünmüş hizmet modelini kullanır.
| File | Purpose | Bunu kim koruyor? |
|---|---|---|
azure.yaml |
Foundry projesini, model dağıtımlarını, barındırılan aracı hizmetini, bağımlılıkları, protokolleri, araçları, ortam değişkenlerini, kapsayıcı kaynaklarını ve dağıtım ayarlarını bildirir. Hizmette azure.ai.agent aracı kimliği, model, protokoller, araçlar ve ortam değerleri bulunur. |
Başlatma bunu oluşturur. Gerektiğinde özelleştirebilirsiniz. |
azure.ai.agent hizmeti, barındırılan aracınızı satır içinde tanımlar ve proje, bağlantılar, araç kutuları, beceriler ve yordamlar gibi diğer hizmetlere başvurmak için uses: kullanır. Mevcut barındırılan aracı agent.yaml proje modelinde bağımsız agent.manifest.yaml veya azd dosyası yoktur.
İstem tabanlı bir ses aracısı için, azure.yaml modeli, model türünü ve aracı adını içeren kind: prompt-voicebildirim temelli aracı tanımını depolar. Barındırılan aracı kapsayıcı çalışma zamanı içermez. Yönergeleri, sesi, dönüş algılamayı, transkripsiyonu, ses çıkışını, araçları ve selamlamaları özelleştirmek için bkz. Ses aracısını yapılandırma.
Barındırılan bir ses sarmalayıcısı için conversationEngine.name, barındırılan hedefin hizmet adına atıfta bulunur. Sarmalayıcının uses bağımlılıkları dağıtımı sıralar ve conversationEngine.version varsayılan olarak geçerli ortam tarafından dağıtılan sürümü kullanır. Yapılandırma alanları için ses hizmeti başvurusuna bakın.
Değişken değiştirme
${VAR_NAME} ortama göre farklılık gösteren değerler için azure.yaml içinde azd kullanın. Yer tutucu, dağıtım veya çalışma zamanında .azure/<env>/.env içinden çözümlendiği için aynı azure.yaml geliştirme, test ve üretim gibi ortamlarda çalışır.
CLI'nın çalıştığı yer
Komutlar azd ai bir azd proje dizininin içinde ve dışında çalışır:
- Bir
azdprojesinde, komutlar Foundry proje uç noktasını etkinazdortamından belirler. -
azdprojesi dışında, etkin bağlamıazd ai project set <endpoint>ile bir kez ayarlayın veya--project-endpointseçeneğini tek tek kaynak komutlarında (connection,toolbox,skillya daroutine) belirtin. Geri dönüş olarak ortamazd aideğişkeniniFOUNDRY_PROJECT_ENDPOINTokur. - Proje içi ortam her zaman genel bağlamdan önceliklidir, bu nedenle dizinleri bir projeye değiştirmek, o projenin uç noktasındaki CLI'yı yeniden hedef alır.
Protocols
Protokol, Foundry ile aracı kapsayıcınız arasındaki HTTP sözleşmesini tanımlar. Aracınız 8088 numaralı bağlantı noktasını dinler ve protokolden bağımsız olarak bir sistem durumu yoklaması sunar.
| Protocol | API stili | Ne zaman kullanılır? |
|---|---|---|
responses |
OpenAI Yanıtları API'si (POST /responses) |
OpenAI API ekosistemiyle uyumlu standart seçim. |
invocations |
Özel JSON sözleşmesi (POST /invocations) |
İstek ve yanıt yükleri üzerinde tam denetime ihtiyacınız olduğunda. |
Tam belirtim için bkz. Barındırılan aracı çalışma zamanı sözleşmesi.
Bu protokol ayarları barındırılan aracı kapsayıcıları için geçerlidir. İstem tabanlı sesli ajanlar, barındırılan bir ajan protokolünü yapılandırmaz.
azd ai agent invoke , istem tabanlı ses aracıları veya barındırılan ses sarmalayıcıları için sesli konuşmalar uygulamaz. CLI davranışı ve test kılavuzu için bkz . Ses aracısı sınırlamaları.
Oturumlar ve konuşmalar
| Concept | Description |
|---|---|
| Session | Tek bir aracı etkileşimi için yalıtılmış bir yürütme ortamı. Her oturum, kendine ayrılmış kaynaklarla kendi yalıtılmış ortamında çalışır. |
| Konuşma | Oturum içindeki bir ileti dizisi. Foundry, konuşma geçmişini yönetir ve bunu istekler arasında sürdürebilir. |
Oturumlar bir session_idtarafından tanımlanır. çalıştırdığınızda azd ai agent invoke, Foundry varsayılan olarak son çağrınızdaki oturumu yeniden kullanır. Yeniden başlamak için --new-session kullanın veya belirli bir oturumu hedeflemek için --session-id <id> kullanın.
Dökümhane projesindeki kaynaklar
Foundry projesi aracılardan daha fazlasını barındırıyor. Ayrıca, aracıların çalışma zamanında başvurduğu paylaşılan kaynakları da barındırır. CLI, her birini ayrılmış bir komut grubu aracılığıyla yönetir.
| Resource | Bu nedir | Ile yönetilir |
|---|---|---|
| Connection | Foundry projesini MCP sunucusu, Azure Yapay Zeka Arama veya Bing ile Topraklama gibi bir dış kaynağa bağlar. |
azd ai connection Komutlar |
| Araç Kutusu | Aracıların çalışma zamanında kullandığı adlandırılmış bir araç koleksiyonu. |
azd ai toolbox Komutlar |
| Beceri | Projedeki aracılar arasında paylaşılan yeniden kullanılabilir davranış yönergeleri. |
azd ai skill Komutlar |
| Rutin | Tetikleyici ve aracı çağıran bir eylem. |
azd ai routine Komutlar |
Bu kaynaklar aynı projedeki geliştiriciler ve aracılar arasında paylaşılır. Her komut grubu standart create, , updatedelete, , showve list fiillerini kullanıma sunar.
Ajanı değerlendirin ve iyileştirin
Aracı çalıştırıldıktan sonra ilgili iki iş akışı, kalitesini ölçmenize ve geliştirmenize yardımcı olur:
- Değerlendirme aracınızı bir veri kümesinde çalıştırır, yanıtları bir veya daha fazla değerlendiriciyle puanlar ve toplam kalite sinyali raporlar. Bunu
azd ai agent evalile yönetirsiniz. - Optimizasyon, değerlendirme sinyalini yükseltmek için aracınızın istemini yinelemeli olarak yeniden yazar. Nesnel işlevi olarak bir değerlendirme kullanır ve gözden geçirip kabul ettiğiniz bir aday istemi oluşturur. Bunu
azd ai agent optimizeile yönetirsiniz.
Ayrıntılar için bkz. Azd CLI ile aracı değerlendirmelerini çalıştırma ve Aracı istemlerini iyileştirme.
Dağıtım yaşam döngüsü
Tam geliştirici döngüsü kısa bir komut dizisi halinde yoğunlaşır. Bir kez iskele yapın, ardından projeniz büyüdükçe doğrudan komutları kullanın.
Yönetilen ses aracısı yaklaşımı için bkz. Hızlı başlangıç: İstem ses aracısı oluşturma.
# Scaffold a project from a template or your existing code
azd ai agent init
# Run locally and invoke
azd ai agent run
azd ai agent invoke --local "Hello, world!"
# Provision infrastructure and deploy the agent
azd up
# Extend the project with shared resources at any time
azd ai connection create my-search --kind cognitive-search --target https://... --auth-type api-key --key "..."
azd ai routine create daily-digest --trigger recurring --cron "0 7 * * *" --agent-name my-agent
# Evaluate quality
azd ai agent eval generate
azd ai agent eval run
# Tear down all Azure resources
azd down