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

Gaia Düğümünüzü Özelleştirme

Gaia projesinin temel amaçlarından biri, her bireyin ince ayarlanmış LLM'leri ve özel bilgileri kullanarak kendi aracı hizmet düğümünü oluşturmasını ve çalıştırmasını sağlamaktır. Büyük olasılıkla, varsayılan Llama 3.2 LLM ve Paris kılavuz kitabı bilgi tabanı ile bir düğüm çalıştırmayacaksınız.

Bu bölümde, düğümünüzü özelleştirmenin yollarını tartışacağız.

Önceden ayarlanmış konfigürasyonlar

LLM ayarları, bilgi tabanı için vektör toplama ve istemler gibi tüm düğüm yapılandırma seçenekleri gaianet/config.json dosyası. Modellerinizi ve vektör koleksiyonlarınızı kullanmak için bu dosyayı doğrudan düzenleyebilirsiniz.

Veya farklı bir config.json düğümü başlattığınızda. Sadece bir URL iletin config.json dosya senin içinde gaianet init Komuta.

Önceden ayarlanmış birkaç config.json aralarından seçim yapabileceğiniz dosyalar bu depoda.

Örneğin, aşağıdaki komut bir Gaia düğümünü Llama 3 8B modeliyle başlatır.

gaianet init --config https://raw.githubusercontent.com/GaiaNet-AI/node-configs/main/llama-3-8b-instruct/config.json

URL'si config.json gerçek metin dosyasına işaret etmelidir. (yani raw.githubusercontent.com GitHub bağlantıları için URL) yerine o dosya için GitHub HTML sayfası.

Yapılandırma alt komutu

Düğümü başlattıktan sonra, düğümün yapılandırmasında değişiklik yapmak için config.json dosya Doğrudan. Ancak aşağıdakileri kullanmak daha kolay ve güvenlidir gaianet Değişiklik yapmak için CLI.

Not

Çalıştırmalısınız gaianet init ve gaianet başlangıç Düğüm yapılandırmasında herhangi bir değişiklik yaptıktan sonra tekrar.

Aşağıdaki komut aşağıdakileri gösterir config.json değişiklik yapabileceğiniz alanlar.

gaianet yapılandırma listesi

Şimdi bazı örneklere bakalım.

Bir LLM seçin

Huggingface'te aralarından seçim yapabileceğiniz 10.000'den fazla ince ayarlanmış açık kaynaklı LLM bulunmaktadır. Her birinin farklı boyutları (daha büyük modeller daha yeteneklidir ancak çalıştırılması daha pahalıdır), benzersiz yetenekleri (örneğin, sansürsüz, matematik veya muhakemede üstün olmak, geniş bağlam uzunluğunu desteklemek vb), alan uzmanlığı (örneğin, tıp, kodlama) ve / veya stilleri (örneğin, bir öğretmen veya korsan gibi konuşmak, kodla yanıt vermek, konuşmaları takip etmek) vardır.

Gaia node'un varsayılan LLM'sini alternatif bir LLM ile değiştirmek için ince ayarlanmış model için model dosyasında, istem şablonunda ve model bağlam uzunluğu parametrelerinde değişiklik yapmanız gerekecektir. Bu parametreler modele bağlı olarak değişir, ancak Gaia Huggingface kuruluşunun model kartlarında bulunabilirler. Örneğin, aşağıdaki komut LLM'yi bir Llama 3 8B modeline değiştirir.

gaianet yapılandırma \
--chat-url https://huggingface.co/gaianet/Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q5_K_M.gguf \
--chat-ctx-size 4096 \
--prompt-template llama-3-chat

Llama 3 8B modeli en az 16 GB RAM gerektirir.

Yayınlanan ince ayarlı modellerden hiçbiri kullanım durumunuz için mükemmel değilse, bu kılavuzları izleyerek kendi LLM'nizi de ince ayarlayabilirsiniz. Gaia düğümünüz kendi ince ayarlı modellerinizi çalıştırabilir.

Bu --chat-url argümanı aşağıdaki yerel bir dosyaya işaret edebilir $HOME/gaianet genel bir URL yerine. Bu, özel olarak eğitilmiş veya ince ayarlanmış bir LLM model dosyası kullanmanıza olanak tanır.

Bir bilgi tabanı seçin

