All NLP Cloud plans can be stopped anytime. You only pay for the time you used the service. In case of a downgrade, you will get a discount on your next invoice.
Alan bilgisine (dahili belgeler, sözleşmeler, kitaplar vb.) dayalı soruları yanıtlamak zordur. Bu makalede, ChatDolphin, LLaMA, ChatGPT, GPT-4 gibi modellerle anlamsal arama ve metin üretimini karıştırarak bunu büyük bir doğrulukla başarmak için Retrieval-Augmented Generation (RAG) adı verilen gelişmiş bir tekniği araştırıyoruz ...

Alan bilgisine dayalı soru yanıtlama, önce yapay zeka modeline bir bağlam göndermenizi ve ardından bununla ilgili bir soru sormanızı gerektirir.
Örneğin aşağıdaki içeriği gönderebilirsiniz:
All NLP Cloud plans can be stopped anytime. You only pay for the time you used the service. In case of a downgrade, you will get a discount on your next invoice.
Şimdi şu soruyu sormak isteyebilirsiniz:
When can plans be stopped?
Yapay zeka şöyle bir cevap verecektir:
Anytime
Daha fazla ayrıntı için soru yanıtlama hakkındaki belgelerimize bakın Burada.
Bu yaklaşımla ilgili sorun, bağlamınızın boyutunun (yani girdi metninizin boyutunun) sınırlı olmasıdır. Yani tüm alan bilginizi bağlam olarak gönderemezsiniz.
Diyelim ki ürün belgeleriniz hakkında her şeyi bilen bir destek sohbet robotu oluşturmak istiyorsunuz, böylece son kullanıcılar ürünle ilgili herhangi bir soruyu gerçek bir destek temsilcisiyle iletişime geçmeden sohbet robotuna sorabilir. Büyük olasılıkla, belgeleriniz birkaç yüz veya binlerce kelimeden, hatta milyonlarca kelimeden oluşacaktır...
Bu sınırlamanın nasıl aşılacağını ve çok büyük belgeler üzerinde soru yanıtlamanın nasıl gerçekleştirileceğini inceleyelim.
Soru yanıtlama söz konusu olduğunda, 2 tür teknoloji kullanılabilir. Metin oluşturma (üretken yapay zeka) ve anlamsal arama.
Birincisi, metin oluşturma, temelde yukarıda gösterdiğim şeydir. Genellikle ChatDolphin, LLaMA, ChatGPT, GPT-4... gibi gelişmiş bir metin oluşturma modeli kullanır. Bir insanın sorusunu anlayabilir ve bir insan gibi yanıt verebilir. Ancak büyük belgeler üzerinde çalışmaz. Alan bilginizle üretken bir yapay zeka modeline ince ayar yapmak, bir modele bilgi eklemek için ince ayar iyi bir teknik olmadığından iyi çalışmayacaktır.
Anlamsal arama temel olarak bir belgeyi Google ile aynı şekilde, ancak kendi alan bilginize dayalı olarak aramakla ilgilidir.
Bunu başarmak için, dahili belgelerinizi vektörlere ("gömme" olarak da bilinir) dönüştürmeniz gerekir. Daha sonra sorunuzu da bir vektöre dönüştürmeli ve ardından alan bilginizin sorunuza en yakın kısmını almak için bir vektör araması ("anlamsal benzerlik" olarak da bilinir) gerçekleştirmelisiniz.
İlk çözüm, katıştırmalarınızı PG Vector gibi özel bir vektör veritabanında saklamaktır. Diğer bir çözüm ise kendi semantik arama modelinizi kendi alan bilginizle kodlamak ve bir GPU'ya yerleştirmektir (NLP Cloud'da önerdiğimiz çözüm budur çünkü en iyi yanıt süresini sunar). Vektör veritabanınız hazır olduğunda ya da modeliniz oluşturulduğunda, doğal dilde sorular sorabilirsiniz ve yapay zeka modeliniz sorunuzu en iyi yanıtlayan alan bilginizin bir özünü döndürecektir.
Anlamsal arama genellikle çok hızlı ve nispeten ucuzdur. Ayrıca metin oluşturma ince ayar stratejisinden daha güvenilirdir, bu nedenle herhangi bir yapay zeka halüsinasyon sorunuyla karşılaşmazsınız. Ancak bir soruyu düzgün bir şekilde "yanıtlayamaz". Sadece sorunuza bir cevap içeren bir metin parçası döndürür. Ardından, sorusunun yanıtını bulmak için metnin tamamını okumak kullanıcıya kalmaktadır.
Daha fazla ayrıntı için semantik arama hakkındaki belgelerimize bakın Burada.
İyi haber şu ki, gelişmiş sonuçlar elde etmek için hem semantik arama hem de üretken yapay zekayı birleştirmek mümkün!
Alan bilgisiyle ilgili soruları yanıtlamak için NLP Cloud'da tercih ettiğimiz strateji şudur: önce sorunuzu en iyi yanıtlayan kaynakları almak için semantik arama ile bir talepte bulunun ve ardından soruyu bir insan gibi bu kaynaklara dayalı olarak yanıtlamak için metin oluşturmayı kullanın.
Diyelim ki bir HP yazıcı satıcısıyız ve müşterilerimizin sorularını web sitemizde yanıtlamak istiyoruz.
Öncelikle gömülmeleri hesaplamamız ve bunları bir vektör veritabanında saklamamız veya kendi anlamsal arama modelimizi oluşturmamız gerekecektir. Burada sadece 3 örnekten oluşacak, ancak gerçek hayatta NLP Cloud'da anlamsal aramayı kullanırken 1 milyon örnek ekleyebilirsiniz. Basitçe bir CSV dosyası oluşturuyoruz ve içine aşağıdakileri koyuyoruz:
HP® LaserJets have unmatched printing speed, performance and reliability that you can trust. Enjoy Low Prices and Free Shipping when you buy now online.
Every HP printer comes with at least a one-year HP commercial warranty (or HP Limited Warranty). Some models automatically benefit from a three-year warranty, which is the case of the HP Color LaserJet Plus, the HP Color LaserJet Pro, and the HP Color LaserJet Expert.
HP LaserJet ; Lowest cost per page on mono laser printing. · $319.99 ; Wireless options available. · $109.00 ; Essential management features. · $209.00.
Daha sonra CSV veri setimizi NLP Cloud'a yüklüyoruz ve "Create model "e tıklıyoruz. Bir süre sonra, kendi alan bilgimizi içeren kendi semantik arama modelimiz hazır olacak ve onu kullanmak için özel bir API URL'si alacağız.
NLP Cloud Python istemcisini kullanarak yepyeni modelimize bir soru soralım:
import nlpcloud
# We use a fake model name and a fake API key for illustration reasons.
client = nlpcloud.Client("custom-model/5d8e6s8w5", "poigre5754gaefdsf5486gdsa56", gpu=True)
client.semantic_search("How long is the warranty on the HP Color LaserJet Pro?")
Model, kısa bir yanıt süresiyle aşağıdakileri hızlı bir şekilde döndürür:
{
"search_results": [
{
"score": 0.99,
"text": "Every HP printer comes with at least a one-year HP commercial warranty (or HP Limited Warranty). Some models automatically benefit from a three-year warranty, which is the case of the HP Color LaserJet Plus, the HP Color LaserJet Pro, and the HP Color LaserJet Expert."
},
{
"score": 0.74,
"text": "All consumer PCs and printers come with a standard one-year warranty. Care packs provide an enhanced level of support and/or an extended period of coverage for your HP hardware. All commercial PCs and printers come with either a one-year or three-year warranty."
},
{
"score": 0.68,
"text": "In-warranty plan · Available in 2-, 3-, or 4-year extension plans · Includes remote problem diagnosis support and Next Business Day Exchange Service."
},
]
}
Şimdi en yüksek puana sahip cevabı alıyoruz (birkaç cevabı da mükemmel bir şekilde alabiliriz): "Every HP printer comes with at least a one-year HP commercial warranty (or HP Limited Warranty). Some models automatically benefit from a three-year warranty, which is the case of the HP Color LaserJet Plus, the HP Color LaserJet Pro, and the HP Color LaserJet Expert."
Bu yanıt doğrudur ancak kullanıcının yanıtı almak için oldukça uzun bir metin parçasını okuması gerektiğinden pek kullanıcı dostu değildir. Şimdi aynı soruyu ChatDolphin modelini kullanarak soru yanıtlama uç noktamıza tekrar soruyoruz. Bağlam olarak semantik arama yanıtını kullanacağız:
import nlpcloud
client = nlpcloud.Client("chatdolphin", "poigre5754gaefdsf5486gdsa56", gpu=True)
client.question(
"""How long is the warranty on the HP Color LaserJet Pro?""",
context="""Every HP printer comes with at least a one-year HP commercial warranty (or HP Limited Warranty). Some models automatically benefit from a three-year warranty, which is the case of the HP Color LaserJet Plus, the HP Color LaserJet Pro, and the HP Color LaserJet Expert."""
)
Aşağıdaki yanıtı döndürür:
{
"answer": "The warranty lasts for three years."
}
Oldukça iyi, değil mi?
ChatDolphin, LLaMA, ChatGPT, GPT-4 gibi üretken yapay zeka modellerinde son zamanlarda kaydedilen ilerlemeye rağmen, sınırlı istek boyutu, bu harika modellerin soru yanıtlama için belirli alan bilgisi üzerinde kullanılmasını imkansız kılmaktadır. Bu modellere ince ayar yapmak maalesef böyle bir kullanım durumu için pek işe yaramıyor...
İyi bir strateji, bir RAG sistemi uygulamaktır. Önce belgelerinizi katıştırmalara dönüştürerek ve bunları bir vektör veritabanında depolayarak veya belgelerinizden kendi anlamsal arama modelinizi oluşturarak sorunuzu yanıtlayın ve ardından ilk soruya bir insan yanıtı döndürmek için üretken yapay zekaya dayalı normal bir soru yanıtlama modeli kullanın.
Bu stratejiyi uygulamak istiyorsanız, NLP Cloud üzerinde kendi semantik arama modelinizi oluşturmaktan çekinmeyin: ilgili belgelere buradan bakabilirsiniz!
Mark
NLP Cloud'da Uygulama Mühendisi