Deri simülasyonu yapıyoruz 👩‍👩‍👦

Microsoft'un ilginç bir açık kaynak projesi var — TinyTroupe. Ne işe yarıyor? Çoğu framework, assistance — yani görev çözümünde yardım — için tasarlanmıştır. TinyTroupe ise simülasyon için tasarlanmıştır. Fark temel: asistan etkili olmalı, simülatör ise güvenilir. Güvenilir bir insan hata yapar, önyargılıdır, kahvaltısını hatırlar ve bir karaktere sahiptir.

Bu Python hayvanat bahçesinin içinde ne var:
1. TinyPerson: Ajanın mental_faculty (bilişsel yetenekler) ve iki tür belleği vardır: EpisodicMemory (olay zinciri) ve SemanticMemory (bilgi ve gerçek tabanı).
2. Action Correction: LLM ajanı aniden kişiliğini 'unutursa' (örneğin vegan bir biftek restoranı önermeye başlarsa), TinyPersonValidator doğrulama sistemi bunu yakalar, ajana azarlar ve eylemi yeniden oluşturmasını sağlar.
3. TinyWorld: Yaşam alanı. Burada ajanlar, kodla tanımladığınız kurallara göre etkileşime girer. İlişki grafikleriyle bir sosyal ağ bile oluşturabilirsiniz.
4. TinyFactory: Kalabalık oluşturucu. Yeni uygulamanızı test etmek için ağır metal ve çevre seven 50 Brezilyalı doktora ihtiyacınız varsa, fabrika onları demografik girdilere göre üretir.

Bunlar ne işe yarar?
Sentetik veri: Gerçek kullanıcıları rahatsız etmek veya şüpheli veri kümeleri satın almak yerine, projenizi farklı karakterlere sahip 100 ajandan oluşan bir odak grubuyla test edersiniz.
Yazılım testi: Bir ajana sohbet robotunuzu veya arama motorunuzu 'kullandırabilir' ve insan beklentileriyle mantığı nerede kırdığını görebilirsiniz.
Pazarlama: Bütçenizi harcamadan önce simüle edilmiş bir kitle üzerinde reklam değerlendirmesi yapabilirsiniz.

İçeride tipik bir modern Python yığını var: RAG için llama-index, prompt şablonları için chevron ve bir sürü JSON spesifikasyonu. Ana dezavantajı, varsayılan olarak her şeyin OpenAI için tasarlanmış olması.

Ve tüm bunların yanı sıra, bir matriste yaşadığımızın kanıtı 🌝

#iyi_açık_kaynak