AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon webbtjänster

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon webbtjänster

Amazon SageMaker kommer med två alternativ för att skapa helt hanterade bärbara datorer för att utforska data och bygga modeller för maskininlärning (ML). Det första alternativet är snabbstart, samverkande anteckningsböcker tillgängliga inom Amazon SageMaker Studio—en helt integrerad utvecklingsmiljö (IDE) för maskininlärning. Du kan snabbt starta anteckningsböcker i Studio, enkelt ringa upp eller ner de underliggande beräkningsresurserna utan att avbryta ditt arbete och till och med dela din anteckningsbok som en länk med några få klick. Förutom att skapa bärbara datorer kan du utföra alla ML-utvecklingssteg för att bygga, träna, felsöka, spåra, distribuera och övervaka dina modeller i en enda glasruta i Studio. Det andra alternativet är Amazon SageMaker-anteckningsblockinstanser— en enda, helt hanterad ML-beräkningsinstans som kör bärbara datorer i molnet, vilket ger dig mer kontroll över dina konfigurationer av din bärbara dator.

Idag är vi glada att meddela tillgängligheten av Amazon Code Whisperer och Amazon CodeGuru Security tillägg i SageMaker-anteckningsböcker. Dessa AI-drivna tillägg hjälper till att påskynda ML-utvecklingen genom att erbjuda kodförslag medan du skriver, och se till att din kod är säker och följer AWS bästa praxis.

I det här inlägget visar vi hur du kan komma igång med Amazon CodeGuru Security och CodeWhisperer i Studio och SageMaker notebook-instanser.

Lösningsöversikt

Smakämnen CodeWhisperer-tillägg är en AI-kodningskompanjon som ger utvecklare kodförslag i realtid i bärbara datorer. Enskilda utvecklare kan använda CodeWhisperer gratis i Studio- och SageMaker-anteckningsboksinstanser. Kodkompanjonen genererar i realtid enkelrads- eller fullfunktionskodförslag. Den förstår semantik och sammanhang i din kod och kan rekommendera förslag som bygger på AWS och bästa praxis för utveckling, vilket förbättrar utvecklarens effektivitet, kvalitet och hastighet.

Smakämnen CodeGuru Security-tillägg erbjuder säkerhets- och kodkvalitetsskanningar för Studio och SageMaker notebook-instanser. Detta hjälper bärbara datoranvändare att upptäcka säkerhetsbrister såsom injektionsbrister, dataläckor, svag kryptografi eller saknad kryptering i bärbara celler. Du kan också upptäcka många vanliga problem som påverkar läsbarheten, reproducerbarheten och korrektheten hos beräkningsbara anteckningsböcker, som missbruk av ML-biblioteks API:er, ogiltig körordning och obestämdhet. När sårbarheter eller kvalitetsproblem identifieras i notebook-datorn genererar CodeGuru rekommendationer som gör att du kan åtgärda dessa problem baserat på AWS-säkerhetspraxis.

I följande avsnitt visar vi hur man installerar var och en av tilläggen och diskuterar funktionerna för var och en, och visar hur dessa verktyg kan förbättra utvecklarens övergripande produktivitet.

Förutsättningar

Om det här är första gången du arbetar med Studio måste du först skapa en SageMaker-domän. Se dessutom till att du har lämplig tillgång till båda kodviskare och CodeGuru med hjälp av AWS identitets- och åtkomsthantering (JAG ÄR).

Du kan använda dessa tillägg i vilken AWS-region som helst, men förfrågningar till CodeWhisperer kommer att betjänas via us-east-1 Område. Förfrågningar kommer att skickas till CodeGuru i regionen för Studio-domänen och om CodeGuru är det stöds i regionen. För alla regioner som inte stöds kommer förfrågningarna att betjänas us-east-1.

Konfigurera CodeWhisperer med SageMaker-anteckningsböcker

I det här avsnittet visar vi hur man ställer in CodeWhisperer med SageMaker Studio.

Uppdatera IAM-behörigheter för att använda tillägget

Du kan använda tillägget CodeWhisperer i vilken region som helst, men alla förfrågningar till CodeWhisperer kommer att betjänas via us-east-1 Område.

För att använda tillägget CodeWhisperer, se till att du har nödvändiga behörigheter. På IAM-konsolen lägger du till följande policy i SageMaker-användarexekveringsrollen:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeWhispererPermissions", "Effect": "Allow", "Action": ["codewhisperer:GenerateRecommendations"], "Resource": "*" } ]
}

Installera tillägget CodeWhisperer

Du kan installera CodeWhisperer-tillägget genom kommandorad. I det här avsnittet tittar vi på de involverade stegen. För att komma igång, slutför följande steg:

  1. Fil meny, välj Nya och terminal.
  2. Kör följande kommandon för att installera tillägget:
    conda activate studio
    pip install amazon-codewhisperer-jupyterlab-ext
    jupyter server extension enable amazon_codewhisperer_jupyterlab_ext
    conda deactivate
    restart-jupyter-server

