V svetu razvoja programske opreme sta pregled in odobritev kode pomembna procesa za zagotavljanje kakovosti, varnosti in funkcionalnosti programske opreme, ki se razvija. Vendar pa se menedžerji, ki so zadolženi za nadzor teh kritičnih procesov, pogosto srečujejo s številnimi izzivi, kot so naslednji:
- Pomanjkanje tehničnega znanja – Vodje morda nimajo poglobljenega tehničnega razumevanja uporabljenega programskega jezika ali morda niso bili dlje časa vključeni v programski inženiring. Posledica tega je vrzel v znanju, ki jim lahko oteži natančno oceno vpliva in utemeljenosti predlaganih sprememb kode.
- Časovne omejitve – Pregled kode in odobritev sta lahko dolgotrajen proces, zlasti pri večjih ali kompleksnejših projektih. Vodje morajo uravnotežiti med temeljitostjo pregleda in pritiskom glede izpolnjevanja časovnih načrtov projekta.
- Obseg zahtevkov za spremembe – Ukvarjanje z velikim številom zahtevkov za spremembe je pogost izziv za vodje, še posebej, če nadzirajo več skupin in projektov. Podobno kot pri časovni omejitvi morajo biti menedžerji sposobni učinkovito obravnavati te zahteve, da ne zavirajo napredka projekta.
- Ročni napor – Pregled kode zahteva ročni napor menedžerjev, pomanjkanje avtomatizacije pa lahko oteži prilagajanje procesa.
- dokumentacija – Ustrezna dokumentacija postopka pregleda kode in odobritve je pomembna za preglednost in odgovornost.
Z vzponom generativna umetna inteligenca (AI), lahko menedžerji zdaj izkoristijo to transformativno tehnologijo in jo integrirajo z zbirko orodij in storitev za uvajanje AWS, da poenostavijo postopek pregleda in odobritve na način, ki prej ni bil mogoč. V tej objavi raziskujemo rešitev, ki ponuja integriran delovni tok uvajanja od konca do konca, ki vključuje samodejno analizo sprememb in povzemanje skupaj s funkcijo delovnega toka odobritve. Uporabljamo Amazon Bedrock, v celoti upravljana storitev, ki daje temeljne modele (FM) vodilnih zagonskih podjetij z umetno inteligenco in Amazona na voljo prek API-ja, tako da lahko izbirate med široko paleto FM-jev in poiščete model, ki je najbolj primeren za vaš primer uporabe. Z brezstrežniško izkušnjo Amazon Bedrock lahko hitro začnete, zasebno prilagodite FM-je z lastnimi podatki ter jih integrirate in uvedete v svoje aplikacije z orodji AWS, ne da bi morali upravljati kakršno koli infrastrukturo.
Pregled rešitev
Naslednji diagram prikazuje arhitekturo rešitev.
Potek dela je sestavljen iz naslednjih korakov:
- Razvijalec potisne nove spremembe kode v svoje skladišče kode (kot npr AWS CodeCommit), ki samodejno sproži začetek AWS CodePipeline uporabo.
- Koda aplikacije gre skozi postopek gradnje kode, izvaja preglede ranljivosti in izvaja teste enot z uporabo vaših želenih orodij.
- AWS CodeBuild pridobi repozitorij in izvede ukaz git show, da izvleče razlike kode med trenutno različico objave in prejšnjo različico objave. To ustvari izpis vrstico za vrstico, ki označuje spremembe kode, narejene v tej izdaji.
- CodeBuild shrani izhod v Amazon DynamoDB tabela z dodatnimi referenčnimi informacijami:
- ID izvajanja CodePipeline
- Regija AWS
- CodePipeline ime
- Številka gradnje CodeBuild
- Datum in čas
- Status
- Amazon DynamoDB Streams zajame spremembe podatkov pripravljen na mizo.
- An AWS Lambda funkcijo sproži tok DynamoDB za obdelavo zajetega zapisa.
- Funkcija prikliče model Anthropic Claude v2 na Amazon Bedrock prek Amazon Bedrock InvokeModel API klic. Razlike kode so skupaj s pozivom podane kot vhodni podatki v model za analizo, povzetek sprememb kode pa je vrnjen kot izhod.
- Izhod iz modela se shrani nazaj v isto tabelo DynamoDB.
- Upravitelj je obveščen preko Enostavna e -poštna storitev Amazon (Amazon SES) o povzetku sprememb kode in da je za uvedbo potrebna njihova odobritev.
- Upravitelj pregleda e-pošto in prek konzole CodePipeline posreduje svojo odločitev (bodisi odobri ali zavrne) skupaj z morebitnimi komentarji pregleda.
- Odločitev o odobritvi in komentarje pregleda zajame Amazon EventBridge, ki sproži funkcijo Lambda, da jih shrani nazaj v DynamoDB.
- Če je odobren, cevovod razmesti kodo aplikacije z vašimi prednostnimi orodji. Če je zavrnjen, se potek dela konča in uvedba se ne nadaljuje.
V naslednjih razdelkih razmestite rešitev in preverite potek dela od konca do konca.
Predpogoji
Če želite slediti navodilom v tej rešitvi, potrebujete naslednje predpogoje:
Uvedite rešitev
Za namestitev rešitve izvedite naslednje korake:
- Izberite Izstrelite sklad za zagon sklada CloudFormation
us-east-1
: - za Email naslov, vnesite e-poštni naslov, do katerega imate dostop. Povzetek sprememb kode bo poslan na ta elektronski naslov.
- za modelId, pustite kot privzeti anthropic.claude-v2, ki je model Anthropic Claude v2.
Namestitev predloge bo trajala približno 4 minute.
- Ko od Amazon SES prejmete e-poštno sporočilo za potrditev vašega e-poštnega naslova, izberite navedeno povezavo za avtorizacijo vašega e-poštnega naslova.
- Prejeli boste e-poštno sporočilo z naslovom »Povzetek sprememb« za začetno objavo vzorčnega repozitorija v CodeCommit.
- Na konzoli AWS CloudFormation se pomaknite do Izhodi zavihek razporejenega sklada.
- Kopirajte vrednost RepoCloneURL. To potrebujete za dostop do skladišča vzorčne kode.
Preizkusite raztopino
Potek dela lahko preizkusite od začetka do konca, tako da prevzamete vlogo razvijalca in potisnete nekaj sprememb kode. Nabor vzorčnih kod je bil pripravljen za vas v CodeCommit. Za dostop do repozitorija CodeCommit, v IDE vnesite naslednje ukaze:
Našli boste naslednjo strukturo imenikov za an Komplet za razvoj oblaka AWS (AWS CDK), ki ustvari funkcijo Lambda za izvedbo mehurčkastega razvrščanja v nizu celih števil. Funkcija Lambda je dostopna prek javno dostopnega URL-ja.
Naredite tri spremembe aplikacijskih kod.
- Če želite izboljšati funkcijo za podporo algoritma za hitro razvrščanje in razvrščanje z mehurčki, vzemite parameter, da omogočite izbiro algoritma za uporabo, in vrnite uporabljeni algoritem in razvrščeno matriko v izhodu, zamenjajte celotno vsebino
lambda/index.py
z naslednjo kodo:
- Če želite zmanjšati nastavitev časovne omejitve funkcije z 10 minut na 5 sekund (ker ne pričakujemo, da bo funkcija delovala dlje kot nekaj sekund), posodobite vrstico 47 v
my_sample_project/my_sample_project_stack.py
kot sledi:
- Če želite omejiti priklic funkcije z uporabo IAM za dodatno varnost, posodobite vrstico 56 v
my_sample_project/my_sample_project_stack.py
kot sledi:
- Potisnite spremembe kode tako, da vnesete naslednje ukaze:
S tem se začne delovni tok uvajanja CodePipeline od 1. do 9. koraka, kot je opisano v pregledu rešitve. Pri priklicu modela Amazon Bedrock smo zagotovili naslednji poziv:
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :ima
- : je
- :ne
- $GOR
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- Sposobna
- O meni
- pospeši
- dostop
- dostopen
- odgovornost
- natančno
- Doseči
- dejansko
- dodano
- Poleg tega
- Dodatne
- Naslov
- Dodaja
- Prednost
- AI
- algoritem
- algoritmi
- omogočajo
- skupaj
- Amazon
- Amazon Web Services
- an
- Analize
- Analiza
- analizirati
- in
- Antropično
- kaj
- API
- aplikacija
- uporaba
- aplikacije
- odobritev
- odobri
- odobren
- Arhitektura
- SE
- okoli
- Array
- umetni
- AS
- oceniti
- pomoč
- Pomočnik
- lastnosti
- Povečana
- overjena
- Preverjanje pristnosti
- odobri
- Avtomatizirano
- samodejno
- Avtomatizacija
- Na voljo
- AWS
- Oblikovanje oblaka AWS
- nazaj
- Ravnovesje
- temeljijo
- BE
- ker
- bilo
- počutje
- BEST
- med
- telo
- tako
- prinašajo
- bubble
- izgradnjo
- Building
- by
- klic
- CAN
- Lahko dobiš
- Zajeto
- primeru
- CD
- izziv
- izzivi
- spremenite
- spremenilo
- Spremembe
- Izberite
- čiščenje
- Cloud
- Koda
- Pregled kode
- Kode
- komentarji
- Zavezati
- Skupno
- dokončanje
- kompleksna
- zgoščeno
- Ravnanje
- dirigira
- Posledice
- premislekov
- vsebuje
- Konzole
- vsebina
- ozadje
- ustvaril
- ustvari
- kritično
- Trenutna
- prilagodite
- datum
- hči
- deliti
- Odločitev
- privzeto
- opredeljen
- razporedi
- razporejeni
- uvajanja
- uvajanje
- razpolaga
- Oblikovanje
- želeno
- Podrobnosti
- Ugotovite,
- razvili
- Razvojni
- Razvoj
- diagram
- razlike
- drugačen
- težko
- imenik
- Dokumentacija
- ne
- dont
- trajanje
- enostavnost
- učinkovitosti
- učinkovito
- prizadevanje
- bodisi
- ostalo
- E-naslov
- konec
- konec koncev
- konča
- Inženiring
- okrepi
- zagotoviti
- Vnesite
- V
- Celotna
- okolje
- zlasti
- Event
- Primer
- Razen
- pričakovati
- izkušnje
- Poskusi
- raziskuje
- raziskuje
- podaljšan
- ekstrakt
- Obraz
- soočen
- družina
- Nekaj
- finančna
- Finančne ustanove
- Najdi
- prilagodljivost
- sledi
- po
- sledi
- za
- Fundacija
- brezplačno
- iz
- v celoti
- funkcija
- funkcionalno
- funkcionalnost
- nadalje
- vrzel
- ustvarila
- generativno
- Generativna AI
- dobili
- pridobivanje
- git
- Go
- goes
- več
- Navodila
- ročaj
- plezalni pas
- Imajo
- ob
- he
- visoka
- zelo
- njegov
- držite
- Kako
- Vendar
- HTML
- http
- HTTPS
- človeškega
- i
- ID
- if
- ponazarja
- vpliv
- Izvajanje
- izvajanja
- posledice
- Pomembno
- izboljšanje
- in
- Poglobljena
- vključuje
- Indeks
- označuje
- Podatki
- Infrastruktura
- začetna
- vhod
- Institucije
- Navodila
- integrirati
- integrirana
- Integrira
- v
- Predstavlja
- prikliče
- vključeni
- IT
- json
- Vedite
- znanje
- Pomanjkanje
- jezik
- večja
- kosilo
- vodi
- pustite
- manj
- Naj
- vrstica
- LINK
- Seznam
- več
- je
- Glavne
- velika
- Znamka
- IZDELA
- upravljanje
- upravlja
- upravitelj
- Vodje
- Način
- Navodilo
- Maj ..
- pomenilo
- Srečati
- metapodatki
- morda
- Minute
- Model
- modeli
- spremembe
- več
- Najbolj
- več
- Krmarjenje
- Nimate
- Novo
- Naslednja
- št
- Noben
- zdaj
- številke
- številne
- of
- Ponudbe
- pogosto
- on
- samo
- or
- Ostalo
- drugače
- ven
- opisano
- izhod
- zunaj
- Splošni
- nadzor
- pregled
- lastne
- parameter
- dokler
- Izvedite
- opravlja
- Obdobje
- plinovod
- pivot
- platon
- Platonova podatkovna inteligenca
- PlatoData
- mogoče
- Prispevek
- potencial
- moč
- prednostno
- pripravljeni
- predpogoji
- tlak
- prejšnja
- prej
- nadaljujte
- Postopek
- Procesi
- proizvodnjo
- proizvaja
- profil
- Programiranje
- Napredek
- Projekt
- projekti
- pozove
- pravilno
- predlagano
- zagotavljajo
- če
- zagotavlja
- javno
- Namen
- potiska
- Potiskanje
- kakovost
- poizvedba
- Hitri
- hitro
- območje
- prejeti
- zapis
- zmanjša
- Zmanjšana
- zmanjšuje
- reference
- Zavrnjeno..
- sprostitev
- zamenjajte
- Skladišče
- zahteva
- obvezna
- Zahteve
- zahteva
- viri
- Odgovor
- omejiti
- Rezultati
- vrnitev
- vrne
- pregleda
- Mnenja
- Rise
- vloga
- Run
- s
- Enako
- Vzorec
- Shrani
- shranjena
- razširljive
- Lestvica
- skenira
- sekund
- oddelki
- zavarovanje
- varnost
- izbor
- višji
- poslan
- Brez strežnika
- Storitev
- Storitve
- nastavite
- nastavitev
- shouldnt
- Prikaži
- Podoben
- Enostavno
- Singapur
- So
- Software
- Razvoj programske opreme
- inženiring programske opreme
- Rešitev
- rešitve
- nekaj
- vir
- določeno
- hitrost
- troši
- sveženj
- Začetek
- začel
- začne
- Ustanavljanjem
- Korak
- Koraki
- tok
- racionalizirati
- String
- Struktura
- taka
- apartma
- primerna
- POVZETEK
- podpora
- miza
- Bodite
- ob
- Skupine
- tehnični
- Tehnologija
- Predloga
- Test
- testi
- kot
- da
- O
- svet
- njihove
- Njih
- Tukaj.
- te
- jih
- ta
- tisti,
- 3
- skozi
- zategne
- čas
- zamudno
- časovnice
- z naslovom
- do
- skupaj
- orodje
- orodja
- transformativno
- Preglednost
- sprožilo
- poskusite
- dva
- tipičen
- razumevanje
- Enota
- Nadgradnja
- posodobljeno
- URL
- us
- uporaba
- primeru uporabe
- Rabljeni
- Uporabniki
- uporablja
- uporabo
- v1
- vrednost
- različnih
- preverjanje
- različica
- preko
- Obseg
- vs
- ranljivost
- je
- we
- web
- spletne storitve
- Dobro
- so bili
- kdaj
- ki
- široka
- Širok spekter
- bo
- z
- v
- brez
- delo
- potek dela
- deluje
- deluje
- svet
- X
- yaml
- Vi
- Vaša rutina za
- zefirnet