Grup sohbeti orkestrasyonunu kullanma
Grup sohbeti düzenleme, birden çok yapay zeka aracısı ve isteğe bağlı olarak bir insan katılımcısı arasında işbirliğine dayalı bir konuşmayı modeller. Merkezi bir sohbet yöneticisi akışı denetler ve bundan sonra hangi aracının yanıt vereceğine ve ne zaman insan girişi isteneceklerine karar verir. Bu düzen toplantıların, tartışmaların veya işbirliğine dayalı problem çözmenin benzetiminde kullanışlıdır.
Grup sohbeti düzeni, kararlara ulaşmak için grup tartışmasının veya yinelemeli işbirliğinin önemli olduğu senaryolarda iyi çalışır. Serbest akışlı fikirlerden tanımlı roller ve onay adımlarıyla resmi iş akışlarına kadar farklı etkileşim stillerini destekler. Grup sohbeti koordinasyonu, bir insanın konuşmaya rehberlik edebileceği ve/veya müdahalede bulunabileceği insan-döngüsündeki düzenlemeler için de harikadır. Genellikle, bu desendeki aracılar çalışan sistemleri doğrudan değiştirmez; bunlar genellikle konuşmaya katkıda bulunur.
Grup sohbeti düzenleme ne zaman kullanılır?
Senaryonuz dahil olduğunda grup sohbeti düzenlemeyi kullanmayı göz önünde bulundurun:
- Ajanlar (ve muhtemelen insanlar) arasında spontane veya yönlendirilmiş işbirliği
- Yapan-kontrol eden döngüleri, aracıların sırayla ürün oluşturduğu ve gözden geçirdiği yinelemeli süreçtir.
- Gerçek zamanlı insan gözetimi veya katılım
- Tek bir başlıkta toplandığından, tüm iletişim şeffaf ve denetlenebilir.
Yaygın senaryolar şunlardır:
- Katılımcıların birbirlerinin fikirleri üzerine inşa ettiği yaratıcı beyin fırtınası
- Tartışma ve konsensüsten yararlanan karar alma
- Disiplinler arası diyalog gerektiren karmaşık sorunlar
- Birden fazla uzman perspektifi gerektiren kalite denetimi ve doğrulama
- Oluşturma ve gözden geçirme arasında net ayrım içeren içerik iş akışları
Grup sohbeti düzenlemesinden ne zaman kaçınılmalı?
Aşağıdaki durumlarda bu desenden kaçının:
- Basit görev dağılımı veya doğrusal işlem hatları yeterlidir
- Gerçek zamanlı hız gereksinimleri, tartışma ek yükünü pratik hale getirmez.
- Hiyerarşik veya belirleyici iş akışları tartışma olmadan gereklidir
- Sohbet yöneticisi görevin ne zaman tamamleneceğini net bir şekilde belirleyemiyor
- Konuşma akışını yönetmek, özellikle de birçok aracıda çok karmaşık hale gelir (daha kolay denetim için üç veya daha az ile sınırlayın)
Oluşturucu denetleyicisi döngüleri
Yaygın bir özel durum, oluşturucu-kontrol edici döngüsüdür. Burada, bir aracı (oluşturucu) içerik veya çözümler önerir ve başka bir aracı (denetleyici) bunları inceler ve eleştirir. Denetleyici oluşturucuya geri bildirim gönderebilir ve sonuç tatmin edici olana kadar bu döngü yinelenir. Bu işlem, sohbet yöneticisi tarafından yönetilen tura dayalı bir sıralama gerektirir.
Grup sohbeti koordinasyonunu uygulama
Microsoft Agent Framework SDK'sı ile grup sohbeti düzenleme düzenini uygulayın:
Sohbet istemcinizi oluşturma
Yapay zeka hizmet sağlayıcınıza bağlanmak için uygun kimlik bilgilerine sahip bir sohbet istemcisi (örneğin,AzureOpenAIChatClient) ayarlayın.Aracılarınızı tanımlama
Sohbet istemcisinincreate_agentyöntemini kullanarak aracı örnekleri oluşturun. Her aracıda belirli yönergeler ve rolünü ve uzmanlık alanını tanımlayan bir ad olmalıdır.Grup sohbeti iş akışını oluşturma
GroupChatBuildersınıfını kullanarak birden çok aracıyı paralel çalıştırabilen bir iş akışı oluşturun.participants()yöntemini kullanarak aracı örneklerinizi katılımcı olarak ekleyin ve ardından iş akışını oluşturmak içinbuild()çağrısında bulunun.İş akışını çalıştırma
Aracıların üzerinde çalışmasını istediğiniz görev veya girişle iş akışınınrunyöntemini çağırın. İş akışı tüm aracıları eşzamanlı olarak çalıştırır ve sonuçları içeren olayları döndürür.Sonuçları işleme
get_outputs()kullanarak iş akışı olaylarından çıkışları çıkarın. Sonuçlar, tüm aracıların birleştirilmiş konuşmalarını ve her aracının yanıtının nihai çıktıya dahil edilmesini içerir.Toplanan yanıtları işleme
Tüm aracılardan toplanan iletileri işleme. Her ileti, yazarın adını ve içeriğini içerir ve her yanıtı hangi aracının sağladığını belirlemenize olanak sağlar.
Grup sohbet yöneticisini özelleştirme
Temel GroupChatManager sınıfı genişleterek özel grup sohbet yöneticisi oluşturabilirsiniz. Bu yaklaşım şunları denetlemenizi sağlar:
- Konuşma sonuçları nasıl filtrelenir veya özetlenir?
- Sonraki temsilci nasıl seçilir?
- Kullanıcı girişi istendiğinde
- Konuşma ne zaman sonlandırılır?
Özel yöneticiler, kullanım örneğiniz için uyarlanmış özel mantık uygulamanıza olanak verir.
Grup sohbeti yöneticisi arama sırası
Konuşmanın her turu sırasında sohbet yöneticisi yöntemleri şu sırayla çağırır:
-
should_request_user_input- Bir sonraki aracı yanıt vermeden önce insan girişi gerekip gerekmediğini denetler. -
should_terminate- Konuşmanın sonlanıp sonlanmayacağını belirler (örneğin, en fazla tur sayısına ulaşıldı). -
filter_results- Sona eriyorsa, son konuşmayı özetler veya işler. -
select_next_agent- Devam ederseniz, konuşacak bir sonraki ajanı seçer.
Bu, konuşmayı ileriye taşımadan önce kullanıcı girişi ve sonlandırma koşullarının işlenmesini sağlar. Davranışı değiştirmek için özel yöneticinizde bu yöntemleri geçersiz kılın.
Grup sohbeti düzenleme, kılavuzlu konuşma ve yinelemeli geri bildirim aracılığıyla işbirliği yapmak için birden çok yapay zeka aracısını (ve isteğe bağlı olarak insanları) etkinleştirir. Çeşitli uzmanlık ve dinamik etkileşimden yararlanan karmaşık görevler için idealdir. Dikkatli bir yönetim gerektirse de, bu desen karar alma ve yaratıcı iş akışlarında saydamlık ve esneklik sunar. Microsoft Agent Framework SDK'sı, grup sohbeti düzenlemesini gereksinimlerinize göre uygulamayı ve özelleştirmeyi kolaylaştırır.