Verileri Korurken LLM'leri Kırmaktan Nasıl Kaçınılır: Guardrails Filtresinin Perde Arkası
OpenAI
Anthropic
Bu makale, LLM istekleri için bir veri koruma katmanı olan Guardrails Filtresi oluşturmanın mühendislik zorluklarını detaylandırıyor. Akış yanıtlarında kişisel verileri maskeleme ve maskesini kaldırma, araç çağrılarını işleme ve birden fazla API formatını destekleme karmaşıklıklarını vurguluyor. Yazar, filtrenin hem Chat Completions hem de Messages API'leri için uygulanmasından edindiği içgörüleri paylaşıyor.
Makale, büyük dil modelleriyle etkileşimlerde kişisel verileri korumak için tasarlanmış bir güvenlik filtresinin geliştirilmesini ele alıyor. Düzenli ifadeler kullanarak kişisel verileri bulmak basit olsa da, asıl zorluk, uygulama ile model arasına filtreyi entegre etmek ve etkileşimi bozmamaktır. Filtre, sıradan istekleri, akışı (streaming), araç çağrılarını (tool calling) işlemeli, mesaj yapısını korumalı ve meta verileri muhafaza etmelidir. Aynı veri türünün birden fazla örneğini ele almak için filtre, bir eşleme tablosu kullanır ve her benzersiz değere <PHONE_1> gibi benzersiz yer tutucular atar. LLM'ler durumsuz olduğundan, filtre her istekte tüm konuşma geçmişini yeniden işlemelidir. Akış modunda yanıtlar parçalar halinde gelir ve yer tutucular parçalara bölünebilir; filtre, maskelemenin kaldırılmasını denemeden önce yeterli veriyi biriktirmek için bir tampon kullanır. Ayrıca içerik, akıl yürütme ve araç çağrısı argümanları dahil olmak üzere yanıtlardaki çeşitli alanları işler ve verilerin tümünde doğru şekilde geri yüklenmesini sağlar. Uygulama, yalnızca Chat Completions'ta akış için yaklaşık 1.500 satır koda ulaştı. Ek olarak, Messages API'yi desteklemek, etkinlik tabanlı formatı nedeniyle ayrı bir uygulama gerektirdi ve toplam test kodu 4.000 satırı aştı.
Kaynak: Habr — хаб ИИ —
orijinal
