Aracılığıyla paylaş


Semantik Çekirdek Aracısı Düzenlemesi

Önemli

Aracı Çerçevesi'ndeki Aracı Orkestrasyonu özellikleri deneysel aşamadadır. Bunlar etkin geliştirme aşamasındadır ve önizleme veya sürüm adayı aşamasına geçmeden önce önemli ölçüde değişebilir.

Semantik Çekirdeğin Aracı Düzenleme çerçevesi, geliştiricilerin karmaşık aracı iş akışlarını kolayca oluşturmasına, yönetmesine ve ölçeklendirmesine olanak tanır.

Neden Çok Aracılı Düzenleme?

Geleneksel tek aracılı sistemlerin karmaşık, çok yönlü görevleri işleyebilme özellikleri sınırlıdır. Her biri özel becerilere veya rollere sahip birden çok aracıyı düzenleyerek daha sağlam, uyarlamalı ve gerçek dünya sorunlarını işbirliğiyle çözebilen sistemler oluşturabiliriz. Anlam Çekirdeğinde çok aracılı düzenleme, çeşitli koordinasyon desenlerini destekleyen bu tür sistemler oluşturmak için esnek bir temel sağlar.

Orkestrasyon Desenleri

İyi bilinen bulut tasarım desenleri gibi aracı düzenleme desenleri de ortak bir hedefe yönelik olarak birlikte çalışmak üzere birden çok aracıyı koordine etmeye yönelik teknolojiden bağımsız yaklaşımlardır. Desenler hakkında daha fazla bilgi edinmek için yapay zeka aracısı düzenleme desenleri belgelerine bakın.

Anlam Çekirdeğinde Desteklenen Düzenleme Desenleri

Anlam Çekirdeği, bu düzenleme desenlerini doğrudan SDK'da uygulayarak sizi destekler. Bu desenler çerçevenin bir parçası olarak kullanılabilir ve aracı işbirliği senaryonuzu ayarlayabilmeniz için kolayca genişletilebilir veya özelleştirilebilir.

Desen Açıklama Tipik Kullanım Örneği
Eş zamanlı Görevi tüm aracılara yayınlar, sonuçları bağımsız olarak toplar. Paralel analiz, bağımsız alt görevler, grup karar alma.
Sıralı Sonucu bir aracından tanımlı bir sırayla bir sonraki aracıya geçirir. Adım adım iş akışları, işlem hatları, çok aşamalı işleme.
İletim Bağlama veya kurallara göre ajanlar arasında kontrolü dinamik olarak devreder. Dinamik iş akışları, yükseltme, geri dönüş veya uzman iletim senaryoları.
Grup Sohbeti Tüm temsilciler, bir grup yöneticisi tarafından koordine edilen bir grup konuşmasında yer alır. Beyin fırtınası, işbirliğine dayalı problem çözme, fikir birliği oluşturma.
Eflatun MagenticOne'dan esinlenen grup sohbeti benzeri düzenleme. Karmaşık, genelist çok aracılı işbirliği.

Basitlik ve Geliştirici dostu

Tüm düzenleme desenleri, oluşturma ve çağırma için birleşik bir arabirimi paylaşır. Hangi orkestrasyonu seçerseniz seçin:

  • Aracılarınızı ve bunların özelliklerini tanımlayın, bkz. Semantik Çekirdek Aracıları.
  • Aracıları (ve gerekirse bir yöneticiyi) sunarak bir orkestrasyon başlatın.
  • İsteğe bağlı olarak özel giriş/çıkış işleme için geri çağırmalar veya dönüşümler sağlayın.
  • Çalışma zamanı başlatın ve bir görev ile orkestrasyonu çağırın.
  • Sonucu tutarlı ve asenkron bir şekilde beklemeye alın.

Bu birleşik yaklaşım, yeni API'leri öğrenmeden veya aracı mantığınızı yeniden yazmadan düzenleme desenleri arasında kolayca geçiş yapabileceğiniz anlamına gelir. Çerçeve aracı iletişiminin, koordinasyonun ve sonuç toplamanın karmaşıklığını soyutlayarak uygulamanızın hedeflerine odaklanmanızı sağlar.

// Choose an orchestration pattern with your agents
SequentialOrchestration orchestration = new(agentA, agentB)
{
    LoggerFactory = this.LoggerFactory
};  // or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...

// Start the runtime
InProcessRuntime runtime = new();
await runtime.StartAsync();

// Invoke the orchestration and get the result
OrchestrationResult<string> result = await orchestration.InvokeAsync(task, runtime);
string text = await result.GetValueAsync();

await runtime.RunUntilIdleAsync();
# Choose an orchestration pattern with your agents
orchestration = SequentialOrchestration(members=[agent_a, agent_b])
# or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...

# Start the runtime
runtime = InProcessRuntime()
runtime.start()

# Invoke the orchestration
result = await orchestration.invoke(task="Your task here", runtime=runtime)

# Get the result
final_output = await result.get()

await runtime.stop_when_idle()

Uyarı

Ajan düzenlemesi henüz Java SDK'de mevcut değil.

Geliştirme Ortamınızı Hazırlama

Devam etmeden önce projenize aşağıdaki paketleri ekleyin:

dotnet add package Microsoft.SemanticKernel.Agents.Orchestration --prerelease
dotnet add package Microsoft.SemanticKernel.Agents.Runtime.InProcess --prerelease

Kullandığınız aracı türlerine bağlı olarak, aracılar için ilgili paketleri de eklemeniz gerekebilir. Daha fazla ayrıntı için lütfen Aracılara Genel Bakış'a bakın.

Sonraki Adımlar