Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services

Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services

Generatiivinen AI mallit voivat mullistaa yritysten toiminnan, mutta yritysten on harkittava tarkasti, kuinka valjastaa voimansa ja voitettava haasteet, kuten tietojen suojaaminen ja tekoälyn tuottaman sisällön laadun varmistaminen.

Retrieval-Augmented Generation (RAG) -kehys täydentää kehotteita ulkoisilla tiedoilla useista lähteistä, kuten asiakirjavarastoista, tietokannoista tai API:sta, jotta perustamalleista tulee tehokkaita toimialuekohtaisissa tehtävissä. Tämä viesti esittelee RAG-mallin ominaisuudet ja korostaa MongoDB Atlasin muutospotentiaalia sen Vector Search -ominaisuuden avulla.

MongoDB Atlas on integroitu tietopalvelupaketti, joka nopeuttaa ja yksinkertaistaa tietopohjaisten sovellusten kehitystä. Sen vektoritietovarasto integroituu saumattomasti operatiivisen tiedon varastointiin, mikä eliminoi erillisen tietokannan tarpeen. Tämä integraatio mahdollistaa tehokkaat semanttiset hakuominaisuudet Vektorihaku, nopea tapa rakentaa semanttista hakua ja tekoälypohjaisia ​​sovelluksia.

Amazon Sage Maker antaa yrityksille mahdollisuuden rakentaa, kouluttaa ja ottaa käyttöön koneoppimismalleja (ML). Amazon SageMaker JumpStart tarjoaa valmiiksi koulutettuja malleja ja tietoja, jotka auttavat sinua pääsemään alkuun ML:n kanssa. Voit käyttää, muokata ja ottaa käyttöön esikoulutettuja malleja ja tietoja SageMaker JumpStart -aloitussivun kautta Amazon SageMaker Studio vain muutamalla napsautuksella.

Amazon-Lex on keskustelukäyttöliittymä, joka auttaa yrityksiä luomaan chatbotteja ja äänibotteja, jotka osallistuvat luonnolliseen, todenmukaiseen vuorovaikutukseen. Integroimalla Amazon Lexin generatiiviseen tekoälyyn yritykset voivat luoda kokonaisvaltaisen ekosysteemin, jossa käyttäjien syötteet muuttuvat saumattomasti johdonmukaisiksi ja kontekstuaalisesti relevanteiksi vastauksiksi.

Ratkaisun yleiskatsaus

Seuraava kaavio kuvaa ratkaisuarkkitehtuuria.

Ratkaisun yleiskatsaus

Seuraavissa osioissa käymme läpi vaiheet tämän ratkaisun ja sen komponenttien toteuttamiseksi.

Luo MongoDB-klusteri

Luo ilmainen tason MongoDB Atlas -klusteri noudattamalla ohjeita Luo klusteri. Määritä tietokanta pääsy ja verkko pääsy.

Ota SageMaker-upotusmalli käyttöön

Voit valita upotusmallin (ALL MiniLM L6 v2) SageMaker JumpStart Mallit, muistikirjat, ratkaisut sivu.

SageMaker JumpStart Mallit, muistikirjat, ratkaisut

Valita Sijoittaa ottaa mallin käyttöön.

Varmista, että malli on otettu käyttöön onnistuneesti ja varmista, että päätepiste on luotu.

malli on otettu käyttöön onnistuneesti

Vector upotus

Vector upotus on prosessi, jossa teksti tai kuva muunnetaan vektoriesitykseen. Seuraavalla koodilla voimme luoda vektori upotuksia SageMaker JumpStartilla ja päivittää kokoelman luodulla vektorilla jokaiselle asiakirjalle:

payload = {"text_inputs": [document[field_name_to_be_vectorized]]}
query_response = query_endpoint_with_json_payload(json.dumps(payload).encode('utf-8'))
embeddings = parse_response_multiple_texts(query_response) # update the document
update = {'$set': {vector_field_name :  embeddings[0]}}
collection.update_one(query, update)

Yllä oleva koodi näyttää, kuinka kokoelman yksittäinen objekti päivitetään. Päivitä kaikki objektit noudattamalla ohjeet.

MongoDB-vektoritietovarasto

MongoDB Atlas Vector Search on uusi ominaisuus, jonka avulla voit tallentaa ja etsiä vektoritietoja MongoDB:ssä. Vektoridata on datatyyppi, joka edustaa pistettä korkeaulotteisessa avaruudessa. Tämän tyyppistä dataa käytetään usein ML- ja tekoälysovelluksissa. MongoDB Atlas Vector Search käyttää tekniikkaa nimeltä k-lähimmät naapurit (k-NN) etsiäksesi samanlaisia ​​vektoreita. k-NN toimii etsimällä k eniten samankaltaista vektoria tiettyyn vektoriin. Samankaltaisimmat vektorit ovat ne, jotka ovat lähimpänä annettua vektoria euklidisen etäisyyden suhteen.

Vektoritietojen tallentaminen operatiivisten tietojen viereen voi parantaa suorituskykyä vähentämällä tarvetta siirtää tietoja eri tallennusjärjestelmien välillä. Tämä on erityisen hyödyllistä sovelluksille, jotka vaativat reaaliaikaista pääsyä vektoritietoihin.

Luo vektorihakuindeksi

Seuraava vaihe on luoda MongoDB Vector Search -hakemisto edellisessä vaiheessa luomassasi vektorikentässä. MongoDB käyttää knnVector kirjoita hakemistovektorin upotukset. Vektorikenttä tulee esittää lukujonona (vain BSON int32, int64 tai kaksoistietotyypit).

