İnternet bağlantısı olmadan belgelerinize sorular sorun ve LLM'lerin gücünden yararlanın. %100 özel, verileriniz hiçbir noktada yürütme ortamınızdan çıkmaz. Belgelerinizi bir internet bağlantısı olmadan içe aktarabilir ve sorular sorabilirsiniz!
LangChain ve GPT4All ile oluşturulmuştur.
Kodları burada çalıştırmak için önce tüm gereksinimleri yükleyin:
Ardından, 2 modeli indirin ve ./models
adlı bir klasöre yerleştirin:
- LLM: varsayılan olarak ggml-gpt4all-j-v1.3-groovy.bin kullanılır. Farklı bir GPT4All-J uyumlu model tercih ederseniz, yalnızca indirin ve
privateGPT.py
dosyasında referans verin. - Gömme: varsayılan olarak ggml-model-q4_0.bin kullanılır. Farklı bir uyumlu Gömme modeli tercih ederseniz, yalnızca indirin ve
privateGPT.py
veingest.py
dosyalarında referans verin.
Bu depo, bir state of the union transcript örneği kullanır.
.Txt dosyanızı hazırlayın.
Verileri içe aktarmak için aşağıdaki komutu çalıştırın.
python ingest.py <path_to_your_txt_file>
Yerel vektör deposunu içeren bir db
klasörü oluşturur. Belgenizin boyutuna bağlı olarak zaman alabilirsiniz.
ingest
komutunu çalıştırarak istediğiniz kadar belge içe aktarabilir ve tümü yerel gömme veritabanında birikir. Sıfırdan başlamak isterseniz, db
klasörünü silin.
Not: İçe aktarma işlemi sırasında hiçbir veri yürütme ortamınızdan çıkmaz. İnternet bağlantısı olmadan içe aktarabilirsiniz.
python privateGPT.py
ve kodun çalışmasını bekleyin.
> Enter a query:
Ardından Enter'a basın. LLM modeli prompt'u tüketip cevabı hazırlarken 20-30 saniye beklemeniz gerekebilir (makinenize bağlı olarak). Hazır olduğunda cevabı ve belgelerinizden aldığı 4 kaynağı yazdıracak; sonra başka bir soru sorabilirsiniz, betiği yeniden çalıştırmadan sadece prompt'u bekleyin.
Not: İnternet bağlantınızı kapatsanız bile betik çıkarımı hala çalışır. Veri, yerel ortamınızdan çıkmaz.
Betiğin tamamını yerel modelleri seçerek ve LangChain
'in gücünü kullanarak, ortamınızdan herhangi bir veri çıkarmadan ve makul performansla çalıştırabilirsiniz.
ingest.py
, belgeyi ayrıştırmak veLlamaCppEmbeddings
kullanarak yerel olarak gömülü oluşturmak içinLangChain
araçlarını kullanır. Ardından, sonucu yerel bir vektör veritabanınaChroma
vektör deposu kullanarak kaydeder.privateGPT.py
, soruları anlamak ve cevaplar oluşturmak içinGPT4All-J
temelli yerel bir LLM kullanır. Cevapların bağlamı, belgelerinizden doğru bağlam parçasını bulmak için benzerlik araması kullanarak yerel vektör deposundan çıkarılır.GPT4All-J
sarmalayıcısı, LangChain 0.0.162'de tanıtıldı.
LLM'ler ve Vektör gömülmeleri kullanarak tamamen özel bir soru-cevap çözümü için izlenebilirliği doğrulamak için bir test projesidir. Üretim için hazır değildir ve üretimde kullanılması amaçlanmamaktadır. Modellerin seçimi, gizlilik için optimize edilmemiş, ancak gizliliği korurken performansı artırmak için farklı modeller ve vektör deposu kullanmak mümkündür.