Bağlam mühendisliği, açıkça açıklandı (görsellerle): (aşağıda resimli bir rehber)
Peki, bağlam mühendisliği nedir? Doğru bilgiyi, doğru formatta, doğru zamanda LLM'nize sunmanın sanatı ve bilimidir. İşte Andrej Karpathy'nin bağlam mühendisliği üzerine bir alıntısı... 👇
Bağlam mühendisliğini anlamak için önce bağlamın anlamını anlamak çok önemlidir. Günümüz ajanları sadece sohbet botlarından çok daha fazlasına dönüştü. Aşağıdaki grafik, bir ajanın düzgün çalışması için ihtiyaç duyduğu 6 tür bağlamı özetlemektedir. Buna bir göz 👇 at.
Artık bilmelisiniz ki, sadece temsilcileri "yönlendirmek" yeterli değil. Girdiyi (bağlamı) mühendislik yapmalısınız. Bunu şöyle düşünün: 🧠 LLM = CPU 💾 Bağlam Penceresi = RAM Temelde "RAM"i yapay zekanız için mükemmel talimatlarla programlıyorsunuz. Devam... 👇
Peki bunu nasıl yapacağız? Bağlam mühendisliği 4 temel aşamaya ayrılabilir: - Yazı Bağlamı - Bağlam Seçimi - Bağlamı sıkıştırmak - Bağlamı İzole Etmek Her birini tek tek anlayalım... 👇
1️⃣ Yazım bağlamı: Bağlam yazmak, bir ajanın bir görevi yerine getirmesine yardımcı olmak için bağlam penceresinin dışına kaydetmek anlamına gelir. Bunu şu adrese yazarak yapabilirsiniz: - Uzun süreli hafıza (seanslar boyunca devam eder) - Kısa süreli hafıza (oturum süresince kalır) - Bir durum nesnesi Şuna👇 bak
2️⃣ Bağlamı okuyun: Bağlamı okumak, bir ajanın bir görevi yerine getirmesine yardımcı olmak için onu bağlam penceresine çekmek demektir. Şimdi bu bağlam şu kaynaklardan alınabilir: - Bir araç -Bellek - Bilgi tabanı (docs, vektör veritabanı) Şuna👇 bak
3️⃣ Bağlamı sıkıştırma Bağlamı sıkıştırmak, sadece bir görev için gereken tokenların saklanması demektir. Alınan bağlam, çoğaltılmış veya gereksiz bilgiler içerebilir (çoklu turlu araç çağrıları), bu da ekstra tokenlara ve maliyetin artmasına yol açar. Bağlam özetlemesi burada yardımcı oluyor. Şuna👇 bak
4️⃣ İzole Bağlam Bağlamı izole etmek, bir ajanın bir görevi yerine getirmesine yardımcı olmak için onu bölmeyi içerir. Bunu yapmanın bazı popüler yolları şunlardır: - Her birinin kendi bağlamına sahip birden fazla ajan (veya alt ajan) kullanılması - Kod depolama ve yürütme için kum havuzu ortamı kullanmak - Ve bir durum nesnesi kullanarak Şuna👇 bak
Özetlemek için, sizi bağlam mühendisliği grafikleriyle baş başa bırakacağım. Ayrıca, bağlam mühendisliği için açık kaynaklı bir yığın da burada: - Hafıza: @zep_ai - Bilgi temeli: @milvusio - Ajan orkestrasyonu: @crewAIInc - Gözlemlenebilirlik ve izleme: @deepeval
9,12K