Generare îmbunătățită prin recuperare cu LangChain, Amazon SageMaker JumpStart și căutare semantică MongoDB Atlas | Amazon Web Services

Generare îmbunătățită prin recuperare cu LangChain, Amazon SageMaker JumpStart și căutare semantică MongoDB Atlas | Amazon Web Services

AI generativă modelele au potențialul de a revoluționa operațiunile întreprinderii, dar companiile trebuie să analizeze cu atenție cum să-și valorifice puterea, depășind în același timp provocări precum protejarea datelor și asigurarea calității conținutului generat de AI.

Cadrul Retrieval-Augmented Generation (RAG) mărește solicitările cu date externe din mai multe surse, cum ar fi arhivele de documente, bazele de date sau API-urile, pentru a face modelele de bază eficiente pentru sarcini specifice domeniului. Această postare prezintă capacitățile modelului RAG și evidențiază potențialul de transformare al MongoDB Atlas cu caracteristica de căutare vectorială.

Atlas MongoDB este o suită integrată de servicii de date care accelerează și simplifică dezvoltarea aplicațiilor bazate pe date. Magazinul său de date vectoriale se integrează perfect cu stocarea datelor operaționale, eliminând necesitatea unei baze de date separate. Această integrare permite capabilități puternice de căutare semantică Căutare vectorială, o modalitate rapidă de a construi căutare semantică și aplicații bazate pe inteligență artificială.

Amazon SageMaker permite întreprinderilor să construiască, să antreneze și să implementeze modele de învățare automată (ML). Amazon SageMaker JumpStart oferă modele și date pre-instruite pentru a vă ajuta să începeți cu ML. Puteți accesa, personaliza și implementa modele și date pre-instruite prin pagina de destinație SageMaker JumpStart în Amazon SageMaker Studio cu doar câteva clicuri.

Amazon Lex este o interfață conversațională care ajută companiile să creeze chatbot și roboți vocali care se angajează în interacțiuni naturale, realiste. Prin integrarea Amazon Lex cu inteligența artificială generativă, companiile pot crea un ecosistem holistic în care inputul utilizatorului trece fără probleme în răspunsuri coerente și relevante din punct de vedere contextual.

Prezentare generală a soluțiilor

Următoarea diagramă ilustrează arhitectura soluției.

Prezentare generală a soluțiilor

În secțiunile următoare, parcurgem pașii de implementare a acestei soluții și a componentelor sale.

Configurați un cluster MongoDB

Pentru a crea un cluster MongoDB Atlas gratuit, urmați instrucțiunile din Creați un cluster. Configurați baza de date acces și rețea acces.

Implementați modelul de încorporare SageMaker

Puteți alege modelul de încorporare (ALL MiniLM L6 v2) pe SageMaker JumpStart Modele, notebook-uri, soluții .

SageMaker JumpStart Modele, notebook-uri, soluții

Alege Lansa pentru a implementa modelul.

Verificați că modelul este implementat cu succes și verificați că punctul final este creat.

modelul este implementat cu succes

Încorporarea vectorială

Încorporarea vectorială este un proces de conversie a unui text sau a unei imagini într-o reprezentare vectorială. Cu următorul cod, putem genera încorporari vectoriale cu SageMaker JumpStart și putem actualiza colecția cu vectorul creat pentru fiecare document:

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)

Codul de mai sus arată cum să actualizați un singur obiect dintr-o colecție. Pentru a actualiza toate obiectele, urmați instrucțiuni.

Magazin de date vectoriale MongoDB

Căutare vectorială MongoDB Atlas este o caracteristică nouă care vă permite să stocați și să căutați date vectoriale în MongoDB. Datele vectoriale sunt un tip de date care reprezintă un punct dintr-un spațiu de dimensiuni mari. Acest tip de date este adesea folosit în aplicații ML și inteligență artificială. MongoDB Atlas Vector Search folosește o tehnică numită k-cei mai apropiati vecini (k-NN) pentru a căuta vectori similari. k-NN funcționează prin găsirea celor mai asemănători k vectori cu un vector dat. Cei mai asemănători vectori sunt cei mai apropiați de vectorul dat în ceea ce privește distanța euclidiană.

Stocarea datelor vectoriale lângă datele operaționale poate îmbunătăți performanța prin reducerea nevoii de a muta datele între diferite sisteme de stocare. Acest lucru este benefic în special pentru aplicațiile care necesită acces în timp real la date vectoriale.

Creați un index de căutare vectorială

Următorul pas este crearea unui Index de căutare vectorială MongoDB pe câmpul vectorial pe care l-ați creat la pasul anterior. MongoDB folosește knnVector tip pentru a indexa înglobări vectoriale. Câmpul vectorial trebuie reprezentat ca o matrice de numere (doar tipurile de date BSON int32, int64 sau duble).

A se referi la Examinați limitele tipului knnVector pentru mai multe informații despre limitările knnVector tip.

Următorul cod este un exemplu de definiție de index:

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

Rețineți că dimensiunea trebuie să se potrivească cu dimensiunea modelului dvs. de încorporare.

Interogați depozitul de date vectoriale

Puteți interoga stocul de date vectoriale folosind Conducta de agregare Vector Search. Utilizează indexul de căutare vectorială și efectuează a căutare semantică pe depozitul de date vectoriale.

Următorul cod este un exemplu de definiție de căutare:

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

Implementați modelul de limbaj mare SageMaker

Modele de fond de ten SageMaker JumpStart sunt modele de limbaj mari (LLM) pre-antrenate care sunt utilizate pentru a rezolva o varietate de sarcini de procesare a limbajului natural (NLP), cum ar fi rezumarea textului, răspunsul la întrebări și inferența limbajului natural. Sunt disponibile într-o varietate de dimensiuni și configurații. În această soluție, folosim Fata îmbrățișată Model FLAN-T5-XL.

Căutați modelul FLAN-T5-XL în SageMaker JumpStart.

Căutați FLAN-T5-XL

Alege Lansa pentru a configura modelul FLAN-T5-XL.

Lansa

Verificați că modelul este implementat cu succes și punctul final este activ.

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

Creați un bot Amazon Lex

Pentru a crea un bot Amazon Lex, parcurgeți următorii pași:

  1. În consola Amazon Lex, alegeți Creați bot.

Creați bot

  1. Pentru Numele botului, introduceți un nume.
  2. Pentru Rol de rulare, Selectați Creați un rol cu ​​permisiuni de bază 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. Specificați setările de limbă, apoi alegeți Terminat .
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  4. Adăugați un exemplu de enunț în NewIntent UI și alegeți Salvați intenția.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  5. Navigați către FallbackIntent care a fost creat pentru dvs. implicit și comutați Activ în Împlinire secţiune.
    comutați activ
  6. Alege Construi iar după ce construcția este reușită, alegeți Test.
    Construiți și testați
  7. Înainte de testare, alegeți pictograma roată.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. Se specifică AWS Lambdas funcție care va interacționa cu MongoDB Atlas și LLM pentru a oferi răspunsuri. Pentru a crea funcția lambda, urmați acești pași.
    9. Specificați funcția AWS Lambda
  9. Acum puteți interacționa cu LLM.

A curăța

Pentru a curăța resursele, parcurgeți următorii pași:

  1. Ștergeți botul Amazon Lex.
  2. Ștergeți funcția Lambda.
  3. Ștergeți punctul final LLM SageMaker.
  4. Ștergeți punctul final al modelului de încorporare SageMaker.
  5. Ștergeți clusterul MongoDB Atlas.

Concluzie

În postare, am arătat cum să creați un bot simplu care utilizează căutarea semantică MongoDB Atlas și se integrează cu un model de la SageMaker JumpStart. Acest bot vă permite să prototipați rapid interacțiunea utilizatorului cu diferite LLM-uri în SageMaker Jumpstart, în timp ce le asociați cu contextul originar din MongoDB Atlas.

Ca întotdeauna, AWS acceptă feedback. Vă rugăm să lăsați feedback și întrebări în secțiunea de comentarii.


Despre autori

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

Igor Alekseev este un Senior Partner Architect Solution la AWS în domeniul Date și Analytics. În rolul său, Igor lucrează cu parteneri strategici, ajutându-i să construiască arhitecturi complexe, optimizate pentru AWS. Înainte de a se alătura AWS, ca arhitect de date/soluții, a implementat multe proiecte în domeniul Big Data, inclusiv mai multe lacuri de date în ecosistemul Hadoop. În calitate de inginer de date, a fost implicat în aplicarea AI/ML pentru detectarea fraudelor și automatizarea biroului.


Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Babu Srinivasan
este un Senior Partner Solutions Architect la MongoDB. În rolul său actual, lucrează cu AWS pentru a construi integrările tehnice și arhitecturile de referință pentru soluțiile AWS și MongoDB. Are peste două decenii de experiență în tehnologiile de baze de date și cloud. Este pasionat de furnizarea de soluții tehnice clienților care lucrează cu mai mulți integratori de sisteme globale (GSI) în mai multe zone geografice.

Timestamp-ul:

Mai mult de la Învățare automată AWS