LLM’lerin çıkması ile çok popüler olmuş bir terim.
Önce Neyi Çözdüğünü Yazalım Basitçe
Tüm kitabı veya kodu LLM’e göndermek istiyorsun, sığmıyor, veya çok alakasız yerleri de gönderince LLM’in kafası karışıyor.
Çözümü ise sadece alakalı kesitleri atmak. Olay aslında bu kadar.
Alakalı Kesitleri Nasıl Bulacağız? Control + F Deyip Kelime Kelime mi Arayacağız?
Bu da bir çözüm. Fakat burada embedding ve vector store denilen bir olay var.
Yani yine bir model kullanarak, kelimelerin, paragrafların vektör gösterimini alıyorsunuz. Uzay gibi düşün ama mesela 1536 boyutu olan bir alan bu.
Ha işte bu alanda, “miyav” kelimesi kediye, “süt” kelimesi beyaz ve ineğe yakın. Bu yakınlığa göre bulmaya semantic search deniliyor. Vektörleri yaratıp vector store’a koyuyorsun, cosine similarity ile buluyorsun. Bulduktan sonra alakalı yerleri gidip LLM’e soru ile beraber atıyorsun. “Sadece bunlara bak, sallama sakın” diyorsun. Olay bu.
Bu soruyu git, şu 5 paragrafa göre cevapla.
E peki bitti mi? Her şey bu kadar mı?
Hayır. Temeli basit de olsa, üzerinde sürekli çalışılan bir konu. Mesela illa tek bir kitap değil, şirketin tüm dökümanlarına sormanız gerekebilir, hatta SQL DB bağladınız, buradan da bir şeyler getirmesi gerekebilir.
LLM’ler ile agent yaratıp, hangi durumda hangi araçları kullanması gerektiğini onlara bırakabilirsiniz. Burada SQL kullanmalık bir durum var, hemen bir query yazalım çalıştıralım bu sonucu alıp ona göre bakalım diyebilir agent.
Üstte bahsettiğim Ctrl + F örneğini hatırlayalım. Bu şekilde de aratıp, biraz da bu dümdüz arama sonuçlarından paragraflar ile LLM’i besleyebiliriz.
Başka Ne Taktikler Kullanabiliriz?
- Kullanıcı bir soru sordu, ama soru düzgün değil. Bu soruyu önce ”search engine query”ye çevirebiliriz. Daha bir Google’lanabilir olur. Tamamen örnek olması amaçlı, “James Bond kaç yaşında” gibi bir soru, ”James Bond doğum tarihi”ne dönebilir.
- Sorudan farklı konular yaratılıp, hepsinden de 1–2 query yaratılabilir.
“iOS 18 news” gibi bir girdi, “iOS 18 Features and Updates” ve “Impact of iOS 18 on App Development” konularına çevrilebilir. - Sorulan soru, sohbet geçmişine göre düzenlenip başlı başına bir soru olabilir. Mesela:
-What was the last movie of James Bond?
+The last James Bond movie was No Time to Die, released in September 2021. It was Daniel Craig’s fifth and final appearance as the fictional British secret agent.
-And how old is he now?
Bu son soru, sohbet geçmişi ile beraber ”Daniel Craig’s age” şeklinde değiştirilebilir LLM ile. Yoksa zaten tek başına bir işe yaramaz.(Conversational Retrieval QA)|