In Osa 1 sellest seeriast esitlesime lahendust, mis kasutas Amazoni Titani multimodaalsed manused mudel üksikute slaidide teisendamiseks slaiditekilt manusteks. Salvestasime manused vektorandmebaasi ja kasutasime seejärel Suur keele- ja nägemisassistent (LLaVA 1.5–7b) mudel, et genereerida vektorandmebaasist otsitud kõige sarnasema slaidi põhjal tekstivastused kasutaja küsimustele. Kasutasime AWS-i teenuseid, sealhulgas Amazonase aluspõhi, Amazon SageMakerja Amazon OpenSearch Serverita selles lahenduses.
Selles postituses näitame teistsugust lähenemist. Me kasutame Antroopiline Claude 3 sonett mudel, et luua tekstikirjeldused iga slaidikomplekti slaidi jaoks. Need kirjeldused teisendatakse seejärel teksti manusteks, kasutades Amazon Titani teksti manustamine mudel ja salvestatakse vektorandmebaasis. Seejärel kasutame Claude 3 Sonneti mudelit, et genereerida vastuseid kasutaja küsimustele, mis põhinevad vektorandmebaasist hangitud kõige asjakohasemal tekstikirjeldusel.
Saate testida mõlemat lähenemisviisi oma andmestiku jaoks ja hinnata tulemusi, et näha, milline lähenemisviis annab teile parimad tulemused. Selle seeria 3. osas hindame mõlema meetodi tulemusi.
Lahenduse ülevaade
Lahendus pakub teostust küsimustele vastamiseks, kasutades tekstis sisalduvat teavet ja slaidikomplekti visuaalseid elemente. Disain tugineb taastamise laiendatud põlvkonna (RAG) kontseptsioonile. Traditsiooniliselt on RAG-i seostatud tekstiandmetega, mida saab töödelda suurte keelemudelite (LLM) abil. Selles seerias laiendame RAG-i, et hõlmata ka pilte. See annab võimsa otsinguvõimaluse kontekstipõhise sisu ekstraheerimiseks visuaalsetest elementidest, nagu tabelid ja graafikud, koos tekstiga.
See lahendus sisaldab järgmisi komponente:
- Amazon Titan Text Embeddings on teksti manustamismudel, mis teisendab loomuliku keele teksti, sealhulgas üksikud sõnad, fraasid või isegi suured dokumendid, numbrilisteks esitusteks, mida saab kasutada semantilise sarnasuse alusel selliste kasutusjuhtumite käivitamiseks nagu otsing, isikupärastamine ja rühmitamine.
- Claude 3 Sonnet on Anthropicu tipptasemel mudelite järgmine põlvkond. Sonnet on mitmekülgne tööriist, mis saab hakkama paljude ülesannetega alates keerukatest arutlustest ja analüüsidest kuni kiirete väljunditeni, aga ka tõhusa otsimise ja hankimiseni suures koguses teavet.
- OpenSearch Serverless on Amazon OpenSearch Service'i tellitav serverita konfiguratsioon. Kasutame OpenSearch Serverlessi vektorandmebaasina Amazon Titan Text Embeddingsi mudeli genereeritud manustamiste salvestamiseks. OpenSearch Serverless kollektsioonis loodud register toimib meie RAG-lahenduse vektorihoidlana.
- Amazon OpenSearchi sisestamine (OSI) on täielikult hallatav serverita andmekogu, mis edastab andmeid OpenSearch Service'i domeenidesse ja OpenSearchi serverita kogudesse. Selles postituses kasutame OSI torujuhtme API-d andmete edastamiseks OpenSearchi serverita vektorpoodi.
Lahenduse disain koosneb kahest osast: allaneelamisest ja kasutaja interaktsioonist. Sisseelamise ajal töötleme sisendslaidikomplekti, teisendades iga slaidi pildiks, genereerides iga pildi jaoks kirjeldused ja tekstimanused. Seejärel täidame vektorandmete salve iga slaidi manuste ja tekstikirjeldusega. Need sammud tehakse enne kasutajaga suhtlemise etappe.
Kasutaja interaktsiooni faasis teisendatakse kasutaja küsimus teksti manusteks. Sarnasuse otsing käivitatakse vektorandmebaasis, et leida slaidile vastav tekstikirjeldus, mis võib sisaldada vastuseid kasutaja küsimusele. Seejärel esitame Claude 3 Sonneti mudelile slaidikirjelduse ja kasutaja küsimuse, et genereerida päringule vastus. Kogu selle postituse kood on saadaval aadressil GitHub puhata.
Järgmine diagramm illustreerib allaneelamise arhitektuuri.
Töövoog koosneb järgmistest sammudest:
- Slaidid teisendatakse JPG-vormingus pildifailideks (üks slaidi kohta) ja edastatakse tekstikirjelduse genereerimiseks Claude 3 Sonneti mudelile.
- Andmed saadetakse Amazon Titan Text Embeddingsi mudelisse, et luua manuseid. Selles seerias kasutame liugtekki Treenige ja juurutage Stable Diffusion, kasutades AWS Trainium & AWS Inferentia juunil 2023 Torontos toimunud AWS-i tippkohtumiselt, et näidata lahendust. Näidisplaadil on 31 slaidi, seetõttu loome 31 vektormanustuste komplekti, millest igaühel on 1536 mõõtmet. Lisame täiendavaid metaandmevälju, et teha rikkalikke otsingupäringuid, kasutades OpenSearchi võimsaid otsinguvõimalusi.
- Manustused sisestatakse API-kõne abil OSI-konveierisse.
- OSI-konveier neelab andmed dokumentidena OpenSearchi serverita registrisse. Indeks on konfigureeritud selle torujuhtme valamuks ja luuakse OpenSearchi serverita kogumiku osana.
Järgmine diagramm illustreerib kasutaja interaktsiooni arhitektuuri.
Töövoog koosneb järgmistest sammudest:
- Kasutaja esitab küsimuse, mis on seotud sissevõetud slaiditekiga.
- Kasutaja sisend teisendatakse manusteks, kasutades Amazon Titan Text Embeddingsi mudelit, millele pääseb juurde Amazon Bedrocki kaudu. Neid manuseid kasutades tehakse OpenSearch Service'i vektorotsing. Teostame k-lähima naabri (k-NN) otsingu, et leida kasutajapäringule vastavad kõige asjakohasemad manused.
- OpenSearch Serverlessi vastuse metaandmed sisaldavad kõige asjakohasemale slaidile vastava pildi ja kirjelduse teed.
- Viip luuakse kasutaja küsimuse ja pildi kirjelduse kombineerimisel. Viip antakse Amazon Bedrockis hostitavale Claude 3 Sonetile.
- Selle järelduse tulemus tagastatakse kasutajale.
Järgmistes jaotistes käsitleme mõlema etapi samme ja lisame üksikasjad väljundi kohta.
Eeldused
Selles postituses pakutava lahenduse rakendamiseks peaks teil olema AWS-i konto ning FM-ide, Amazon Bedrocki, SageMakeri ja OpenSearch Service'i tundmine.
See lahendus kasutab Amazon Bedrockis hostitud Claude 3 Sonneti ja Amazon Titan Text Embeddingsi mudeleid. Veenduge, et need mudelid on kasutamiseks lubatud, navigeerides lehele Juurdepääs mudelile lehel Amazon Bedrocki konsoolil.
Kui mudelid on lubatud, Juurdepääsu olek teatab Juurdepääs antud.
Kui mudelid pole saadaval, lubage juurdepääs, valides Mudeli juurdepääsu haldamine, mudelite valimine ja valimine Taotlege juurdepääsu mudelile. Mudelid lubatakse koheselt kasutamiseks.
Kasutage lahenduste virna loomiseks AWS CloudFormationi
Lahenduste virna loomiseks saate kasutada AWS CloudFormationit. Kui olete loonud 1. osa lahenduse samal AWS-i kontol, kustutage see kindlasti enne selle virna loomist.
AWS piirkond | on siin |
---|---|
us-east-1 |
|
us-west-2 |
Pärast virna edukat loomist liikuge AWS CloudFormationi konsoolis virna vahekaardile Väljundid ja märkige üles väärtused MultimodalCollectionEndpoint
ja OpenSearchPipelineEndpoint
. Kasutage neid järgmistes etappides.
CloudFormationi mall loob järgmised ressursid.
- IAM-i rollid - Järgnev AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rollid luuakse. Värskendage neid rolle, et rakendada vähimate privileegide õigusi, nagu on kirjeldatud artiklis Turvalisuse parimad tavad.
SMExecutionRole
koos Amazoni lihtne salvestusteenus (Amazon S3), SageMaker, OpenSearch Service ja Amazon Bedrock täielik juurdepääs.OSPipelineExecutionRole
juurdepääsuga S3 ämbrile ja OSI toimingutele.
- SageMakeri märkmik – Kogu selle postituse kood käitatakse selle märkmiku abil.
- OpenSearchi serverita kogu – See on vektorandmebaas manuste salvestamiseks ja toomiseks.
- OSI torujuhe – See on konveier andmete sisestamiseks OpenSearch Serverlessi.
- S3 kopp – Kõik selle postituse andmed salvestatakse sellesse ämbrisse.
CloudFormationi mall seadistab konveieri konfiguratsiooni, mis on vajalik OSI konveieri konfigureerimiseks HTTP-ga allikana ja OpenSearch Serverlessi indeksiga valamuna. SageMakeri märkmik 2_data_ingestion.ipynb
kuvab, kuidas sisestada andmeid torujuhtmesse kasutades Taotlused HTTP teek.
CloudFormationi mall loob ka võrk, krüpteerimist ja juurdepääs andmetele teie OpenSearch Serverless kogu jaoks vajalikud eeskirjad. Värskendage neid eeskirju, et rakendada väikseima õigusega õigusi.
CloudFormationi malli nimele ja OpenSearch Service'i indeksi nimele viidatakse SageMakeri märkmikus 3_rag_inference.ipynb
. Kui muudate vaikenimesid, värskendage neid kindlasti märkmikus.
Testige lahendust
Pärast CloudFormationi virna loomist saate lahendust testida. Tehke järgmised sammud.
- Valige SageMakeri konsoolil Sülearvutid navigeerimispaanil.
- valima
MultimodalNotebookInstance
Ja vali Avage JupyterLab. - In Failibrauser, liikuge märkmike kausta, et näha märkmikke ja tugifaile.
Märkmikud on nummerdatud nende käitamise järjekorras. Iga märkmiku juhised ja kommentaarid kirjeldavad selle märkmikuga tehtud toiminguid. Käitame neid märkmikke ükshaaval.
- Vali
1_data_prep.ipynb
selle avamiseks JupyterLabis. - Kohta jooks menüüst valige Käivitage kõik rakud koodi käivitamiseks selles märkmikus.
See märkmik laadib alla avalikult kättesaadava liumekk, teisendage iga slaid JPG-vormingusse ja laadige need üles S3 ämbrisse.
- Vali
2_data_ingestion.ipynb
selle avamiseks JupyterLabis. - Kohta jooks menüüst valige Käivitage kõik rakud koodi käivitamiseks selles märkmikus.
Selles märkmikus loote indeksi OpenSearchi serverita kogus. See register salvestab slaiditeki manustamisandmed. Vaadake järgmist koodi:
Kasutate Claude 3 Sonneti ja Amazon Titan Text Embeddingsi mudeleid, et teisendada eelmises sülearvutis loodud JPG-kujutised vektormanustusteks. Need manustused ja täiendavad metaandmed (nt S3 tee ja pildifaili kirjeldus) salvestatakse koos manustega registrisse. Järgmine koodilõik näitab, kuidas Claude 3 Sonet loob piltide kirjeldusi:
Piltide kirjeldused edastatakse Amazon Titan Text Embeddingsi mudelile, et luua vektormanused. Need manustused ja täiendavad metaandmed (nt S3 tee ja pildifaili kirjeldus) salvestatakse koos manustega registrisse. Järgmine koodilõik näitab kõnet Amazon Titan Text Embeddingsi mudelile:
Andmed sisestatakse OpenSearch Serverlessi indeksisse, tehes API-kutse OSI torujuhtmele. Järgmine koodilõik näitab HTTP-taotluste teegi abil tehtud kõnet:
- Vali
3_rag_inference.ipynb
selle avamiseks JupyterLabis. - Kohta jooks menüüst valige Käivitage kõik rakud koodi käivitamiseks selles märkmikus.
See sülearvuti rakendab RAG-lahendust: teisendate kasutaja küsimuse manusteks, leiate vektorandmebaasist sarnase pildikirjelduse ja edastate allalaaditud kirjelduse Claude 3 Sonnetile, et genereerida vastus kasutaja küsimusele. Kasutate järgmist viipamalli:
Järgmine koodilõik pakub RAG-i töövoogu:
Tulemused
Järgmine tabel sisaldab mõningaid kasutajate küsimusi ja vastuseid, mille meie juurutamine genereeris. The Küsimus veerg hõlmab kasutaja küsimust ja Vastus veerg on Claude 3 Sonneti loodud tekstiline vastus. The pilt veerus on näidatud OpenSearchi serverita vektorotsingu tagastatud k-NN slaidivaste.
Multimodaalsed RAG-i tulemused
Esitage päring oma indeksist
Saate kasutada OpenSearchi armatuurlaudu, et suhelda OpenSearch API-ga, et käivitada oma indeksi ja sissevõetud andmete kiirteste.
Korista ära
Edaspidiste tasude vältimiseks kustutage ressursid. Seda saate teha, kustutades virna AWS CloudFormationi konsooli abil.
Järeldus
Ettevõtted loovad kogu aeg uut sisu ning slaidikomplektid on levinud viis teabe jagamiseks ja levitamiseks nii organisatsioonisiseselt kui ka väljastpoolt klientidega või konverentsidel. Aja jooksul võib rikkalik teave jääda maetud ja peidetud mittetekstilistesse modaalsustesse, nagu graafikud ja tabelid nendes slaidipakkides.
Saate kasutada seda lahendust ja multimodaalsete FM-ide (nt Amazon Titan Text Embeddings ja Claude 3 Sonneti) võimsust, et avastada uut teavet või avastada uusi vaatenurki slaidipakkide sisule. Saate proovida erinevaid Amazon Bedrockis saadaolevaid Claude'i mudeleid, värskendades CLAUDE_MODEL_ID
aasta globals.py
faili.
See on kolmeosalise sarja 2. osa. 1. osas kasutasime Amazon Titan Multimodal Embeddingsi ja LLaVA mudelit. 3. osas võrdleme 1. ja 2. osa lähenemisviise.
Osa sellest koodist avaldatakse all Apache 2.0 litsents.
Autoritest
Amit Arora on AI ja ML spetsialistarhitekt ettevõttes Amazon Web Services, aidates ettevõtetel kasutada pilvepõhiseid masinõppeteenuseid, et oma uuendusi kiiresti skaleerida. Ta on ka MS andmeteaduse ja -analüütika programmi adjunkt Georgetowni ülikoolis Washingtonis.
Manju Prasad on Amazon Web Servicesi vanemlahenduste arhitekt. Ta keskendub tehniliste juhiste pakkumisele erinevates tehnilistes valdkondades, sealhulgas AI/ML. Enne AWS-iga liitumist kavandas ja ehitas ta lahendusi finantsteenuste sektori ettevõtetele ja ka idufirmadele. Ta on kirglik teadmiste jagamise ja uute talentide vastu huvi tekitamise vastu.
Archana Inapudi on AWS-i vanemlahenduste arhitekt, kes toetab strateegilist klienti. Tal on üle kümne aasta valdkonnaüleseid teadmisi, mis juhivad strateegilisi tehnilisi algatusi. Archana on AWS-i AI/ML tehnilise valdkonna kogukonna ambitsioonikas liige. Enne AWS-iga liitumist juhtis Archana tervishoiuettevõttes üleminekut traditsioonilistest silditud andmeallikatest Hadoopi. Ta on kirglik tehnoloogia kasutamise vastu, et kiirendada kasvu, pakkuda klientidele väärtust ja saavutada äritulemusi.
Antara Raisa on AI ja ML Solutionsi arhitekt ettevõttes Amazon Web Services, kes toetab Texase osariigis Dallases asuvaid strateegilisi kliente. Tal on ka varasem töökogemus suurettevõtete partneritega AWS-is, kus ta töötas digikesksete klientide jaoks partner Success Solutions Architectina.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/talk-to-your-slide-deck-using-multimodal-foundation-models-hosted-on-amazon-bedrock-and-amazon-sagemaker-part-2/