Gaia'nın önemli bir özelliği, kullanıcıların düğüm üzerinde özel bilgi tabanı oluşturabilmeleri ve dağıtabilmeleridir. LLM. Her bilgi tabanı, bir vektör koleksiyonu için bir anlık görüntü dosyasıdır. Kendi bilgi tabanınızı oluşturmanızı teşvik ediyoruz. Ancak şunları da kullanabilirsiniz hazır bilgi tabanları. Aşağıdakileri yapmanız gerekecektir.

  • vektör koleksiyonunun URL'sini belirtin (yani anlık görüntü veya snapshot.tar.gz dosyası) içinde anlık görüntü seçenek.
  • bu vektör koleksiyonunu oluşturan aynı gömme modelini kullanın.
  • değiştirmek system_prompt modele arka plan bilgisi vermek için.
  • değiştirmek rag_prompt vektör koleksiyonundan bağlam alındığında modele soruyu yanıtlama talimatı vermek için.

Aşağıdaki örnek, düğümdeki bilgi tabanını "Paris guidebook" yerine "London guidebook" olarak değiştirir.

gaianet yapılandırma \
--snapshot https://huggingface.co/datasets/gaianet/london/resolve/main/london_768_nomic-embed-text-v1.5-f16.snapshot.tar.gz \
--embedding-url https://huggingface.co/gaianet/Nomic-embed-text-v1.5-Embedding-GGUF/resolve/main/nomic-embed-text-v1.5.f16.gguf \
--embedding-ctx-size 8192 \
--system-prompt "Londra, Birleşik Krallık'ta bir tur rehberisiniz. Lütfen Londralı bir ziyaretçinin sorusunu doğru bir şekilde yanıtlayın." \
--rag-prompt "Aşağıdaki metin kullanıcı sorusunun bağlamıdır.\n----------------\n"

Bu --snapshot altında yerel bir dosyaya işaret edebilir $HOME/gaianet genel bir URL yerine. Bu, özel bir vektör koleksiyonu anlık görüntüsü kullanmanıza olanak tanır.

Vektörlerin kalitesine ve boyutuna bağlı olarak, aşağıdaki ayarları da değiştirmeniz gerekebilir qdrant- seçeneklerine geri alma davranışını özelleştirin.

  • qdrant-limit istemine eklenecek maksimum ilgili bağlam sayısını ayarlar. Bilgi tabanınız büyük metin bölümlerinden oluşuyorsa (örneğin, her kitap bölümü bir vektördür), istem uzunluğunu makul bir boyutla sınırlamak için muhtemelen bunu 1 veya 2 yapmalısınız.
  • qdrant-score-threshold bilgi içeriğinin "ilgili" olarak kabul edilmesi için karşılaması gereken minimum eşleşme "puanı "dır. Bu, bilgi metninin kalitesine ve gömme modeline bağlıdır. Genel olarak, istemdeki alakasız bağlamı azaltmak için bu puan 0,5'in üzerinde olmalıdır.

Gömme modeli metni vektörlere kodlar ve dönüştürür, böylece metin saklanabilir, aranabilir ve geri alınabilir. Farklı için bağlam malzemesinde, en iyi performansı elde etmek için farklı bir gömme modeline ihtiyacınız olabilir. MTEB liderlik tablosu performansı görmek için iyi bir yerdir gömme modellerinin kıyaslamaları. Bunların birçoğunu Huggingface'teki gaia organizasyonunda bulabilirsiniz.

İstemleri özelleştirme

İçinde config.jsonistemleri de özelleştirebilirsiniz. İstemler genellikle ince ayarlanmış LLM veya bilgi için uyarlanmıştır düğümden en uygun yanıtları üretmek için temel oluşturur.

Bu --system-prompt seçeneği bir sistem istemi ayarlar. Düğümün arka planını ve "kişiliğini" sağlar. Her API isteği kendi sistem istemini ayarlayabilir.

Bu --rag-prompt sistem isteminden (veya kullanıcı sorgusundan) sonra eklenecek istemdir. Vektör veritabanından alınan RAG bağlamını tanıtır ve bunu takip eder.

Bu --rag-policy seçeneği nerede olduğunu belirtir bez-prompt ve bağlam gitmelidir. Varsayılan olarak değeri sistem-mesajı ve bağlamı sistem istemine yerleştirir. Ancak bunu şu şekilde de ayarlayabilirsiniz son-kullanici-mesaji'yi koyan bez-prompt ve kullanıcıdan gelen en son mesajın önündeki bağlam.

Sonraki adımlar

Yapılandırma değişiklikleri yaptıktan sonra düğümü yeniden başlatmayı ve yeniden başlatmayı unutmayın.

# Düğüm çalışıyorsa
# gaianet stop

gaianet init

gaianet başlangıç

Sonra, şunları yapabilirsiniz

İyi eğlenceler!