Creați o interfață de utilizare web pentru a interacționa cu LLM utilizând Amazon SageMaker JumpStart | Amazon Web Services

Creați o interfață de utilizare web pentru a interacționa cu LLM utilizând Amazon SageMaker JumpStart | Amazon Web Services

Lansarea ChatGPT și creșterea popularității AI generative au captat imaginația clienților care sunt curioși despre cum pot folosi această tehnologie pentru a crea noi produse și servicii pe AWS, cum ar fi chatbot-urile de întreprindere, care sunt mai conversaționale. Această postare vă arată cum puteți crea o interfață de utilizare web, pe care o numim Chat Studio, pentru a începe o conversație și a interacționa cu modelele de bază disponibile în Amazon SageMaker JumpStart precum Llama 2, Stable Diffusion și alte modele disponibile pe Amazon SageMaker. După ce implementați această soluție, utilizatorii pot începe rapid și pot experimenta capabilitățile mai multor modele de bază în IA conversațională printr-o interfață web.

De asemenea, Chat Studio poate invoca opțional punctul final al modelului Stable Diffusion pentru a returna un colaj de imagini și videoclipuri relevante dacă utilizatorul solicită afișarea conținutului media. Această caracteristică poate ajuta la îmbunătățirea experienței utilizatorului prin utilizarea mijloacelor media ca active însoțitoare ale răspunsului. Acesta este doar un exemplu al modului în care puteți îmbogăți Chat Studio cu integrări suplimentare pentru a vă îndeplini obiectivele.

Următoarele capturi de ecran arată exemple despre cum arată o interogare de utilizator și un răspuns.

Interfață de interogare Chat Studio

Interfață de răspuns Chat Studio

Modele mari de limbaj

Chatbot-urile AI generative, cum ar fi ChatGPT, sunt alimentate de modele de limbaj mari (LLM), care se bazează pe o rețea neuronală de învățare profundă care poate fi antrenată pe cantități mari de text neetichetat. Utilizarea LLM-urilor permite o experiență conversațională mai bună, care seamănă îndeaproape cu interacțiunile cu oameni reali, stimulând un sentiment de conexiune și o satisfacție îmbunătățită a utilizatorilor.

Modele de fond de ten SageMaker

În 2021, Institutul Stanford pentru Inteligență Artificială Centrată pe Om a numit unele LLM drept modele de fundație. Modelele de fundație sunt pregătite în prealabil pe un set mare și larg de date generale și sunt menite să servească drept bază pentru optimizări ulterioare într-o gamă largă de cazuri de utilizare, de la generarea de artă digitală până la clasificarea textului multilingv. Aceste modele de fundație sunt populare în rândul clienților, deoarece formarea unui nou model de la zero necesită timp și poate fi costisitoare. SageMaker JumpStart oferă acces la sute de modele de fundație întreținute de la terți furnizori open source și proprietari.

Prezentare generală a soluțiilor

Această postare trece printr-un flux de lucru low-code pentru implementarea LLM-urilor pre-instruite și personalizate prin SageMaker și crearea unei interfețe de utilizare web pentru a interfața cu modelele implementate. Acoperim următorii pași:

  1. Implementați modele de fundație SageMaker.
  2. Lansa AWS Lambdas și Gestionarea identității și accesului AWS (IAM) utilizând permisiunile Formarea AWS Cloud.
  3. Configurați și rulați interfața cu utilizatorul.
  4. Opțional, adăugați și alte modele de fond de ten SageMaker. Acest pas extinde capacitatea Chat Studio de a interacționa cu modele de fundație suplimentare.
  5. Opțional, implementați aplicația folosind Amplificare AWS. Acest pas implementează Chat Studio pe web.

Consultați următoarea diagramă pentru o prezentare generală a arhitecturii soluției.

Arhitectura soluției Chat Studio

Cerințe preliminare

Pentru a parcurge soluția, trebuie să aveți următoarele cerințe preliminare:

  • An Cont AWS cu suficiente privilegii de utilizator IAM.
  • npm instalat în mediul dumneavoastră local. Pentru instrucțiuni despre cum se instalează npm, a se referi la Descărcarea și instalarea Node.js și npm.
  • O cotă de serviciu de 1 pentru punctele finale SageMaker corespunzătoare. Pentru Llama 2 13b Chat, folosim o instanță ml.g5.48xlarge, iar pentru Stable Diffusion 2.1, folosim o instanță ml.p3.2xlarge.

Pentru a solicita o creștere a cotei de servicii, pe data Consola AWS Service Quotes, navigheaza catre Servicii AWS, SageMaker, iar cererea de creștere a cotei de serviciu la o valoare de 1 pentru ml.g5.48xlarge pentru utilizarea punctului final și ml.p3.2xlarge pentru utilizarea punctului final.

Cererea de cotă de serviciu poate dura câteva ore pentru a fi aprobată, în funcție de disponibilitatea tipului de instanță.

Implementați modele de fundație SageMaker

SageMaker este un serviciu de învățare automată (ML) complet gestionat pentru dezvoltatori pentru a construi și a antrena rapid modele ML cu ușurință. Parcurgeți următorii pași pentru a implementa modelele de fundație Llama 2 13b Chat și Stable Diffusion 2.1 folosind Amazon SageMaker Studio:

  1. Creați un domeniu SageMaker. Pentru instrucțiuni, consultați Accesați domeniul Amazon SageMaker folosind Configurare rapidă.

Un domeniu configurează toată spațiul de stocare și vă permite să adăugați utilizatori pentru a accesa SageMaker.

  1. Pe consola SageMaker, alegeți Studio în panoul de navigare, apoi alegeți Deschide Studio.
  2. La lansarea Studio, sub SageMaker JumpStart în panoul de navigare, alegeți Modele, caiete, solutii.
    Consola SageMaker JumpStart
  3. În bara de căutare, căutați Llama 2 13b Chat.
  4. În Configurație de implementare, Pentru Instanță de găzduire SageMaker, alege ml.g5.48xmare si pentru Numele finalului, introduce meta-textgeneration-llama-2-13b-f.
  5. Alege Implementați.

Configurație de implementare SageMaker JumpStart

După ce implementarea reușește, ar trebui să puteți vedea In Service stare.

Statutul modelului de lamă

  1. Pe Modele, caiete, solutii pagina, căutați Stable Diffusion 2.1.
  2. În Configurație de implementare, Pentru Instanță de găzduire SageMaker, alege ml.p3.2xmare si pentru Numele finalului, introduce jumpstart-dft-stable-diffusion-v2-1-base.
  3. Alege Lansa.

Configurație de implementare SageMaker JumpStart

După ce implementarea reușește, ar trebui să puteți vedea In Service stare.

Starea modelului de difuzie stabilă

Implementați permisiuni Lambda și IAM folosind AWS CloudFormation

Această secțiune descrie cum puteți lansa o stivă CloudFormation care implementează o funcție Lambda care prelucrează cererea dvs. de utilizator și apelează punctul final SageMaker pe care l-ați implementat și implementează toate permisiunile IAM necesare. Parcurgeți următorii pași:

  1. Navigați către GitHub depozit și descărcați șablonul CloudFormation (lambda.cfn.yaml) la aparatul dvs. local.
  2. Pe consola CloudFormation, alegeți Creați stivă meniul derulant și alegeți Cu resurse noi (standard).
  3. Pe Specificați șablonul pagina, selectați Încărcați un fișier șablon și Alegeți fișierul.
  4. Alege lambda.cfn.yaml fișierul pe care l-ați descărcat, apoi alegeți Pagina Următoare →.
  5. Pe Specificați detaliile stivei pagina, introduceți un nume de stivă și cheia API pe care le-ați obținut în condițiile preliminare, apoi alegeți Pagina Următoare →.
  6. Pe Configurați opțiunile stivei pagina, alege Pagina Următoare →.
  7. Examinați și confirmați modificările și alegeți Trimite mesaj.

Configurați interfața de utilizare web

Această secțiune descrie pașii pentru a rula interfața de utilizare web (creată folosind Sistemul de proiectare Cloudscape) pe mașina dvs. locală:

  1. În consola IAM, navigați la utilizator functionUrl.
  2. Pe Acreditări de securitate fila, alegeți Creați cheia de acces.
  3. Pe Accesați cele mai bune practici și alternative cheie pagina, selectați Command Line Interface (CLI) Și alegeți Pagina Următoare →.
  4. Pe Setați eticheta de descriere pagina, alege Creați cheia de acces.
  5. Copiați cheia de acces și cheia de acces secretă.
  6. Alege Terminat .
  7. Navigați către GitHub depozit și descărcați react-llm-chat-studio cod.
  8. Lansați folderul în IDE-ul preferat și deschideți un terminal.
  9. Navigheaza catre src/configs/aws.json și introduceți cheia de acces și cheia de acces secretă pe care le-ați obținut.
  10. Introduceți următoarele comenzi în terminal:
    npm install npm start

  11. Operatii Deschise http://localhost:3000 în browser și începeți să interacționați cu modelele dvs.!

Pentru a utiliza Chat Studio, alegeți un model de bază din meniul derulant și introduceți interogarea în caseta de text. Pentru a obține imagini generate de AI împreună cu răspunsul, adăugați expresia „cu imagini” la sfârșitul interogării.

Adăugați alte modele de fond de ten SageMaker

Puteți extinde și mai mult capacitatea acestei soluții pentru a include modele suplimentare de fundație SageMaker. Deoarece fiecare model se așteaptă la formate diferite de intrare și ieșire atunci când își invocă punctul final SageMaker, va trebui să scrieți un cod de transformare în funcția callSageMakerEndpoints Lambda pentru a interfața cu modelul.

Această secțiune descrie pașii generali și modificările de cod necesare pentru implementarea unui model suplimentar la alegerea dvs. Rețineți că pentru pașii 6-8 sunt necesare cunoștințe de bază despre limbajul Python.

  1. În SageMaker Studio, implementați modelul de fundație SageMaker la alegere.
  2. Alege SageMaker JumpStart și Lansați elementele JumpStart.
  3. Alegeți punctul final de model nou implementat și alegeți Deschide Notebook.
  4. Pe consola notebook-ului, găsiți parametrii sarcinii utile.

Acestea sunt câmpurile pe care noul model le așteaptă atunci când își invocă punctul final SageMaker. Următoarea captură de ecran arată un exemplu.

Configurarea punctului final SageMaker

  1. Pe consola Lambda, navigați la callSageMakerEndpoints.
  2. Adăugați un handler de intrare personalizat pentru noul dvs. model.

În următoarea captură de ecran, am transformat intrarea pentru Falcon 40B Instruct BF16 și GPT NeoXT Chat Base 20B FP16. Puteți introduce logica parametrilor personalizați așa cum este indicat pentru a adăuga logica de transformare a intrării cu referire la parametrii de sarcină utilă pe care i-ați copiat.

Fragment de cod Lambda

  1. Reveniți la consola notebook-ului și localizați query_endpoint.

Această funcție vă oferă o idee despre cum să transformați rezultatul modelelor pentru a extrage răspunsul final al textului.

Configurarea punctului final SageMaker

  1. Cu referire la codul din query_endpoint, adăugați un handler de ieșire personalizat pentru noul dvs. model.
    Cod Lambda
  2. Alege Implementați.
  3. Deschideți IDE-ul, lansați react-llm-chat-studio cod și navigați la src/configs/models.json.
  4. Adăugați numele modelului și punctul final al modelului și introduceți parametrii sarcinii utile de la Pasul 4 de mai jos payload folosind următorul format:
    "add_model_name": { "endpoint_name": "add_model_enpoint", "payload": { "add_payload_paramters_here"
    }
    },

  5. Actualizează-ți browserul pentru a începe să interacționezi cu noul tău model!

Implementați aplicația folosind Amplify

Amplify este o soluție completă care vă permite să implementați rapid și eficient aplicația dvs. Această secțiune descrie pașii pentru implementarea Chat Studio într-un Amazon CloudFront distribuție folosind Amplif dacă doriți să partajați aplicația dvs. cu alți utilizatori.

  1. Navigați către react-llm-chat-studio folderul de cod pe care l-ați creat mai devreme.
  2. Introduceți următoarele comenzi în terminal și urmați instrucțiunile de configurare:
    npm install -g @aws-amplify/cli amplify configure

  3. Inițializați un nou proiect Amplify folosind următoarea comandă. Furnizați un nume de proiect, acceptați configurațiile implicite și alegeți chei de acces AWS când vi se solicită să selectați metoda de autentificare.
    amplify init

  4. Găzduiți proiectul Amplify utilizând următoarea comandă. Alege Amazon CloudFront și S3 când vi se solicită să selectați modul plugin.
    amplify hosting add

  5. În cele din urmă, construiți și implementați proiectul cu următoarea comandă:
    amplify publish

  6. După ce implementarea reușește, deschideți adresa URL furnizată în browser și începeți să interacționați cu modelele dvs.!

A curăța

Pentru a evita costurile viitoare, parcurgeți următorii pași:

  1. Ștergeți stiva CloudFormation. Pentru instrucțiuni, consultați Ștergerea unei stive de pe consola AWS CloudFormation.
  2. Ștergeți punctul final SageMaker JumpStart. Pentru instrucțiuni, consultați Ștergeți punctele finale și resursele.
  3. Ștergeți domeniul SageMaker. Pentru instrucțiuni, consultați Ștergeți un domeniu Amazon SageMaker.

Concluzie

În această postare, am explicat cum să creați o interfață de utilizare web pentru interfața cu LLM-urile implementate pe AWS.

Cu această soluție, puteți interacționa cu LLM-ul dvs. și puteți purta o conversație într-un mod ușor de utilizat pentru a testa sau pune întrebări LLM și puteți obține un colaj de imagini și videoclipuri, dacă este necesar.

Puteți extinde această soluție în diferite moduri, cum ar fi pentru a integra modele de fundație suplimentare, se integrează cu Amazon Kendra pentru a permite căutarea inteligentă bazată pe ML pentru înțelegerea conținutului întreprinderii și multe altele!

Vă invităm să experimentați diferite LLM-uri pre-instruite disponibile pe AWS, sau construiți pe deasupra sau chiar creați-vă propriile LLM-uri în SageMaker. Spune-ne întrebările și constatările tale în comentarii și distrează-te!


Despre autori

Creați o interfață de utilizare web pentru a interacționa cu LLM utilizând Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Jarrett Yeo Shan Wei este arhitect cloud asociat în AWS Professional Services care acoperă sectorul public din ASEAN și este un avocat pentru a ajuta clienții să se modernizeze și să migreze în cloud. El a obținut cinci certificări AWS și a publicat, de asemenea, o lucrare de cercetare privind ansamblurile de mașini de creștere a gradientului în cadrul celei de-a 8-a Conferințe Internaționale despre AI. În timpul său liber, Jarrett se concentrează și contribuie la scena AI generativă de la AWS.

Creați o interfață de utilizare web pentru a interacționa cu LLM utilizând Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Tammy Lim Lee Xin este arhitect cloud asociat la AWS. Ea folosește tehnologia pentru a ajuta clienții să-și livreze rezultatele dorite în călătoria lor de adoptare a cloud-ului și este pasionată de AI/ML. În afara serviciului, îi place să călătorească, să facă drumeții și să petreacă timpul cu familia și prietenii.

Timestamp-ul:

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