Regex LLM Çıktı Çıkarıcı
Dağınık LLM yanıtlarından yapılandırılmış veriyi (JSON, kod blokları, anahtar-değer çiftleri) çıkar. Yaygın şablonlardan seç veya kendi regex'ini yaz. Canlı önizleme.
Sonucu görmek için yukarıya giriş yapın.
Bu ne işe yarar?
LLM'den JSON istedin. Sana ```json fence'lerine sarılı, "Tabii, buyur!" girişiyle JSON verdi. Ya da sadece 42 isterken "cevap 42" verdi. Ya da virgülle ayrılmış string isterken numaralı liste verdi. Kimsenin gerçek bir çözüm yayınlamadığı parsing problemine hoş geldin. Bu araç yaygın çıkarım pattern'lerinin küçük bir kütüphanesini ve serbest bir regex editörünü tutar, böylece pattern'ini tarayıcıda gerçek response metnin üzerinde iyileştirebilirsin.
Ne zaman kullanılır
- Bir agent pipeline'ı için çıktı parser'ı tasarlama. İçine birkaç gerçek yanıt at, hepsini ele alan bir regex inşa et, koduna yapıştır.
- Bozuk bir parser'ı debug etme. Prod pipeline'ın model fence öncesi "İşte JSON:" eklediği için fail etmeye başladı. Regex'inin tam olarak nerede uyuşmayı kestiğini gör.
- Hızlı tek seferlik çıkarım. Bir doc'da on LLM yanıtın var; her birinden yapılandırılmış kısmı çıkarman gerekiyor. Yapıştır, eşleştir, kopyala, devam.
Şablonlar
- ```json code fence içinde JSON — en yaygın durum. Grup 1 = gövde. Birden fazla fence olabilirse
gbayrağını kullan. - Herhangi bir code fence içinde JSON — aynı fikir ama dil etiketi opsiyonel ve sadece gövde
{ … }veya[ … ]görünüyorsa yakalıyoruz. - Fence içinde YAML — JSON-fence ile aynı ama
```yaml/```ymlile eşleşir. - Herhangi fenced code block — dil etiketi + gövdeyi yakalar. İçinde ne olduğunu bilmediğinde kullan.
- Çıplak JSON nesnesi — ilk
{'tan son}'a kadar aç gözlü eşleşme. Kırılgan ama "sadece JSON" yanıtları için işe yarar. - Numaralı liste öğeleri —
gmile^\s*\d+[.)]\s*(.+)$. Her öğenin metnini numarasız yakalar. - key: value çiftleri — satır satır. Grup 1 = anahtar, grup 2 = değer. İlk iki noktada durur.
- Tekil sınıflandırma etiketi — tek kelime ile yanıtlaması gereken sentiment / safety sınıflandırıcılar için.
- Custom regex — pattern'i temizle ve kendininkini yaz.
"Parsed JSON" satırı
İlk yakalama grubu (yoksa tam eşleşme) JSON olarak parse edilirse, araç parse edilmiş sonucu grupların altına yazar. Bu sadece "regex eşleşti mi" değil, "istediğin parçayı JSON çözülebilir biçimde yakaladı mı" sorusunu cevaplar. Parse fail olursa, o satır boş kalır.
Yaygın tuzaklar
- JavaScript regex, PCRE değil.
\Kyok, özyinelemeli pattern yok. Lookbehind modern tarayıcı gerektirir (2018 sonrası — burada iyi ama pattern'i başka yere kopyalarsan dikkat). - Model JSON'unu yorumla sarar. String başında
{arama — fence bul veya toleranslı non-greedy capture kullan. - "JSON" çıktısında trailing virgüller. Bazı modeller training'e rağmen trailing virgül kaçırır. Regex eşleşir;
JSON.parsefail olur. Parse etmeden önce trailing virgülleri kaldır. - Tek tırnaklı "JSON". Aynı hikaye — JSON gibi görünür, geçerli JSON değil, regex umursamaz,
JSON.parseumursar. - İç içe fence'ler. Model yanıtının içine markdown fence örneği koyarsa, içteki fence'te yanlış-pozitif eşleşme alabilirsin. Gerçekçi verilerle test et.
- Ciddi iç içe parantez çıkarımı için regex kullanma. Model bir nesne içeren bir nesne içeren bir nesne dizisi döndürürse, gerçek JSON farkındalıklı çıkarıcı yaz — veya fence formunu iste ve fence gövdesini parse et.
- Gizlilik. Metin ve pattern sayfada kalır. Upload yok, API çağrısı yok.