Uppdatera din webbläsare så har du framgångsrikt installerat tillägget CodeWhisperer.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Använd CodeWhisperer i Studio

När vi har slutfört installationsstegen kan vi använda CodeWhisperer genom att öppna en ny anteckningsbok eller Python-fil. För vårt exempel kommer vi att öppna en exempelanteckningsbok.

Du kommer att se ett verktygsfält längst ner på din anteckningsbok som heter kodviskare. Detta visar vanliga genvägar för CodeWhisperer tillsammans med möjligheten att pausa kodförslag, öppna kodreferenslogg, och få en länk till CodeWhisperer-dokumentationen.

Kodreferensloggen kommer att flagga eller filtrera kodförslag som liknar träningsdata med öppen källkod. Skaffa det associerade open-source-projektets arkiv-URL och licens så att du lättare kan granska dem och lägga till attributioner.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

För att komma igång placerar du markören i ett kodblock i din anteckningsbok, så börjar CodeWhisperer ge förslag. Om du inte ser förslag, tryck på Alt + C i Windows eller Alternativ+C i Mac för att manuellt anropa förslag.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande video visar hur man använder CodeWhisperer för att läsa och utföra beskrivande statistik på en datafil i Studio.

Använd CodeWhisperer i SageMaker Notebook-instanser

Utför följande steg för att använda CodeWhisperer i notebook-instanser:

  1. Navigera till din SageMaker-anteckningsbok-instans.
  2. Se till att du har bifogat CodeWhisperer-policyn från tidigare till IAM-rollen för notebook-instansen.
  3. När behörigheterna har lagts till väljer du Öppna JupyterLab.
    AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  4. Installera tillägget. genom att använda en terminal på Fil meny, välj Nya och terminal, och skriv in följande kommandon:
    pip install amazon-codewhisperer-jupyterlab-ext
    jupyter server extension enable amazon_codewhisperer_jupyterlab_ext

  5. När kommandona är klara, på Fil meny, välj Stäng för att starta om vår Jupyter-server.
    AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  6. Uppdatera webbläsarfönstret.

Du kommer nu att se CodeWhisperer-tillägget installerat och klart att använda.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Låt oss testa det i en Python-fil.

  1. Fil meny, välj Nya och Python-fil.

Följande video visar hur man skapar en funktion för att konvertera en JSON-fil till en CSV.

Konfigurera CodeGuru Security med SageMaker-anteckningsböcker

I det här avsnittet visar vi hur man ställer in CodeGuru Security med SageMaker Studio.

Uppdatera IAM-behörigheter för att använda tillägget

För att använda tillägget CodeGuru Security, se till att du har nödvändiga behörigheter. Utför följande steg för att uppdatera behörighetspolicyer med IAM:

  1. Föredragen: På IAM-konsolen kan du fästa AmazonCodeGuruSecurityScanAccess hanterad policy för dina IAM-identiteter. Denna policy ger behörigheter som tillåter en användare att arbeta med skanningar, inklusive att skapa skanningar, visa skanningsinformation och visa genomsökningsresultat.
  2. För anpassade policyer anger du följande behörigheter:
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonCodeGuruSecurityScanAccess", "Effect": "Allow", "Action": [ "codeguru-security:CreateScan", "codeguru-security:CreateUploadUrl", "codeguru-security:GetScan", "codeguru-security:GetFindings" ], "Resource": "arn:aws:codeguru-security:*:*:scans/*" } ] }

  3. Bifoga policyn till valfri användare eller roll som kommer att använda CodeGuru Security-tillägget.

För mer information, se Policyer och behörigheter i IAM.

Installera tillägget CodeGuru Security

Du kan installera CodeGuru Security-tillägget genom kommandorad. Gör så här för att komma igång:

  1. Fil meny, välj Nya och terminal.
  2. Kör följande kommandon för att installera tillägget i conda miljö:
    conda activate studio
    pip install amazon-codeguru-jupyterlab-extension
    conda deactivate

Uppdatera din webbläsare så har du installerat CodeGuru-tillägget.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Kör en kodsökning

Följande steg visar att du kör din första CodeGuru Security-skanning med en exempelfil:

  1. Skapa en ny anteckningsbok som heter example.ipynb med följande kod för teständamål:
    import torch
    # import tensorflow as tf def tensorflow_avoid_using_nondeterministic_api_noncompliant(): data = tf.ones((1, 1)) # Noncompliant: Determinism of tf.compat.v1.Session # can not be guaranteed in TF2. Ítf.config.experimental.enable_op_determinism() tf.compat.v1.Session( target='', graph=None, config=None ) layer = tf.keras.layers.Input(shape=[1]) model = tf.keras.models.Model(inputs=layer, outputs=layer) model.compile(loss="categorical_crossentropy", metrics="AUC") model.fit(x=data, y=data) def pytorch_sigmoid_before_bceloss_compliant(): # Compliant: `BCEWithLogitsLoss` function integrates a `Sigmoid` # layer and the `BCELoss` into one class # and is numerically robust. loss = nn.BCEWithLogitsLoss() input = torch.randn(3, requires_grad=True) target = torch.empty(3).random_(2) output = loss(input, target) output.backward()

Koden nedan har avsiktligt införlivat vanliga dåliga metoder för att visa upp funktionerna hos Amazon CodeGuru Security.

  1. Viktigt: Vänligen bekräfta att CodeGuru-Security-tillägget är installerat och om LSP-servern säger Fully initialized som visas nedan när du öppnar din anteckningsbok.

Om du inte ser tillägget helt initierat, gå tillbaka till föregående avsnitt för att installera tillägget och slutföra installationsstegen.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Starta skanningen. Du kan initiera en skanning på något av följande sätt:
    • Välj valfri kodcell i filen och välj sedan glödlampsikonen.
      AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    • Välj (högerklicka) valfri kodcell i filen och välj sedan Kör CodeGuru-skanning.
      AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När skanningen startas visas skanningsstatusen som CodeGuru: Skanning pågår.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter några sekunder, när skanningen är klar, ändras statusen till CodeGuru: Genomsökningen slutförd.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se och adressera fynd

När skanningen är klar kan din kod ha några understrukna resultat. Håll muspekaren över den understrukna koden så visas ett popup-fönster med en kort sammanfattning av upptäckten. För att komma åt ytterligare information om fynden, högerklicka på valfri cell och välj Visa diagnostikpanelen.

Detta öppnar en panel som innehåller ytterligare information och förslag relaterade till resultaten, som finns längst ner i anteckningsboken.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När du har gjort ändringar i din kod baserat på rekommendationerna kan du köra skanningen igen för att kontrollera om problemet har lösts. Det är viktigt att notera att sökresultaten försvinner efter att du ändrat din kod, och du måste köra genomsökningen igen för att se dem igen.

Aktivera automatisk kodsökning

Automatiska genomsökningar är inaktiverade som standard. Alternativt kan du aktivera automatiska kodsökningar och ställa in frekvensen och AWS-regionen för dina skanningskörningar. Utför följande steg för att aktivera automatisk kodsökning.

  1. I Studio, på Inställningar meny, välj Editor för avancerade inställningar.
    AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. För Automatisk skanningväljer Aktiverat.
  3. Ange skanningsfrekvensen i sekunder och regionen för din CodeGuru Security-skanning.

För vårt exempel konfigurerar vi CodeGuru att utföra en automatisk säkerhetsskanning var 240:e sekund i us-east-1 Område. Du kan ändra detta värde för alla regioner som CodeGuru Security stöds.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Slutsats

SageMaker Studio och SageMaker Notebook Instances stöder nu AI-drivna CodeWhisperer och CodeGuru-tillägg som hjälper dig att skriva säker kod snabbare. Vi uppmuntrar dig att prova båda tilläggen. För att lära dig mer om CodeGuru Security för SageMaker, se Kom igång med Amazon CodeGuru Extension för JupyterLab och SageMaker Studio, och för att lära dig mer om CodeWhisperer for SageMaker, se Konfigurera CodeWhisperer med Amazon SageMaker Studio. Dela gärna feedback i kommentarerna!


Om författarna

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Raj Pathak är en senior lösningsarkitekt och tekniker specialiserad på finansiella tjänster (försäkring, bank, kapitalmarknader) och maskininlärning. Han är specialiserad på Natural Language Processing (NLP), Large Language Models (LLM) och Machine Learning infrastruktur och driftsprojekt (MLOps).

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Gaurav Parekh är en lösningsarkitekt som hjälper AWS-kunder att bygga storskalig modern arkitektur. Hans kärnkompetens inkluderar dataanalys, nätverk och teknikstrategi. Utanför jobbet tycker Gaurav om att spela cricket, fotboll och volleyboll.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Arkaprava De är senior mjukvaruingenjör på AWS. Han har varit på Amazon i över 7 år och arbetar för närvarande med att förbättra Amazon SageMaker Studio IDE-upplevelsen. Du kan hitta honom på LinkedIn.

AI-drivna kodförslag och säkerhetsskanningar i Amazon SageMaker-anteckningsböcker med Amazon CodeWhisperer och Amazon CodeGuru | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Prashant Pawan Pisipati är en huvudproduktchef på Amazon Web Services (AWS). Han har byggt olika produkter över AWS och Alexa, och är för närvarande fokuserad på att hjälpa maskininlärningsutövare att bli mer produktiva genom AWS-tjänster.

Tidsstämpel:

Mer från AWS maskininlärning