بازنشر — محتوا از جولین موتزنهارت
۱۷,۰۰۰ یورو جریمه برای یک JSON بدفرمت: اشتباه مرگبار با LLMها! 
یک توسعهدهنده باعث تأخیر عظیمی در پردازش فایلهای حیاتی برای شرکتش شد. دلیل؟ یک خطای ساده یکپارچهسازی. 
با این حال او به وضوح در پرامپت خود مشخص کرده بود: «به صورت JSON پاسخ بده.» مشکل این است که مدل، بسیار مؤدبانه، پاسخ داد: «البته، این هم اطلاعات:»، قبل از اینکه کد خود را وارد کند.
نتیجه: پارسر که انتظار یک شیء JSON خام را داشت، در یک حلقه کرش کرد. 
درس: یک پرامپت فقط یک دستورالعمل است، نه یک الزام.
مثل این است که به سگتان بگویید به مرغ روی میز دست نزند، بعد بروید بخوابید. هیچ چیز در واقع مدل هوش مصنوعی را مجبور به اطاعت دقیق از فرمت درخواستی نمیکند.
راهحل واقعی: «رمزگشایی محدودشده»
به جای امیدواری به اینکه مدل از دستورالعملهای متنی شما پیروی کند، به آن یک «JSON Schema» بدهید (نقشه دقیق پاسخ مورد انتظار، برای تعریف مثلاً اینکه یک مبلغ باید عدد باشد).
چگونه در زیر کاپوت کار میکند؟
به جای اینکه اجازه دهید LLM کلمه بعدی را از کل واژگانش انتخاب کند، موتور تولید در زمان واقعی «توکنهای» مجاز را دوباره محاسبه میکند. برای مثال، برای شروع یک شیء JSON، فقط آکولاد باز { را مجاز میکند. مدل هیچ انتخاب دیگری ندارد. بنابراین فرمت از طریق ساختار معتبر میشود، که از راهاندازی هزاران تلاش جدید غیرضروری (retry) جلوگیری میکند! 
چگونه آن را بدون بازنویسی یک هیولای بیش از حد پیچیده پیادهسازی کنیم؟
به سادگی JSON Schema خود را به APIهای استاندارد (مانند OpenAI یا Anthropic) بفرستید، که پردازش آن را بر عهده میگیرند. و اگر مدل هوش مصنوعی خود را به صورت محلی میزبانی میکنید، موتورهایی مانند vLLM به همان راحتی آن را مدیریت میکنند.
دست از انجام هر کاری در محیط عملیاتی بردارید و دادههای خروجی LLMهای خود را ایمن کنید! 
خلاصه این مقاله توسط هوش مصنوعی تولید شده است.
و شما، آیا تا به حال دیدهاید که یک سیستم در میانه کار به دلیل یک پاسخ غیرمنتظره از هوش مصنوعی منفجر شود؟
#هوش_مصنوعی #توسعه #JSON #LLM #OpenAI #VLLM #برنامه_نویسی #فناوری
اگر میخواهید درباره این موضوع با من بحث کنید یا از مهارتهای من استفاده کنید، میتوانید از طریق پیام خصوصی یا تماس تصویری با من در تماس باشید.
منابع لینکدین
- پروفایل: Pierre Jean Duvivier dit Sage (لینکدین)
- نویسنده مشترک: Julien Mutzenhardt (لینکدین)
پست 🚨 ۱۷,۰۰۰ یورو جریمه برای یک JSON بدفرمت: اشتباه مرگبار با LLMها! 🚨 ابتدا در les plumes qui mordent ظاهر شد.
سوالات متداول
سوالات متداول ۱۷۰۰۰ جریمه برای یک JSON بدفرمت اشتباه مرگبار با LLMها
۱ این جریمه ۱۷۰۰۰ درباره چیست
به یک مورد واقعی اشاره دارد که در آن یک سیستم هوش مصنوعی خروجی JSON بدشکل تولید کرد که یک فرآیند پاییندستی را مختل کرد و منجر به جریمه مالی ۱۷۰۰۰ شد. این به عنوان یک مثال هشداردهنده از اینکه چرا قالببندی خروجی اهمیت دارد استفاده میشود
۲ JSON چیست
JSON یک قالب متنی ساده برای ساختاردهی دادهها به صورت جفتهای کلید-مقدار، لیستها و اشیاء تودرتو است. این روش استاندارد تبادل داده توسط نرمافزارها است
۳ JSON بدفرمت به چه معناست
JSON که قوانین نحوی را نقض میکند — برای مثال نقلقولهای گمشده، کاماهای اضافی، کاراکترهای بدون escape، براکتهای نامتوازن یا متن اضافی قبل/بعد از شیء. پارسرها آن را رد میکنند
۴ چرا LLMها JSON نامعتبر تولید میکنند
LLMها متن را به صورت احتمالی تولید میکنند. آنها ممکن است توضیحاتی اضافه کنند، از حصارهای کد مارکداون استفاده کنند، فیلدها را توهم کنند، خروجی را قطع کنند یا کمی از schema منحرف شوند — به ویژه بدون دستورالعملهای سختگیرانه یا اعتبارسنجی
۵ چگونه یک خطای قالببندی میتواند ۱۷۰۰۰ هزینه داشته باشد
اگر یک سیستم کورکورانه به خروجی LLM اعتماد کند، JSON نامعتبر میتواند خطوط لوله خودکار را کرش کند، تراکنشهای اشتباه ایجاد کند، جریمههای قرارداد-SLA را فعال کند یا اصلاحات دستی را الزامی کند. یک خطای نحوی کوچک میتواند به ضرر مالی واقعی تبدیل شود
۶ رایجترین اشتباه JSON که LLMها مرتکب میشوند چیست
پیچیدن JSON در مارکداون یا اضافه کردن متن محاورهای در اطراف آن. سایر مشکلات مکرر: کاماهای اضافی، نقلقولهای تک و خروجی قطعشده
۷ چگونه از یک LLM بخواهم JSON معتبر برگرداند
به صراحت فقط JSON بخواهید — بدون توضیح — یک schema یا مثال ارائه دهید، از دمای پایین استفاده کنید و — مهمتر از همه — اعتبارسنجی و تلاش مجدد در صورت شکست
۸ اعتبارسنجی JSON schema چیست
روشی برای بررسی اینکه JSON با یک ساختار مورد انتظار مطابقت دارد. ابزارهایی مانند اعتبارسنجهای JSON Schema خطاها را قبل از رسیدن به محیط عملیاتی شناسایی میکنند
۹ آیا باید به خروجی LLM بدون بررسی آن اعتماد کنم
خیر. همیشه خروجی LLM را به صورت برنامهنویسی اعتبارسنجی کنید. با آن به عنوان ورودی غیرقابل اعتماد رفتار کنید، درست مانند دادههای ارسالشده توسط کاربر
۱۰ خروجیهای ساختاریافته یا حالت JSON در LLMها چیست
ویژگیهایی که توسط برخی ارائهدهندگان مدل ارائه میشود که محدود میکند