Generiranje z obogatenim iskanjem s semantičnim iskanjem LangChain, Amazon SageMaker JumpStart in MongoDB Atlas | Spletne storitve Amazon

Generiranje z obogatenim iskanjem s semantičnim iskanjem LangChain, Amazon SageMaker JumpStart in MongoDB Atlas | Spletne storitve Amazon

Generativna AI modeli imajo potencial za revolucijo v delovanju podjetij, vendar morajo podjetja skrbno razmisliti o tem, kako izkoristiti njihovo moč, medtem ko premagujejo izzive, kot sta varovanje podatkov in zagotavljanje kakovosti vsebine, ustvarjene z umetno inteligenco.

Ogrodje Retrieval-Augmented Generation (RAG) dopolnjuje pozive z zunanjimi podatki iz več virov, kot so repozitoriji dokumentov, baze podatkov ali API-ji, da naredi temeljne modele učinkovite za naloge, specifične za domeno. Ta objava predstavlja zmožnosti modela RAG in poudarja transformativni potencial Atlasa MongoDB s funkcijo vektorskega iskanja.

Atlas MongoDB je integrirana zbirka podatkovnih storitev, ki pospešujejo in poenostavljajo razvoj podatkovno vodenih aplikacij. Njegova shramba vektorskih podatkov se brezhibno integrira s shrambo operativnih podatkov, kar odpravlja potrebo po ločeni bazi podatkov. Ta integracija omogoča zmogljive semantične zmožnosti iskanja prek Vektorsko iskanje, hiter način za izdelavo semantičnega iskanja in aplikacij, ki jih poganja AI.

Amazon SageMaker podjetjem omogoča izdelavo, usposabljanje in uvajanje modelov strojnega učenja (ML). Amazon SageMaker JumpStart ponuja vnaprej usposobljene modele in podatke, ki vam bodo pomagali začeti z ML. Prek ciljne strani SageMaker JumpStart lahko dostopate do vnaprej pripravljenih modelov in podatkov, jih prilagajate in uvajate v Amazon SageMaker Studio z le nekaj kliki.

Amazon Lex je pogovorni vmesnik, ki podjetjem pomaga ustvariti klepetalnice in glasovne robote, ki sodelujejo v naravnih in realističnih interakcijah. Z integracijo Amazon Lex z generativno umetno inteligenco lahko podjetja ustvarijo celosten ekosistem, v katerem uporabniški vnos brezhibno prehaja v skladne in kontekstualno ustrezne odzive.

Pregled rešitev

Naslednji diagram prikazuje arhitekturo rešitev.

Pregled rešitev

V naslednjih razdelkih se sprehodimo skozi korake za implementacijo te rešitve in njenih komponent.

Nastavite gručo MongoDB

Če želite ustvariti brezplačno gručo MongoDB Atlas, sledite navodilom v Ustvarite gručo. Nastavite bazo podatkov dostop in omrežja dostop.

Razmestite model vdelave SageMaker

Izberete lahko model vdelave (VSI MiniLM L6 v2) na SageMaker JumpStart modeli, prenosniki, rešitve stran.

SageMaker JumpStart modeli, prenosniki, rešitve

Izberite uvajanje za uvedbo modela.

Preverite, ali je model uspešno uveden, in preverite, ali je končna točka ustvarjena.

model je uspešno uveden

Vdelava vektorjev

Vdelava vektorjev je postopek pretvorbe besedila ali slike v vektorsko predstavitev. Z naslednjo kodo lahko ustvarimo vdelave vektorjev s SageMaker JumpStart in posodobimo zbirko z ustvarjenim vektorjem za vsak dokument:

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)

Zgornja koda prikazuje, kako posodobiti en predmet v zbirki. Če želite posodobiti vse predmete, sledite Navodila.

Shramba vektorskih podatkov MongoDB

MongoDB Atlas Vector Search je nova funkcija, ki omogoča shranjevanje in iskanje vektorskih podatkov v MongoDB. Vektorski podatki so vrsta podatkov, ki predstavljajo točko v visokodimenzionalnem prostoru. Ta vrsta podatkov se pogosto uporablja v aplikacijah ML in umetne inteligence. MongoDB Atlas Vector Search uporablja tehniko, imenovano k-najbližji sosedje (k-NN) za iskanje podobnih vektorjev. k-NN deluje tako, da poišče k danemu vektorju najbolj podobnih vektorjev. Najbolj podobni vektorji so tisti, ki so glede na evklidsko razdaljo najbližje danemu vektorju.

Shranjevanje vektorskih podatkov poleg operativnih podatkov lahko izboljša zmogljivost z zmanjšanjem potrebe po premikanju podatkov med različnimi sistemi za shranjevanje. To je še posebej koristno za aplikacije, ki zahtevajo dostop do vektorskih podatkov v realnem času.

Ustvari indeks vektorskega iskanja

Naslednji korak je ustvariti a Indeks vektorskega iskanja MongoDB na vektorskem polju, ki ste ga ustvarili v prejšnjem koraku. MongoDB uporablja knnVector tip za indeksiranje vektorskih vdelav. Vektorsko polje mora biti predstavljeno kot niz števil (samo tipi podatkov BSON int32, int64 ali double).

Nanašati se na Preglejte omejitve vrste knnVector za več informacij o omejitvah knnVector tip.

Naslednja koda je vzorčna definicija indeksa:

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

Upoštevajte, da se mora dimenzija ujemati z vašo dimenzijo modela vdelave.

Izvedite poizvedbo v shrambi vektorskih podatkov

V vektorski podatkovni shrambi lahko poizvedujete z uporabo Cev združevanja vektorskega iskanja. Uporablja indeks vektorskega iskanja in izvaja a pomensko iskanje v shrambi vektorskih podatkov.

Naslednja koda je vzorčna definicija iskanja:

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

Namestite velik jezikovni model SageMaker

Modeli temeljev SageMaker JumpStart so vnaprej usposobljeni veliki jezikovni modeli (LLM), ki se uporabljajo za reševanje različnih nalog obdelave naravnega jezika (NLP), kot so povzemanje besedila, odgovarjanje na vprašanja in sklepanje o naravnem jeziku. Na voljo so v različnih velikostih in konfiguracijah. V tej rešitvi uporabljamo Objemni obraz Model FLAN-T5-XL.

Poiščite model FLAN-T5-XL v SageMaker JumpStart.

Poiščite FLAN-T5-XL

Izberite uvajanje za nastavitev modela FLAN-T5-XL.

uvajanje

Preverite, ali je model uspešno nameščen in je končna točka aktivna.

Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ustvarite bota Amazon Lex

Če želite ustvariti bota Amazon Lex, izvedite naslednje korake:

  1. Na konzoli Amazon Lex izberite Ustvari bot.

Ustvari bot

  1. za Ime bota, vnesite ime.
  2. za Vloga med izvajanjemtako, da izberete Ustvarite vlogo z osnovnimi dovoljenji Amazon Lex.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  3. Določite jezikovne nastavitve in nato izberite Done.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  4. Dodajte vzorčno izjavo v NewIntent UI in izberite Shrani namero.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  5. Pomaknite se na FallbackIntent ki je bil privzeto ustvarjen za vas in preklopite Aktivno v Izpolnitev oddelek.
    preklop Active
  6. Izberite Zgradite in po uspešni gradnji izberite Test.
    Zgradite in preizkusite
  7. Pred testiranjem izberite ikono zobnika.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. določite AWS Lambda funkcijo, ki bo sodelovala z MongoDB Atlas in LLM za zagotavljanje odgovorov. Za ustvarjanje funkcije lambda sledite te korake.
    9. Določite funkcijo AWS Lambda
  9. Zdaj lahko sodelujete z LLM.

Čiščenje

Za čiščenje virov izvedite naslednje korake:

  1. Izbrišite bota Amazon Lex.
  2. Izbrišite funkcijo Lambda.
  3. Izbrišite končno točko LLM SageMaker.
  4. Izbrišite končno točko SageMaker modela vdelav.
  5. Izbrišite gručo MongoDB Atlas.

zaključek

V objavi smo pokazali, kako ustvariti preprostega bota, ki uporablja semantično iskanje MongoDB Atlas in se integrira z modelom iz SageMaker JumpStart. Ta bot vam omogoča, da hitro ustvarite prototip uporabniške interakcije z različnimi LLM-ji v SageMaker Jumpstart, medtem ko jih združite s kontekstom, ki izvira iz Atlasa MongoDB.

Kot vedno AWS pozdravlja povratne informacije. Pustite povratne informacije in vprašanja v razdelku za komentarje.


O avtorjih

Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Igor Aleksejev je višji arhitekt partnerskih rešitev pri AWS na področju podatkov in analitike. V svoji vlogi Igor sodeluje s strateškimi partnerji in jim pomaga zgraditi kompleksne arhitekture, optimizirane za AWS. Preden se je pridružil AWS, je kot Data/Solution Architect izvajal številne projekte na področju Big Data, vključno z več podatkovnimi jezeri v ekosistemu Hadoop. Kot podatkovni inženir je sodeloval pri uporabi AI/ML za odkrivanje goljufij in pisarniško avtomatizacijo.


Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Babu Srinivasan
je višji arhitekt partnerskih rešitev pri MongoDB. V svoji trenutni vlogi sodeluje z AWS pri izgradnji tehničnih integracij in referenčnih arhitektur za rešitve AWS in MongoDB. Ima več kot dve desetletji izkušenj na področju podatkovnih baz in tehnologij v oblaku. Strastno se ukvarja z zagotavljanjem tehničnih rešitev strankam, ki delajo z več globalnimi sistemskimi integratorji (GSI) na različnih območjih.

Časovni žig:

Več od Strojno učenje AWS