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

GaiaNet Düğümünüzü Özelleştirin

GaiaNet projesinin temel hedeflerinden biri, her bireyin kendi projesini oluşturmasını ve yürütmesini sağlamaktır. ince ayarlanmış LLM'leri ve özel bilgileri kullanarak ajan hizmet düğümü. Büyük olasılıkla, varsayılan Llama 3.2 3B LLM ve Paris guidebook 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, hepsi gaianet/config.json dosyası. Modellerinizi ve vektör koleksiyonlarınızı kullanmak için bu dosyayı doğrudan düzenleyebilirsiniz. Veya farklı bir dosya seçebilirsiniz. config.json düğümü başlattığınızda. Sadece bir URL iletin config.json dosya senin içinde gaianet init Komut. Önceden ayarlanmış birkaç config.json aralarından seçim yapabileceğiniz dosyalar bu depoda. Örneğin, aşağıdaki komut bir GaiaNet düğümünü Llama 3 8B modeli ile 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.

Çalıştırmalısınız gaianet init 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.

GaiaNet düğümünün varsayılan LLM'sini alternatif bir LLM ile değiştirmek için ince ayarlı 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 GaiaNet Huggingface organizasyonunun 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. GaiaNet 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

GaiaNet'in ö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ı öneririz. 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 depolanabilir, 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 gaianet 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-mesajiki koyar 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!