Motif, çoklu yapay zeka ajanlarının (Vision, Humanizer, Sonic, Toolbox vb.) bir arada çalıştığı, video analiz ve doküman üretim platformudur. Kullanıcıların yüklediği videolar, farklı özelliklere sahip yapay zeka modelleri tarafından paralel olarak incelenir, detaylı bir analiz raporu sunulur ve gerektiğinde dilekçe/tutanak gibi yasal belgeler üretilir.
Mimari ve projenin detaylı çalışma prensipleri için documents/ klasöründeki kaynakları inceleyebilirsiniz:
- Video Yükleme & Stream: Kullanıcı videoyu yükler.
gatewayservisi bu isteği alır ve NATS üzerinden ilgili servislere duyurur. - Klip ve Kare Çıkarımı: Sistem videoyu saniyelik parçalara (frame) ve daha küçük kliplere ayırır.
- Vision Analizi:
vision(Görsel Model) ajanı bu kareleri inceleyerek bir olay örgüsü (timeline) oluşturur ve potansiyel aksiyon tavsiyelerinde bulunur. - Humanizer & Toolbox Entegrasyonu: VLM'den çıkan rapor,
humanizerajanı (Büyük Dil Modeli) tarafından okunur.- Humanizer, kullanıcının
/promptssayfasında belirlediği kurallara ve bağlama uygun şekilde bu ham raporu anlamlı bir Asistan Anlatımına çevirir. - LLM ayrıca veritabanındaki Araçları (Tools) görebilir. Eğer olay anında ambulans çağırmak, polis çağırmak gibi gerçek bir API/veritabanı aksiyonuna ihtiyaç duyarsa bunu "Araç Çağrısı" olarak sisteme önerir. Kullanıcı bu aracı UI üzerinden onayladığında,
toolboxservisi aracılığıyla API çağrısı gerçekleşir.
- Humanizer, kullanıcının
- Belge Üretimi: Analiz edilen video baz alınarak, Humanizer üzerinden Dilekçe veya Tutanak üretimi tetiklenebilir.
Proje, hem Docker tabanlı tam izole bir altyapıya hem de lokal (cargo) geliştirme için kısayollara sahiptir. Geliştirme akışını make komutları üzerinden yönetebilirsiniz.
- Docker & Docker Compose
- Rust (Lokal geliştirme için)
- Node.js & pnpm (Dashboard için)
Kratos (Kimlik doğrulama), Keto (Yetkilendirme), NATS, PostgreSQL vb. tüm altyapı servislerini başlatmak için:
make infra:upBu komut platform/docker/compose.yaml içerisindeki bağımlılıkları ayağa kaldırır. Altyapıyı durdurmak veya loglarını izlemek için:
make infra:downmake infra:logs
Altyapı çalıştıktan sonra uygulama servislerini (Gateway, Dashboard, Vision, Humanizer vs.) Docker üzerinden başlatabilirsiniz:
# Tüm servisleri Docker'da çalıştırır
make run:dev
# Sadece belirli bir servisi çalıştırır
make run:dev APP=dashboard
# Gateway dışındaki tüm servisleri çalıştırır
make run:dev EXCLUDE=gatewayEğer bir serviste (Örn: humanizer) kod geliştiriyorsanız ve anında derlenmesini (hot-reload) istiyorsanız:
make watch APP=humanizerBu komut:
- Docker içindeki
humanizerkonteynerini durdurur (Port çakışmasını engellemek için). - Sizin lokalinizde
cargo watchkomutunu başlatarak, kod değiştikçe servisi lokalden tekrar derler ve ayağa kaldırır.
(İlgili projenin .env dosyaları platform/docker/.env üzerinden veya .cargo/config.toml ile otomatik okunmaktadır.)
Sistemde henüz bir yetki mekanizması (Keto) bulunmadığı için ilk admin kullanıcısını CLI üzerinden eklemelisiniz. Uygulamaya kayıt olduktan sonra email adresinize admin yetkisi vermek için:
make admin EMAIL=eposta@ornek.comBu yetkiyi verdikten sonra /roles sayfasına erişebilir ve diğer kullanıcıların yetkilerini UI üzerinden yönetebilirsiniz.