Mainita Tarkista knnVector-tyyppirajoitukset lisätietoja rajoituksista knnVector tyyppi.

Seuraava koodi on esimerkkiindeksin määritelmä:

{ "mappings": { "dynamic": true, "fields": { "egVector": { "dimensions": 384, "similarity": "euclidean", "type": "knnVector" } } }
}

Huomaa, että mittasuhteen on vastattava upotusmallin mittaa.

Tee kysely vektoritietovarastoon

Voit tehdä kyselyn vektoritietovarastoon käyttämällä Vector Search aggregation pipeline. Se käyttää Vector Search -indeksiä ja suorittaa a semanttinen haku vektoritietovarastossa.

Seuraava koodi on esimerkkihaun määritelmä:

{ $search: { "index": "<index name>", // optional, defaults to "default" "knnBeta": { "vector": [<array-of-numbers>], "path": "<field-to-search>", "filter": {<filter-specification>}, "k": <number>, "score": {<options>} } }
}

Ota käyttöön suuri SageMaker-kielimalli

SageMaker JumpStart -pohjamallit ovat valmiiksi koulutettuja suuria kielimalleja (LLM), joita käytetään ratkaisemaan erilaisia ​​​​luonnollisen kielen käsittelyn (NLP) tehtäviä, kuten tekstin yhteenveto, kysymyksiin vastaaminen ja luonnollisen kielen päättely. Niitä on saatavana eri kokoisina ja kokoonpanoina. Tässä ratkaisussa käytämme Halaaminen kasvot FLAN-T5-XL malli.

Etsi mallia FLAN-T5-XL SageMaker JumpStartista.

Etsi FLAN-T5-XL

Valita Sijoittaa määrittääksesi mallin FLAN-T5-XL.

Sijoittaa

Varmista, että mallin käyttöönotto onnistui ja päätepiste on aktiivinen.

Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Luo Amazon Lex -botti

Voit luoda Amazon Lex -botin suorittamalla seuraavat vaiheet:

  1. Valitse Amazon Lex -konsolissa Luo botti.

Luo botti

  1. varten Botin nimi, kirjoita nimi.
  2. varten Suorituksen roolivalitse Luo rooli Amazon Lexin perusoikeuksilla.
    Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.
  3. Määritä kieliasetukset ja valitse sitten valmis.
    Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.
  4. Lisää esimerkkilauseke kohtaan NewIntent UI ja valitse Tallenna tarkoitus.
    Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.
  5. Siirry FallbackIntent joka on luotu sinulle oletuksena ja vaihda Aktiiviset vuonna täyttymys osiossa.
    vaihda Aktiivinen
  6. Valita Rakentaa ja kun rakentaminen on onnistunut, valitse Testi.
    Rakenna ja testaa
  7. Valitse rataskuvake ennen testaamista.
    Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.
  8. Määritä AWS Lambda toiminto, joka on vuorovaikutuksessa MongoDB Atlasin ja LLM:n kanssa antaakseen vastauksia. Luo lambda-funktio seuraavasti nämä vaiheet.
    9. Määritä AWS Lambda -toiminto
  9. Voit nyt olla vuorovaikutuksessa LLM:n kanssa.

Puhdistaa

Voit puhdistaa resurssit suorittamalla seuraavat vaiheet:

  1. Poista Amazon Lex -botti.
  2. Poista lambda-toiminto.
  3. Poista LLM SageMaker -päätepiste.
  4. Poista upotusmallin SageMaker-päätepiste.
  5. Poista MongoDB Atlas -klusteri.

Yhteenveto

Viestissä näytimme, kuinka luodaan yksinkertainen botti, joka käyttää MongoDB Atlas -semanttista hakua ja integroituu SageMaker JumpStart -malliin. Tämän botin avulla voit luoda nopeasti prototyyppejä käyttäjien vuorovaikutuksesta SageMaker Jumpstartin eri LLM:ien kanssa samalla kun yhdistät ne MongoDB Atlasista peräisin olevaan kontekstiin.

Kuten aina, AWS ottaa palautetta vastaan. Jätä palautteesi ja kysymyksesi kommenttiosioon.


Tietoja kirjoittajista

Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Igor Alekseev on vanhempi kumppaniratkaisuarkkitehti AWS:ssä Data and Analytics -verkkotunnuksessa. Roolissaan Igor työskentelee strategisten kumppaneiden kanssa auttaen heitä rakentamaan monimutkaisia, AWS-optimoituja arkkitehtuureja. Ennen AWS:ään liittymistään hän toteutti Data/Solution Architectina monia Big Data -alueen projekteja, mukaan lukien useita datajärviä Hadoop-ekosysteemissä. Tietosuunnittelijana hän oli mukana AI/ML:n soveltamisessa petosten havaitsemiseen ja toimistoautomaatioon.


Retrieval-Augmented Generation kanssa LangChain, Amazon SageMaker JumpStart ja MongoDB Atlas semanttinen haku | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Babu Srinivasan
on Senior Partner Solutions -arkkitehti MongoDB:ssä. Nykyisessä tehtävässään hän työskentelee AWS:n kanssa teknisten integraatioiden ja referenssiarkkitehtuurien rakentamiseksi AWS- ja MongoDB-ratkaisuille. Hänellä on yli kahden vuosikymmenen kokemus tietokanta- ja pilviteknologioista. Hän on intohimoinen teknisten ratkaisujen tarjoamisesta asiakkaille, jotka työskentelevät useiden maailmanlaajuisten järjestelmäintegraattoreiden (GSI) kanssa useilla maantieteellisillä alueilla.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen