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.
Toimialatietoon (kuten sisäiseen dokumentaatioon, sopimuksiin, kirjoihin jne.) perustuviin kysymyksiin vastaaminen on haastavaa. Tässä artikkelissa tarkastelemme kehittynyttä tekniikkaa nimeltä Retrieval-Augmented Generation (RAG), jonka avulla tämä voidaan saavuttaa suurella tarkkuudella yhdistämällä semanttinen haku ja tekstin tuottaminen malleilla kuten ChatDolphin, LLaMA, ChatGPT, GPT-4....

Kysymyksiin vastaaminen aluetuntemuksen perusteella edellyttää, että lähetät ensin jonkin asiayhteyden tekoälymallille ja kysyt sitten kysymyksen siitä.
Voit esimerkiksi lähettää seuraavan kontekstin:
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.
Nyt voit ehkä kysyä seuraavan kysymyksen:
When can plans be stopped?
Tekoäly vastaisi jotakuinkin näin:
Anytime
Lisätietoja on dokumentaatiossamme kysymyksiin vastaamisesta. täällä.
Tämän lähestymistavan ongelmana on, että kontekstin koko (eli syötetyn tekstin koko) on rajallinen. Et siis voi lähettää koko toimialueen tietämystäsi kontekstina.
Oletetaan, että haluat rakentaa tukikeskustelurobotin, joka tietää kaiken tuotedokumentaatiostasi, jotta loppukäyttäjät voivat kysyä mitä tahansa tuotteeseen liittyvää kysymystä keskustelurobotilta ottamatta yhteyttä oikeaan tukihenkilöön. Todennäköisesti dokumentaatiosi koostuu useista sadoista tai tuhansista sanoista tai jopa miljoonista sanoista...
Tutkitaan, miten tämä rajoitus voidaan poistaa ja miten kysymyksiin voidaan vastata hyvin suurissa asiakirjoissa.
Kysymyksiin vastaamisessa voidaan käyttää kahdenlaisia tekniikoita. Tekstin tuottaminen (generatiivinen tekoäly) ja semanttinen haku.
Ensimmäinen, tekstin tuottaminen, on periaatteessa sitä, mitä juuri näytin edellä. Se vaatii yleensä kehittyneen tekstinmuodostusmallin, kuten ChatDolphin, LLaMA, ChatGPT, GPT-4... Se pystyy ymmärtämään ihmisen kysymyksen ja myös vastaamaan kuin ihminen. Se ei kuitenkaan toimi suurissa asiakirjoissa. Generatiivisen tekoälymallin hienosäätö oman aluetuntemuksesi avulla ei toimisi hyvin, koska hienosäätö ei ole hyvä tekniikka tiedon lisäämiseksi malliin.
Semanttisessa haussa on pohjimmiltaan kyse dokumentin etsimisestä samalla tavalla kuin Googlessa, mutta oman toimialueen tietämyksen perusteella.
Tätä varten sinun on muunnettava sisäiset dokumenttisi vektoreiksi (joita kutsutaan myös "upotuksiksi"). Sitten sinun on muunnettava myös kysymyksesi vektoriksi ja suoritettava vektorihaku (joka tunnetaan myös nimellä "semanttinen samankaltaisuus"), jotta voit hakea sen osan verkkotunnistasi, joka on lähimpänä kysymystäsi.
Ensimmäinen ratkaisu on tallentaa upotukset omaan vektoritietokantaan, kuten PG Vectoriin. Toinen ratkaisu on koodata oma semanttinen hakumalli omalla toimialuetietämykselläsi ja ottaa se käyttöön grafiikkasuorittimella (tätä ratkaisua ehdotamme NLP Cloudissa, koska se tarjoaa parhaan vasteajan). Kun vektoridatasi on valmis tai kun mallisi on luotu, voit esittää kysymyksiä luonnollisella kielellä, ja tekoälymalli palauttaa otteen aluetietämyksestäsi, joka vastaa parhaiten kysymykseesi.
Semanttinen haku on yleensä hyvin nopeaa ja suhteellisen halpaa. Se on myös luotettavampi kuin tekstin tuottamisen hienosäätöstrategia, joten tekoälyn hallusinaatio-ongelmaa ei esiinny. Mutta se ei pysty kunnolla "vastaamaan" kysymykseen. Se yksinkertaisesti palauttaa tekstin, joka sisältää vastauksen kysymykseesi. Sitten käyttäjän tehtäväksi jää lukea koko tekstinpätkä löytääkseen vastauksen kysymykseensä.
Lisätietoja on semanttista hakua koskevassa dokumentaatiossamme. täällä.
Hyvä uutinen on, että on mahdollista yhdistää semanttinen haku ja generatiivinen tekoäly, jotta voidaan saavuttaa edistyksellisiä tuloksia!
NLP Cloud -palvelussa suosimme seuraavaa strategiaa, jotta voimme vastata aluetietoon liittyviin kysymyksiin: ensin tehdään pyyntö semanttisen haun avulla, jotta voidaan hakea resurssit, jotka parhaiten vastaavat kysymykseen, ja sitten käytetään tekstin tuottamista vastaamaan kysymykseen näiden resurssien perusteella ihmisen tavoin.
Oletetaan, että olemme HP-tulostimien jälleenmyyjä ja haluamme vastata asiakkaidemme kysymyksiin verkkosivustollamme.
Ensin meidän on laskettava upotukset ja tallennettava ne vektoritietokantaan tai luotava oma semanttinen hakumalli. Tässä se tehdään vain kolmesta esimerkistä, mutta tosielämässä voit sisällyttää siihen jopa miljoona esimerkkiä, kun käytät semanttista hakua NLP Cloudissa. Luomme yksinkertaisesti CSV-tiedoston ja laitamme siihen seuraavat tiedot:
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.
Tämän jälkeen lataamme CSV-tietoaineistomme NLP Cloudiin ja napsautamme "Create model" (Luo malli). Hetken kuluttua oma semanttinen hakumallimme, joka sisältää oman toimialueemme tietämyksen, on valmis, ja saamme yksityisen API-URL-osoitteen, jonka avulla voimme käyttää sitä.
Esitetään kysymys upouudelle mallillemme NLP Cloud Python -asiakasohjelman avulla:
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?")
Malli palauttaa nopeasti ja lyhyellä vasteajalla seuraavat tiedot:
{
"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."
},
]
}
Nyt haemme vastauksen, jolla on korkein pistemäärä (voimme hakea useita vastauksia): "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."
Tämä vastaus on oikea, mutta se ei ole kovin käyttäjäystävällinen, koska käyttäjän on luettava melko pitkä teksti saadakseen vastauksen. Nyt kysymme saman kysymyksen uudelleen kysymysten vastaamiseen tarkoitetulle päätepisteellemme käyttäen ChatDolphin-mallia. Käytämme semanttisen haun vastausta kontekstina:
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."""
)
Se palauttaa seuraavan vastauksen:
{
"answer": "The warranty lasts for three years."
}
Eikö olekin aika hyvä?
Huolimatta viimeaikaisista edistysaskelista, joita on saavutettu geneerisissä tekoälymalleissa, kuten ChatDolphin, LLaMA, ChatGPT, GPT-4 jne., rajoitettu pyyntöjen koko tekee mahdottomaksi käyttää näitä hienoja malleja erityiseen aluetuntemukseen kysymyksiin vastaamiseen. Näiden mallien hienosäätö ei valitettavasti toimi hyvin tällaisessa käyttötapauksessa....
Hyvä strategia on ottaa käyttöön RAG-järjestelmä. Vastaa ensin kysymykseesi muuntamalla asiakirjasi upotuksiksi ja tallentamalla ne vektoritietokantaan tai luomalla asiakirjoistasi oma semanttinen hakumalli, ja käytä sen jälkeen tavallista generatiiviseen tekoälyyn perustuvaa kysymysten vastausmallia palauttaaksesi inhimillisen vastauksen alkuperäiseen kysymykseen.
Jos haluat toteuttaa tämän strategian, älä epäröi luoda omaa semanttista hakumallia NLP Cloudiin: katso asiaan liittyvä dokumentaatio täältä!
Mark
NLP Cloudin sovellusinsinööri