Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazoni veebiteenused

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazoni veebiteenused

Manustel on loomuliku keele töötlemise (NLP) ja masinõppe (ML) puhul võtmeroll. Teksti manustamine viitab teksti muutmise protsessile arvulisteks esitusteks, mis asuvad kõrgmõõtmelises vektorruumis. See tehnika saavutatakse ML-algoritmide kasutamisega, mis võimaldavad mõista andmete tähendust ja konteksti (semantilised seosed) ning õppida keerulisi seoseid ja mustreid andmete sees (süntaktilised seosed). Saadud vektoresitusi saate kasutada paljude rakenduste jaoks, nagu teabe otsimine, teksti klassifitseerimine, loomuliku keele töötlemine ja paljud teised.

Amazon Titani teksti manustamine on teksti manustamismudel, mis teisendab loomuliku keele teksti – mis koosneb üksikutest sõnadest, fraasidest või isegi suurtest dokumentidest – numbrilisteks esitusteks, mida saab kasutada semantilise sarnasuse alusel selliste kasutusjuhtumite käivitamiseks nagu otsing, isikupärastamine ja rühmitamine.

Selles postituses käsitleme Amazon Titan Text Embeddingsi mudelit, selle funktsioone ja kasutusjuhtumeid.

Mõned põhimõisted hõlmavad järgmist:

  • Teksti numbriline esitus (vektorid) fikseerib semantika ja sõnadevahelised seosed
  • Teksti sarnasuse võrdlemiseks saab kasutada rikkalikke manuseid
  • Mitmekeelse teksti manustamisel on võimalik tuvastada tähendus erinevates keeltes

Kuidas teisendatakse tekstiosa vektoriks?

Lause teisendamiseks vektoriks on mitu tehnikat. Üks populaarne meetod on sõnade manustamisalgoritmide (nt Word2Vec, GloVe või FastText) kasutamine ja seejärel sõnamanuste koondamine, et moodustada lausetasemel vektoresitus.

Teine levinud lähenemisviis on kasutada suuri keelemudeleid (LLM), nagu BERT või GPT, mis võivad pakkuda tervete lausete kontekstipõhist manustamist. Need mudelid põhinevad sügavatel õppimisarhitektuuridel, nagu Transformers, mis suudavad tõhusamalt tabada kontekstuaalset teavet ja sõnade vahelisi seoseid lauses.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Miks me vajame manustamismudelit?

Vektori manustused on olulised, et LLM-id mõistaksid keele semantilisi astmeid ja võimaldavad ka LLM-idel hästi täita NLP järgnevaid ülesandeid, nagu sentimentide analüüs, nimega olemi tuvastamine ja teksti klassifitseerimine.

Lisaks semantilisele otsingule saate manustamist kasutada täpsemate tulemuste saamiseks rakenduse Retrieval Augmented Generation (RAG) abil, kuid nende kasutamiseks peate need salvestama vektorvõimalustega andmebaasi.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Amazon Titan Text Embeddingsi mudel on optimeeritud teksti otsimiseks, et võimaldada RAG-i kasutusjuhtumeid. See võimaldab teil esmalt teisendada oma tekstiandmed numbrilisteks esitusteks või vektoriteks ja seejärel kasutada neid vektoreid vektorandmebaasist asjakohaste lõikude täpseks otsimiseks, mis võimaldab teil oma varalisi andmeid koos teiste alusmudelitega maksimaalselt ära kasutada.

Kuna Amazon Titan Text Embeddings on hallatud mudel Amazonase aluspõhi, pakutakse seda täiesti serverivaba kogemusena. Saate seda kasutada Amazon Bedrock RESTi kaudu API või AWS SDK. Nõutavad parameetrid on tekst, mille manuseid soovite luua, ja modelID parameeter, mis tähistab Amazon Titan Text Embeddingsi mudeli nime. Järgmine kood on näide Pythoni jaoks mõeldud AWS SDK-st (Boto3):

import boto3
import json #Create the connection to Bedrock
bedrock = boto3.client( service_name='bedrock', region_name='us-west-2', ) bedrock_runtime = boto3.client( service_name='bedrock-runtime', region_name='us-west-2', ) # Let's see all available Amazon Models
available_models = bedrock.list_foundation_models() for model in available_models['modelSummaries']: if 'amazon' in model['modelId']: print(model) # Define prompt and model parameters
prompt_data = """Write me a poem about apples""" body = json.dumps({ "inputText": prompt_data,
}) model_id = 'amazon.titan-embed-text-v1' #look for embeddings in the modelID
accept = 'application/json' content_type = 'application/json' # Invoke model response = bedrock_runtime.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type
) # Print response
response_body = json.loads(response['body'].read())
embedding = response_body.get('embedding') #Print the Embedding print(embedding)

Väljund näeb välja umbes selline:

[-0.057861328, -0.15039062, -0.4296875, 0.31054688, ..., -0.15625]

Viitama Amazon Bedrocki boto3 seadistamine Vajalike pakettide installimise kohta lisateabe saamiseks looge Amazon Bedrocki ühenduse loomine ja mudelite käivitamine.

Amazon Titan Text Embeddingsi omadused

Amazon Titan Text Embeddingsi abil saate sisestada kuni 8,000 märki, mistõttu sobib see teie kasutusjuhtumi põhjal hästi üksikute sõnade, fraaside või tervete dokumentidega töötamiseks. Amazoni titaan tagastab väljundvektorid dimensiooniga 1536, andes sellele suure täpsuse, optimeerides samal ajal madala latentsusajaga ja kulutõhusaid tulemusi.

Amazon Titan Text Embeddings toetab teksti manustamiste loomist ja päringute esitamist enam kui 25 erinevas keeles. See tähendab, et saate mudelit oma kasutusjuhtudele rakendada, ilma et peaksite iga toetatava keele jaoks eraldi mudeleid looma ja hooldama.

Ühe manustamismudeli kasutamine paljudes keeltes annab järgmised peamised eelised.

  • Laiem haare – Toetades enam kui 25 keelt, saate laiendada oma rakenduste ulatust kasutajateni ja sisule paljudel rahvusvahelistel turgudel.
  • Järjepidev jõudlus – Mitut keelt hõlmava ühtse mudeliga saate keelepõhiselt eraldi optimeerimise asemel ühtsed tulemused erinevates keeltes. Mudelit õpetatakse terviklikult, nii et saate kõigi keelte eelised.
  • Mitmekeelne päringu tugi – Amazon Titan Text Embeddings võimaldab teha päringuid teksti manustamise kohta mis tahes toetatud keeles. See pakub paindlikkust semantiliselt sarnase sisu hankimiseks erinevates keeltes, ilma et see oleks piiratud ühe keelega. Saate luua rakendusi, mis küsivad ja analüüsivad mitmekeelseid andmeid, kasutades sama ühtset manustamisruumi.

Selle kirjutamise seisuga toetatakse järgmisi keeli:

  • araabia
  • Chinese (Simplified)
  • Hiina (traditsiooniline)
  • tšehhi
  • hollandi
  • Inglise
  • prantsuse
  • saksa
  • heebrea
  • hindi
  • itaalia
  • jaapani
  • kannada
  • korea
  • malajalami
  • marathi
  • poola
  • portugali
  • vene
  • hispaania
  • rootsi
  • Filipiinide tagalog
  • tamil
  • telugu
  • türgi

Amazon Titani teksti manustamise kasutamine koos LangChainiga

LangChain on populaarne avatud lähtekoodiga raamistik töötamiseks generatiivne AI mudelid ja toetavad tehnoloogiad. See sisaldab a BedrockEmbeddingsi klient mis ümbritseb Boto3 SDK mugavalt abstraktsioonikihiga. The BedrockEmbeddings klient võimaldab teil töötada otse teksti ja manustega, teadmata JSON-i päringu või vastuse struktuuri üksikasju. Järgmine on lihtne näide:

from langchain.embeddings import BedrockEmbeddings #create an Amazon Titan Text Embeddings client
embeddings_client = BedrockEmbeddings() #Define the text from which to create embeddings
text = "Can you please tell me how to get to the bakery?" #Invoke the model
embedding = embeddings_client.embed_query(text) #Print response
print(embedding)

Võite kasutada ka LangChaini BedrockEmbeddings klient koos Amazon Bedrock LLM-i kliendiga, et lihtsustada RAG-i, semantilise otsingu ja muude manustega seotud mustrite rakendamist.

Kasutage manustamiseks juhtumeid

Kuigi RAG on praegu kõige populaarsem kasutusjuht manustega töötamiseks, on palju muid kasutusjuhtumeid, kus manuseid saab rakendada. Järgmised on mõned lisastsenaariumid, mille puhul saate manuseid kasutada konkreetsete probleemide lahendamiseks kas eraldi või koostöös LLM-iga.

  • Küsimus ja vastus – Manustused võivad aidata küsimuste ja vastuste liideseid RAG-mustri kaudu toetada. Manustuste genereerimine, mis on seotud vektorandmebaasiga, võimaldab teil leida teadmistehoidlas olevate küsimuste ja sisu vahel lähedasi vasteid.
  • Isikupärastatud soovitused – Sarnaselt küsimuste ja vastustega saate kasutada manustamist puhkuse sihtkohtade, kolledžite, sõidukite või muude toodete leidmiseks kasutaja esitatud kriteeriumide alusel. See võib toimuda lihtsa vastete loendina või seejärel kasutada LLM-i iga soovituse töötlemiseks ja selgitada, kuidas see vastab kasutaja kriteeriumidele. Seda lähenemisviisi saate kasutada ka kohandatud "10 parima" artikli loomiseks kasutaja jaoks vastavalt nende konkreetsetele vajadustele.
  • Andmehaldus – Kui teil on andmeallikaid, mis ei vasta üksteisele puhtalt, kuid teil on andmekirjet kirjeldav tekstisisu, saate võimalike dubleerivate kirjete tuvastamiseks kasutada manuseid. Näiteks võite kasutada manustamist duplikaatkandidaatide tuvastamiseks, mis võivad kasutada erinevat vormingut, lühendeid või isegi tõlgitud nimesid.
  • Rakendusportfelli ratsionaliseerimine – Emaettevõtte ja omandamistehingu rakenduste portfellide ühtlustamisel ei ole alati selge, kust alustada võimaliku kattuvuse leidmist. Konfiguratsioonihaldusandmete kvaliteet võib olla piirav tegur ja rakendusmaastiku mõistmine võib olla keeruline meeskondades koordineerida. Kasutades semantilist sobitamist koos manustega, saame teha rakendusportfellide lõikes kiire analüüsi, et tuvastada suure potentsiaaliga kandidaatrakendusi ratsionaliseerimiseks.
  • Sisu rühmitamine – Saate kasutada manustamist, et hõlbustada sarnase sisu rühmitamist kategooriatesse, mida te võib-olla enne ei tea. Oletagem näiteks, et teil on klientide e-kirju või veebipõhiseid tootearvustusi. Saate luua iga üksuse jaoks manused ja seejärel need manustused läbi käivitada k-tähendab klasterdamist klientide murede, tootekiituste või kaebuste või muude teemade loogiliste rühmade tuvastamiseks. Seejärel saate LLM-i abil luua nende rühmituste sisust keskendunud kokkuvõtteid.

Semantilise otsingu näide

Meie näide GitHubis, demonstreerime lihtsat manustamisotsingu rakendust Amazon Titan Text Embeddingsi, LangChaini ja Streamlitiga.

Näide sobitab kasutaja päringu lähimate kirjetega mälus olevas vektorandmebaasis. Seejärel kuvame need vasted otse kasutajaliideses. See võib olla kasulik, kui soovite RAG-rakenduse tõrkeotsingut või manustamismudelit otse hinnata.

Lihtsuse huvides kasutame mälus olevat FAISS andmebaasi manustamisvektorite salvestamiseks ja otsimiseks. Reaalmaailma stsenaariumi korral soovite tõenäoliselt kasutada püsivat andmesalvesti, näiteks vektormootor Amazon OpenSearch Serverlessi jaoks või pgvector PostgreSQL-i laiendus.

Proovige mõnda veebirakenduse viipa erinevates keeltes, näiteks järgmist.

  • Kuidas ma saan oma kasutamist jälgida?
  • Kuidas saab mudeleid kohandada?
  • Milliseid programmeerimiskeeli saan kasutada?
  • Kommenteeri mes données sont-elles sécurisées ?
  • 私のデータはどのように保護されていますか?
  • Quais fornecedores de modelos estão disponíveis por meio do Bedrock?
  • Kas welchen Regionen on Amazon Bedrock verfügbar?
  • 有哪些级别的支持?

Pange tähele, et kuigi lähtematerjal oli inglise keeles, sobitati teistes keeltes päringuid asjakohaste kirjetega.

Järeldus

Vundamendimudelite tekstigenereerimisvõimalused on väga põnevad, kuid oluline on meeles pidada, et teksti mõistmine, teadmiste kogumist asjakohase sisu leidmine ja lõikude vahel seoste loomine on generatiivse AI täisväärtuse saavutamiseks üliolulised. Nende mudelite täiustamisel näeme järgmiste aastate jooksul jätkuvalt uusi ja huvitavaid manustamisjuhtumeid.

Järgmised sammud

Täiendavaid näiteid manustamise kohta märkmiku või demorakendusena leiate järgmistest töötubadest.


Autoritest

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Jason Stehle on AWS-i vanemlahenduste arhitekt, mis asub Uus-Inglismaa piirkonnas. Ta teeb koostööd klientidega, et viia AWS-i võimalused vastavusse nende suurimate äriprobleemidega. Töövälisel ajal veedab ta oma aega asju ehitades ja perega koomiksifilme vaadates.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Nitin Eusebius on AWS-i vanem ettevõtluslahenduste arhitekt, kellel on kogemusi tarkvaratehnika, ettevõttearhitektuuri ja AI/ML alal. Ta on sügavalt kirglik uurima generatiivse tehisintellekti võimalusi. Ta teeb koostööd klientidega, et aidata neil luua AWS-i platvormil hästi arhitektuurseid rakendusi, ning on pühendunud tehnoloogiliste väljakutsete lahendamisele ja nende pilveteekonnal abistamisele.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Raj Pathak on peamine lahenduste arhitekt ja tehniline nõustaja suurtele Fortune 50 ettevõtetele ja keskmise suurusega finantsteenuste asutustele (FSI) kogu Kanadas ja Ameerika Ühendriikides. Ta on spetsialiseerunud masinõpperakendustele, nagu generatiivne AI, loomuliku keele töötlemine, intelligentne dokumenditöötlus ja MLOps.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Mani Khanuja on tehniline juht – generatiivsed tehisintellekti spetsialistid, raamatu – Applied Machine Learning and High Performance Computing on AWS autor ning naiste tootmishariduse sihtasutuse juhatuse liige. Ta juhib masinõppe (ML) projekte erinevates valdkondades, nagu arvutinägemine, loomuliku keele töötlemine ja generatiivne AI. Ta aitab klientidel suuri masinõppemudeleid mastaapselt luua, koolitada ja juurutada. Ta esineb sise- ja väliskonverentsidel, nagu näiteks re:Invent, Women in Manufacturing West, YouTube'i veebiseminarid ja GHC 23. Vabal ajal meeldib talle rannas pikki jookse teha.

Amazon Titan Text Embeddingsi kasutamise alustamine Amazon Bedrockis | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Mark Roy on AWS-i peamine masinõppearhitekt, kes aitab klientidel AI/ML-lahendusi kavandada ja luua. Marki töö hõlmab laia valikut ML kasutusjuhtumeid, mille peamine huvi on arvutinägemine, sügav õppimine ja ML-i skaleerimine kogu ettevõttes. Ta on aidanud ettevõtteid paljudes tööstusharudes, sealhulgas kindlustus, finantsteenused, meedia ja meelelahutus, tervishoid, kommunaalteenused ja tootmine. Markil on kuus AWS-i sertifikaati, sealhulgas ML-i erisertifikaat. Enne AWS-iga liitumist oli Mark arhitekt, arendaja ja tehnoloogiajuht üle 25 aasta, sealhulgas 19 aastat finantsteenuste valdkonnas.

Ajatempel:

Veel alates AWS-i masinõpe