Ana içeriğe geç
Sürüm: 2.0.0

Uzun vadeli bilgiye sahip Gaia düğümleri

LLM uygulaması hem uzun süreli hem de kısa süreli hafıza gerektirir. Uzun süreli hafıza olgusal bilgileri, tarihi gerçekleri, arka plan hikayelerini vb. içerir. Bilginin iç tutarlılığını korumak için bunlar en iyi şekilde içeriğe küçük metin parçaları yerine tam bölümler olarak eklenir.

RAG bir LLM uygulamasına bağlamsal bilgi enjekte etmek için önemli bir tekniktir. Doğruluğu artırır ve LLM'lerin halüsinasyonunu azaltır. Etkili bir RAG uygulaması, gerçek zamanlı ve kullanıcıya özel kısa süreli hafızayı (parçalar) istem bağlamında sabit uzun süreli hafıza (bölümler) ile birleştirir.

Uygulamanın uzun süreli belleği sabit (hatta değişmez) olduğundan, bunu LLM ile sıkıca bağlanmış bir vektör veritabanında paketliyoruz. İstemci uygulaması kısa vadeli belleği istemde bir araya getirir ve LLM sunucusundaki uzun vadeli bellek ile desteklenir. Bu yaklaşıma "sunucu tarafı RAG" adını veriyoruz.

Modern LLM'ler tarafından desteklenen uzun bağlam uzunluğu, özellikle metin bölümleri tarafından en iyi şekilde temsil edilen uzun vadeli bilgiler için çok uygundur.

Bir Gaia düğümü, sunucu tarafında uzun vadeli bilgi ile temellendirilmiş OpenAI uyumlu bir LLM hizmetidir. İstemci uygulaması onunla basitçe sohbet edebilir veya gerçek zamanlı / kısa süreli bellek sağlayabilir, çünkü LLM zaten alanın veya arka planın farkındadır.

Örneğin, ChatGPT'ye Katman 2 nedir sorusunu sorarsanız, cevap Katman 2'nin bilgisayar ağından bir kavram olduğudur. Ancak, bir blok zinciri çalışanına sorarsanız, Katman 2'nin orijinal Ethereum ağını ölçeklendirmenin bir yolu olduğunu söyler. Genel bir LLM ile bilgi destekli LLM'ler arasındaki fark budur.

Harici bilgi hazırlığını ve bilgi destekli bir LLM'nin bir görüşmeyi nasıl tamamladığını ele alacağız. Bir RAG uygulamasının nasıl çalıştığını öğrendiyseniz, bir uygulama oluşturmaya başlamak için Gaia ile bir RAG uygulaması oluşturun bölümüne gidin.

  1. Uzun süreli bellek olarak kendi bilginiz için katıştırmalar oluşturun.
  2. Bilgi destekli bir LLM üzerinde bir kullanıcı sorgusunun yaşam döngüsü.

Bu çözüm için şunları kullanacağız

  • kullanıcıya yanıtlar üretmek için Llama-3-8B gibi bir sohbet modeli.
  • Gömme oluşturmak ve almak için nomic-embed-text gibi bir metin gömme modeli.
  • Katıştırmaları depolamak için Qdrant gibi bir Vektör Veri Tabanı.

Bilgi katıştırmaları oluşturmak için iş akışı

İlk adım, bilgi tabanımız için gömüler oluşturmak ve gömüleri bir vektör veri tabanında saklamaktır.

create-embedding

Öncelikle uzun metni bölümlere (yani parçalara) ayırıyoruz. Tüm LLM'lerin maksimum bir bağlam uzunluğu vardır. Metin çok uzunsa model bağlamı okuyamaz. Bir Gaia düğümü için en çok kullanılan kural, içeriği bir bölümde bir araya getirmektir. Unutmayın, iki parça arasına boş bir satır ekleyin. Metninizi parçalara ayırmak için başka algoritmalar da kullanabilirsiniz.

Belgeyi parçalara ayırdıktan sonra, bu parçaları gömme modelinden yararlanarak gömmelere dönüştürebiliriz. Gömme modeli, metne dayalı gömmeler oluşturmak ve benzer gömmeleri aramak için eğitilmiştir. İkinci işlevi kullanıcı sorgusu sürecinde kullanacağız.

Ek olarak, gömülmeleri saklamak için bir vektör veri tabanına ihtiyacımız olacak, böylece bu gömülmeleri istediğimiz zaman hızlı bir şekilde alabileceğiz.

Bir Gaia düğümünde, en sonunda kullanmak için katıştırmalarla birlikte bir veritabanı anlık görüntüsü alacağız. Gaia web aracını kullanarak, bir düz metin dosyasından ve bir markdown dosyasından katıştırmalarınızı nasıl oluşturacağınıza göz atın.

Bilgi destekli bir LLM'de bir kullanıcı sorgusunun yaşam döngüsü

Daha sonra, bilgi destekli bir LLM üzerinde bir kullanıcı sorgusunun yaşam döngüsünü öğrenelim. Örnek olarak Gaia bilgisine sahip bir Gaia Node ' u ele alacağız.

user-query-rag

Bir soru sorun

düğüme insan dilinde bir soru gönderdiğinizde, gömme modeli önce sorunuzu gömmeye dönüştürecektir.

Benzer katıştırmaları al

Ardından, gömme modeli Qdrant vektör veri tabanında depolanan tüm gömmeleri arayacak ve soru gömmelerine benzer olan gömmeleri geri getirecektir.

Kullanıcı sorgusuna yanıt

Gömme düğümü, alınan gömmeleri sohbet modeline geri gönderir. Sohbet modeli, son olarak sorgularınızı yanıtlamak için alınan katıştırmaları ve girdi sorularınızı bağlam olarak kullanacaktır.