مدل چیزی به یاد نمیآورد. شما به یاد میآورید.
قبلاً فکر میکردم مدلهای زبانی بزرگ (LLMs) حافظه دارند.
فکر میکردم هر جلسه گفتگو (chat session) کانتکست مخصوص به خود را ذخیره میکند. اما اشتباه میکردم.
مدلهای LLM بدون وضعیت (stateless) هستند. مدل هیچ چیزی را از یک درخواست به درخواست بعدی به یاد نمیآورد.
وقتی تاریخچه گفتگو را میبینید، در واقع در حال مشاهده آرایهای از پیامها هستید. برای ایجاد یک گفتگو، باید با هر پرامپت جدید، کل تاریخچه را دوباره به مدل ارسال کنید.
اگر از یک SDK استفاده کنید، این فرآیند پنهان میماند. SDK پیچیدگیها را برای شما مدیریت میکند.
اگر از raw fetch استفاده کنید، همه چیز را میبینید. شما خودتان هدرها (headers)، بدنه (body) و آرایه پیامها را مدیریت میکنید.
نحوه عملکرد کانتکست به این صورت است:
• شما یک پیام میفرستید. • مدل پاسخ میدهد. • شما هر دو پیام را در یک آرایه ذخیره میکنید. • شما کل آرایه را برای سوال بعدی دوباره ارسال میکنید.
مدل فقط آنچه را که در درخواست فعلی ارسال میکنید میداند. بقیه موارد از بین رفتهاند.
درک این آرایه، پایه و اساس توسعه هوش مصنوعی است. این نقطه شروع برای روشهای پیشرفتهای مانند RAG، پنجرههای لغزان (sliding windows) و جستجوی معنایی (semantic search) است.
اگر میخواهید ابزارهای هوش مصنوعی قابل اعتمادی بسازید، از تکیه بر انتزاعها (abstractions) دست بردارید. درخواستهای خام (raw requests) را بررسی کنید. خودتان تاریخچه را کنترل کنید.
متن کامل: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk