Platoni andmete intelligentsus.
Vertikaalne otsing ja Ai.

Täiustage vestluslikku tehisintellekti täiustatud marsruutimistehnikate abil rakendusega Amazon Bedrock | Amazoni veebiteenused

kuupäev:

Vestluspõhise tehisintellekti (AI) assistendid on loodud pakkuma täpseid reaalajas vastuseid päringute intelligentse suunamise kaudu kõige sobivamatele tehisintellekti funktsioonidele. AWS-i generatiivsete AI-teenustega nagu Amazonase aluspõhi, saavad arendajad luua süsteeme, mis haldavad asjatundlikult kasutajate taotlusi ja vastavad neile. Amazon Bedrock on täielikult hallatav teenus, mis pakub ühte API-liidese abil valikut suure jõudlusega alusmudeleid (FM-e) juhtivatelt tehisintellekti ettevõtetelt, nagu AI21 Labs, Anthropic, Cohere, Meta, Stability AI ja Amazon. võimalused, mida vajate turvalisuse, privaatsuse ja vastutustundliku tehisintellektiga generatiivsete AI-rakenduste loomiseks.

Selles postituses hinnatakse kahte peamist lähenemisviisi AI-assistentide arendamiseks: hallatavate teenuste, näiteks Amazon Bedrocki agendidja kasutades avatud lähtekoodiga tehnoloogiaid nagu LangChain. Uurime igaühe eeliseid ja väljakutseid, et saaksite valida oma vajadustele kõige sobivama tee.

Mis on AI-assistent?

Tehisintellekti assistent on intelligentne süsteem, mis mõistab loomuliku keele päringuid ja suhtleb erinevate tööriistade, andmeallikate ja API-dega, et täita ülesandeid või hankida teavet kasutaja nimel. Tõhusatel AI-assistentidel on järgmised võtmevõimalused:

  • Loomuliku keele töötlemine (NLP) ja vestlusvoog
  • Teadmusbaasi integreerimine ja semantilised otsingud, et mõista ja hankida vestluskonteksti nüansside põhjal asjakohast teavet
  • Tööülesannete (nt andmebaasipäringud ja kohandatud) käitamine AWS Lambda funktsioonid
  • Spetsiaalsete vestluste ja kasutajataotluste käsitlemine

Näitame AI-assistentide eeliseid, kasutades näiteks asjade Interneti (IoT) seadmehaldust. Sellisel juhul võib tehisintellekt aidata tehnikutel masinaid tõhusalt hallata käskude abil, mis toovad andmeid või automatiseerivad ülesandeid, muutes tootmistoimingud sujuvamaks.

Agents for Amazon Bedrock lähenemine

Amazon Bedrocki agendid võimaldab luua generatiivseid AI-rakendusi, mis suudavad ettevõtte süsteemides ja andmeallikates käitada mitmeastmelisi ülesandeid. See pakub järgmisi võtmevõimalusi:

  • Automaatne viipe loomine juhiste, API üksikasjade ja andmeallika teabe põhjal, säästes nädalaid kiiret inseneritööd
  • Retrieval Augmented Generation (RAG) agentide turvaliseks ühendamiseks ettevõtte andmeallikatega ja asjakohaste vastuste andmiseks
  • Mitmeastmeliste ülesannete orkestreerimine ja käitamine, jagades päringud loogilisteks jadadeks ja kutsudes välja vajalikud API-d
  • Agendi arutluskäigu nähtavus läbi mõtteahela (CoT) jälje, mis võimaldab tõrkeotsingut ja mudeli käitumise juhtimist
  • Kiired insenerivõimalused automaatselt loodud viipamalli muutmiseks, et agentide üle paremini kontrollida

Saate kasutada Agents for Amazon Bedrock ja Amazon Bedrocki teadmistebaasid AI-assistentide loomiseks ja juurutamiseks keerukate marsruutimisjuhtude jaoks. Need pakuvad arendajatele ja organisatsioonidele strateegilist eelist, lihtsustades infrastruktuuri haldamist, suurendades mastaapsust, parandades turvalisust ja vähendades eristamata raskuste tõstmist. Need võimaldavad ka lihtsamat rakenduskihi koodi, kuna marsruutimisloogika, vektoriseerimine ja mälu on täielikult hallatud.

Lahenduse ülevaade

See lahendus tutvustab vestluse AI abilist, mis on kohandatud asjade Interneti-seadmete haldamiseks ja toimimiseks Anthropicu Claude v2.1 kasutamisel Amazon Bedrockis. AI-assistendi põhifunktsioone reguleerib laiaulatuslik juhiste kogum, mida nimetatakse a süsteemi viip, mis piiritleb selle võimalused ja valdkonnad. Need juhised tagavad, et AI-assistent saab hakkama paljude ülesannetega alates seadme teabe haldamisest kuni töökäskude täitmiseni.

"""The following is the system prompt that outlines the full scope of the AI assistant's capabilities:
You are an IoT Ops agent that handles the following activities:
- Looking up IoT device information
- Checking IoT operating metrics (historical data)
- Performing actions on a device-by-device ID
- Answering general questions
You can check device information (Device ID, Features, Technical Specifications, Installation Guide, Maintenance and Troubleshooting, Safety Guidelines, Warranty, and Support) from the "IotDeviceSpecs" knowledge base.
Additionally, you can access device historical data or device metrics. The device metrics are stored in an Athena DB named "iot_ops_glue_db" in a table named "iot_device_metrics". 
The table schema includes fields for oil level, temperature, pressure, received_at timestamp, and device_id.
The available actions you can perform on the devices include start, shutdown, and reboot."""

Nende võimalustega, nagu on üksikasjalikult kirjeldatud süsteemiviips, järgib AI-assistent kasutaja küsimuste lahendamiseks struktureeritud töövoogu. Järgmisel joonisel on selle töövoo visuaalne esitus, illustreerides iga sammu kasutaja esmasest suhtlemisest kuni lõpliku vastuseni.

selle töövoo visuaalne esitus, mis illustreerib iga sammu kasutaja esmasest suhtlemisest kuni lõpliku vastuseni.

Töövoog koosneb järgmistest sammudest:

  1. Protsess algab siis, kui kasutaja palub assistendil ülesande täita; näiteks konkreetse IoT-seadme maksimaalse andmepunktide küsimine device_xxx. See tekstisisestus jäädvustatakse ja saadetakse AI assistendile.
  2. AI-assistent tõlgendab kasutaja tekstisisestust. See kasutab konteksti mõistmiseks ja vajalike ülesannete määramiseks pakutavat vestluste ajalugu, tegevusrühmi ja teadmistebaase.
  3. Pärast kasutaja kavatsuste sõelumist ja mõistmist määrab AI-assistent ülesanded. See põhineb juhistel, mida assistent tõlgendab vastavalt süsteemiviipale ja kasutaja sisendile.
  4. Seejärel käivitatakse ülesanded API-kutsete seeria kaudu. Seda tehakse kasutades reageerima viip, mis jagab ülesande mitmeks etapiks, mida töödeldakse järjestikku:
    1. Seadme mõõdikute kontrollimiseks kasutame check-device-metrics tegevusgrupp, mis hõlmab API-kutset Lambda funktsioonidele, mis seejärel pärivad Amazonase Athena taotletud andmete jaoks.
    2. Seadme otsetoimingute jaoks, nagu käivitamine, peatamine või taaskäivitamine, kasutame action-on-device tegevusrühm, mis kutsub esile lambda funktsiooni. See funktsioon käivitab protsessi, mis saadab IoT-seadmele käsud. Selle postituse puhul saadab Lambda funktsioon teatisi kasutades Amazoni lihtne meiliteenus (Amazon SES).
    3. Kasutame Amazon Bedrocki teadmusbaase, et hankida ajaloolisi andmeid, mis on salvestatud manustena Amazon OpenSearchi teenus vektori andmebaas.
  5. Pärast ülesannete täitmist genereerib Amazon Bedrock FM lõpliku vastuse ja edastab selle kasutajale.
  6. Agents for Amazon Bedrock salvestab teabe automaatselt sama vestluse säilitamiseks olekupõhise seansi abil. Olek kustutatakse pärast konfigureeritava jõudeoleku ajalõpu möödumist.

Tehniline ülevaade

Järgmine diagramm illustreerib AI-assistendi juurutamise arhitektuuri koos Agents for Amazon Bedrockiga.

Arhitektuuriskeem AI-assistendi juurutamiseks koos Agents for Amazon Bedrockiga.

See koosneb järgmistest põhikomponentidest:

  • Vestlusliides – Vestlusliides kasutab Streamlit, avatud lähtekoodiga Pythoni teeki, mis lihtsustab kohandatud, visuaalselt atraktiivsete veebirakenduste loomist masinõppe (ML) ja andmeteaduse jaoks. Seda majutatakse aadressil Amazoni elastsete konteinerite teenus (Amazon ECS) koos AWS Fargateja sellele pääseb juurde rakenduse koormuse tasakaalustaja abil. Fargate'i saate kasutada koos Amazon ECS-iga konteinerid ilma serverite, klastrite või virtuaalmasinate haldamiseta.
  • Amazon Bedrocki agendid – Agents for Amazon Bedrock täidab kasutaja päringud läbi mitmete arutluskäikude ja vastavate toimingute, mis põhinevad ReActi viip:
    • Amazon Bedrocki teadmistebaasid – Amazon Bedrocki teadmistebaasid pakuvad täielikult hallatavat teavet kalts et anda tehisintellekti assistendile juurdepääs teie andmetele. Meie kasutusjuhtumi puhul laadisime seadme spetsifikatsioonid üles kausta Amazoni lihtne salvestusteenus (Amazon S3) kopp. See toimib teadmistebaasi andmeallikana.
    • Tegevusgrupid – Need on määratletud API skeemid, mis kutsuvad esile konkreetseid Lambda funktsioone, et suhelda IoT-seadmete ja muude AWS-teenustega.
    • Anthropic Claude v2.1 Amazon Bedrockis – See mudel tõlgendab kasutaja päringuid ja korraldab ülesannete voogu.
    • Amazon Titan Embeddings – See mudel toimib teksti manustamise mudelina, muutes loomuliku keele teksti – üksikutest sõnadest keerukateks dokumentideks – numbrilisteks vektoriteks. See võimaldab vektorotsingu võimalusi, võimaldades süsteemil tõhusa otsingu jaoks semantiliselt sobitada kasutajapäringuid kõige asjakohasemate teadmistebaasi kirjetega.

Lahendus on integreeritud AWS-teenustega, nagu Lambda koodi käitamiseks vastuseks API-kõnedele, Athena andmekogumite päringute tegemiseks, OpenSearch teenus teadmistebaaside kaudu otsimiseks ja Amazon S3 salvestusruumi jaoks. Need teenused töötavad koos, et pakkuda loomuliku keele käskude kaudu sujuvat IoT-seadmete toimingute haldamise kogemust.

kasu

See lahendus pakub järgmisi eeliseid:

  • Rakenduse keerukus:
    • Vaja on vähem koodiridu, sest Agents for Amazon Bedrock võtab ära suure osa aluseks olevast keerukusest, vähendades sellega arendustegevust
    • Vektorandmebaaside, nagu OpenSearch Service, haldamine on lihtsustatud, kuna Amazon Bedrocki teadmistebaasid tegelevad vektoriseerimise ja salvestamisega
    • Integreerimine erinevate AWS-teenustega on eelnevalt määratletud tegevusrühmade kaudu sujuvam
  • Arendaja kogemus:
    • Amazon Bedrocki konsool pakub kasutajasõbralikku liidest kiireks arendamiseks, testimiseks ja algpõhjuste analüüsiks (RCA), parandades üldist arendaja kogemust.
  • Agility ja paindlikkus:
    • Agents for Amazon Bedrock võimaldab sujuvalt uuendada uuematele FM-idele (nt Claude 3.0), kui need saadavale tulevad, nii et teie lahendus püsib kursis viimaste edusammudega
    • Teenuse kvoote ja piiranguid haldab AWS, mis vähendab seire- ja skaleerimisinfrastruktuuri üldkulusid
  • Turvalisus:
    • Amazon Bedrock on täielikult hallatav teenus, mis järgib AWS-i rangeid turva- ja vastavusstandardeid, mis võib lihtsustada organisatsiooni turvaülevaateid

Kuigi Agents for Amazon Bedrock pakub sujuvat ja hallatavat lahendust vestluspõhise AI-rakenduste loomiseks, võivad mõned organisatsioonid eelistada avatud lähtekoodiga lähenemisviisi. Sellistel juhtudel saate kasutada raamistikke nagu LangChain, mida arutame järgmises jaotises.

LangChaini dünaamilise marsruutimise lähenemisviis

LangChain on avatud lähtekoodiga raamistik, mis lihtsustab vestluspõhise AI loomist, võimaldades integreerida suuri keelemudeleid (LLM) ja dünaamilisi marsruutimise võimalusi. LangChain Expression Language (LCEL) abil saavad arendajad määratleda Marsruutimine, mis võimaldab luua mittedeterministlikke ahelaid, kus eelmise sammu väljund määrab järgmise sammu. Marsruutimine aitab luua LLM-idega suhtlemisel struktuuri ja järjepidevust.

Selle postituse jaoks kasutame sama näidet nagu AI-assistent IoT-seadmete haldamisel. Peamine erinevus seisneb aga selles, et peame käsitlema süsteemiviipasid eraldi ja käsitlema iga ahelat eraldi üksusena. Marsruutimisahel otsustab sihtahela kasutaja sisendi põhjal. Otsus tehakse LLM-i toel, edastades süsteemiviipa, vestlusajaloo ja kasutaja küsimuse.

Lahenduse ülevaade

Järgmine diagramm illustreerib dünaamilise marsruutimislahenduse töövoogu.

Dünaamilise marsruutimislahenduse töövoog LangChainiga

Töövoog koosneb järgmistest sammudest:

  1. Kasutaja esitab AI assistendile küsimuse. Näiteks „Millised on seadme 1009 maksimaalsed mõõdikud?”
  2. LLM hindab iga küsimust koos sama seansi vestluste ajalooga, et teha kindlaks selle olemus ja teemavaldkond (nt SQL, tegevus, otsing või VKE). LLM klassifitseerib sisendi ja LCEL-i marsruutimisahel võtab selle sisendi.
  3. Ruuteri kett valib sihtahela sisendi põhjal ja LLM-ile antakse järgmine süsteemiviipa:
"""Given the user question below, classify it as one of the candidate prompts. You may want to modify the input considering the chat history and the context of the question. 
Sometimes the user may just assume that you have the context of the conversation and may not provide a clear input. Hence, you are being provided with the chat history for more context. 
Respond with only a Markdown code snippet containing a JSON object formatted EXACTLY as specified below. 
Do not provide an explanation to your classification beside the Markdown, I just need to know your decision on which destination and next_inputs
<candidate prompt>
physics: Good for answering questions about physics
sql: sql: Good for querying sql from AWS Athena. User input may look like: get me max or min for device x?
lambdachain: Good to execute actions with Amazon Lambda like shutting down a device or turning off an engine User input can be like, shutdown device x, or terminate process y, etc.
rag: Good to search knowledgebase and retrieve information about devices and other related information. User question can be like: what do you know about device x?
default: if the input is not well suited for any of the candidate prompts above. this could be used to carry on the conversation and respond to queries like provide a summary of the conversation
</candidate prompt>"""

LLM hindab kasutaja küsimust koos vestluste ajalooga, et teha kindlaks päringu olemus ja teemavaldkond, mille alla see kuulub. Seejärel liigitab LLM sisendi ja väljastab JSON-vastuse järgmises vormingus:

<Markdown>
```json
{{
"destination": string  name of the prompt to use
"next_inputs": string  a potentially modified version of the original input
}}
```

Ruuteri kett kasutab seda JSON-vastust vastava sihtahela väljakutsumiseks. Seal on neli teemapõhist sihtkoha ketti, millest igaühel on oma süsteemiviip:

  1. SQL-iga seotud päringud saadetakse SQL-i sihtahelasse andmebaasi interaktsioonide jaoks. Saate kasutada LCEL-i ehitamiseks SQL kett.
  2. Tegevusele suunatud küsimused kutsuvad esile kohandatud Lambda sihtahela toimingute käitamiseks. LCEL-iga saate ise määratleda kohandatud funktsioon; meie puhul on see funktsioon eelmääratletud Lambda funktsiooni käivitamiseks, et saata e-kiri koos parsitud seadme ID-ga. Kasutaja sisendi näide võib olla „Lülita seade 1009”.
  3. Otsingule keskendunud päringud liiguvad edasi kalts teabeotsingu sihtahel.
  4. VKEdega seotud küsimused suunatakse VKEde/ekspertide sihtahelasse, et saada spetsiaalseid teadmisi.
  5. Iga sihtkoha kett võtab sisendi ja käitab vajalikke mudeleid või funktsioone:
    1. SQL-ahel kasutab päringute käitamiseks Athenat.
    2. RAG-kett kasutab semantilise otsingu jaoks teenust OpenSearch.
    3. Kohandatud Lambda kett käivitab toimingute jaoks Lambda funktsioone.
    4. VKE-/eksperdikett pakub Amazon Bedrocki mudelit kasutades teadmisi.
  6. LLM koostab iga sihtkoha ahela vastused sidusateks arusaamadeks. Seejärel edastatakse need ülevaated kasutajale, mis viib päringutsükli lõpule.
  7. Kasutaja sisend ja vastused salvestatakse Amazon DynamoDB et pakkuda LLM-ile praeguse seansi ja varasemate interaktsioonide konteksti. DynamoDB-s püsiva teabe kestust kontrollib rakendus.

Tehniline ülevaade

Järgmine diagramm illustreerib LangChaini dünaamilise marsruutimise lahenduse arhitektuuri.

LangChaini dünaamilise marsruutimise lahenduse arhitektuurskeem

Veebirakendus on üles ehitatud Streamlitile, mida hostitakse Amazon ECS-is koos Fargate'iga, ja sellele pääseb juurde rakenduse koormuse tasakaalustaja abil. Kasutame LLM-na Amazon Bedrockis Anthropicu Claude v2.1. Veebirakendus suhtleb mudeliga LangChaini teekide abil. See suhtleb ka paljude teiste AWS-teenustega, nagu OpenSearch Service, Athena ja DynamoDB, et täita lõppkasutajate vajadusi.

kasu

See lahendus pakub järgmisi eeliseid:

  • Rakenduse keerukus:
    • Kuigi see nõuab rohkem koodi ja kohandatud arendust, pakub LangChain suuremat paindlikkust ja kontrolli marsruutimisloogika ja erinevate komponentidega integreerimise üle.
    • Vektorandmebaaside, nagu OpenSearch Service, haldamine nõuab täiendavaid seadistus- ja konfigureerimistööd. Vektoriseerimisprotsess on realiseeritud koodis.
    • AWS-i teenustega integreerimine võib hõlmata rohkem kohandatud koodi ja konfiguratsiooni.
  • Arendaja kogemus:
    • LangChaini Pythonil põhinev lähenemine ja ulatuslik dokumentatsioon võivad olla atraktiivsed arendajatele, kes on Pythoni ja avatud lähtekoodiga tööriistadega juba tuttavad.
    • Kiire arendus ja silumine võib nõuda rohkem käsitsi pingutusi võrreldes Amazon Bedrocki konsooli kasutamisega.
  • Agility ja paindlikkus:
    • LangChain toetab laia valikut LLM-e, võimaldades teil vahetada erinevate mudelite või pakkujate vahel, soodustades paindlikkust.
    • LangChaini avatud lähtekoodiga olemus võimaldab kogukonnapõhiseid täiustusi ja kohandusi.
  • Turvalisus:
    • Avatud lähtekoodiga raamistikuna võib LangChain nõuda organisatsioonide rangemat turbeülevaatust ja kontrollimist, mis võib suurendada lisakulusid.

Järeldus

Vestluspõhised AI-assistendid on muutlikud tööriistad toimingute sujuvamaks muutmiseks ja kasutajakogemuse parandamiseks. See postitus uuris kahte võimsat lähenemist AWS-i teenuste kasutamisel: Amazon Bedrocki hallatavad agendid ja paindlik avatud lähtekoodiga LangChain dünaamiline marsruutimine. Valik nende lähenemisviiside vahel sõltub teie organisatsiooni nõuetest, arenduseelistustest ja soovitud kohandamistasemest. Sõltumata valitud teest annab AWS teile võimaluse luua intelligentseid tehisintellekti abilisi, mis muudavad äri- ja kliendisuhtluses revolutsiooni.

Otsige lahenduse koodi ja juurutusvarasid meie veebisaidilt GitHubi hoidla, kus saate järgida üksikasjalikke samme iga vestlusliku AI lähenemisviisi jaoks.


Autoritest

Ameer Hakme on Pennsylvanias asuv AWS-i lahenduste arhitekt. Ta teeb koostööd sõltumatute tarkvaramüüjatega (ISV-dega) kirdepiirkonnas, aidates neil kavandada ja ehitada AWS-i pilves skaleeritavaid ja kaasaegseid platvorme. AI/ML ja generatiivse AI ekspert Ameer aitab klientidel avada nende tipptehnoloogiate potentsiaali. Vabal ajal meeldib talle mootorrattaga sõita ja perega kvaliteetaega veeta.

Sharon Li on Bostonis asuva Amazon Web Servicesi AI/ML-lahenduste arhitekt, kelle kirg on AWS-is generatiivsete AI-rakenduste kavandamine ja ehitamine. Ta teeb koostööd klientidega, et kasutada AWS AI/ML teenuseid uuenduslike lahenduste leidmiseks.

Kawsar Kamal on Amazon Web Servicesi vanemlahenduste arhitekt, kellel on üle 15-aastane kogemus infrastruktuuri automatiseerimise ja turvalisuse valdkonnas. Ta aitab klientidel kavandada ja luua pilves skaleeritavaid DevSecOpsi ja AI/ML lahendusi.

spot_img

Uusim intelligentsus

spot_img

Jututuba koos meiega

Tere! Kuidas ma teid aidata saan?