Leerpad
Generatieve AI is de gamechanger in alle sectoren en stuwt de vooruitgang in natural language processing, computervisie en veel andere gebieden. Het benutten van het potentieel ging echter vaak gepaard met uitdagingen zoals kosten, complexe infrastructuur en steile leercurves. Daar komt AWS Bedrock om de hoek kijken: deze oplossing helpt blokkades op te heffen door je foundation models te laten gebruiken zonder dat je infrastructuur hoeft te beheren.
Deze tutorial is je complete gids voor Amazon Bedrock: wat het is, hoe het werkt en hoe jij het kunt gebruiken. Aan het einde beschik je over de kennis en vaardigheden om je eigen generatieve AI-toepassingen te ontwikkelen—schaalbaar, flexibel en afgestemd op jouw doelen.
Wat is Amazon Bedrock?
Amazon Bedrock is een beheerde AWS-service voor toegang tot en beheer van foundation models (FM’s), de basisbouwstenen van generatieve AI van Amazon Web Services (AWS). Bedrock maakt het zo eenvoudig dat je je geen zorgen hoeft te maken over het inrichten van GPU’s, het configureren van modelpijplijnen of het beheren van andere infrastructuur.
AWS Bedrock is een toegangspoort tot innovatie. Het is een geïntegreerd platform waarmee ontwikkelaars geavanceerde AI-modellen van toonaangevende aanbieders zoals Anthropic, Stability AI en Amazon’s Titan kunnen verkennen, testen en implementeren.
Stel bijvoorbeeld dat je een klantenservicechatbot ontwikkelt. Met AWS Bedrock kun je een geavanceerd taalmodel kiezen, het afstemmen op de behoeften van je applicatie en het in je toepassing opnemen zonder ooit serverconfiguratie in code te hoeven schrijven.
Functies van AWS Bedrock
De functies van AWS Bedrock zijn ontworpen om de weg van AI-concept naar productie te vereenvoudigen en te versnellen. Laten we ze in detail bekijken.
Toegang tot meerdere foundation models
Een van de grootste voordelen van AWS Bedrock is de variëteit aan foundation models. Of je nu werkt aan teksttoepassingen, visuele content, of veilige en interpreteerbare AI, Bedrock heeft wat je nodig hebt. Enkele beschikbare modellen:
- Amazon-modellen: Deze eigen modellen kun je gebruiken voor taken zoals het creëren van mensachtige tekst voor chatbots of contentcreatie, het samenvatten van documenten tot de essentie, of het interpreteren van de sentimenten in klantfeedback.
- Anthropic-modellen: Deze modellen richten zich op het ontwikkelen van goede, veilige kunstmatige intelligentie en zijn zeer geschikt voor sectoren waar compliance en vertrouwen essentieel zijn, zoals banken of de zorg.
- Stability AI: Stability AI-modellen staan bekend om hun beeldgeneratie. Ze helpen ideeën om te zetten in visuals voor marketing, artwork of productontwikkeling.

Overzicht van Amazon Bedrock, met de integratie met modellen.
Geen infrastructuurbeheer
AWS Bedrock abstraheert infrastructuurbeheer, wat betekent:
- Geen GPU-instances inrichten.
- Je kunt je volledig richten op het bouwen van applicaties met een serverloze architectuur.
- Het gebruiksgemak verkort de insteltijd aanzienlijk, vaak van weken naar uren.
Schaalbaarheid en flexibiliteit
Generatieve AI-toepassingen hebben doorgaans een onvoorspelbare vraag. Een chatbot kan tijdens piekuren honderden gebruikers bedienen en ’s nachts slechts enkele. AWS Bedrock lost dit op met ingebouwde schaalbaarheid:
- Automatisch schalen: Modellen passen zich automatisch aan om piekbelasting op te vangen zonder handmatige tussenkomst.
- Parallelle workloads: Je kunt meerdere modellen tegelijk draaien voor verschillende use-cases binnen één applicatie.
- Wereldwijde beschikbaarheid: Met het wereldwijde netwerk van AWS kun je applicaties dichter bij je gebruikers implementeren, wat latency verlaagt en de gebruikerservaring verbetert.
Integratie met het AWS-ecosysteem
AWS Bedrock gaat verder dan alleen krachtige modellen bieden—het integreert met andere AWS-services om end-to-end AI-workflows te ondersteunen. Enkele integraties zijn:
- Amazon SageMaker: Maakt het mogelijk foundation models te fine-tunen voor specifieke vereisten.
- AWS Lambda: Faciliteert event-gedreven AI-toepassingen, zoals het triggeren van een model om nieuwe data te fine-tunen of inferentieresultaten te beoordelen.
- Amazon CloudWatch: Biedt monitoring- en loggingmogelijkheden om modelprestaties te analyseren en gebruikersfeedback te verzamelen.
- Amazon S3: Dient als opslagoplossing voor datasets, waardoor je prestaties kunt volgen en kosten kunt analyseren.
AWS Bedrock instellen
Dit onderdeel leidt je door het instellen van de benodigde permissies, het aanmaken van een AWS-account en het starten met AWS Bedrock.
Stap 1: Een AWS-account aanmaken (als je dat nog niet hebt)
Als je er nog geen hebt, ga dan naar de aanmeldpagina van AWS en maak een account aan. Zorg er voor bestaande gebruikers voor dat je IAM-gebruiker beheerdersrechten heeft.

De AWS-aanmeldpagina, met verkenning van Free Tier-producten voor nieuwe accounts.
Als je op zoek bent naar gedetailleerde stappen, bezoek dan de officiële handleiding van AWS.
Stap 2: Navigeren naar AWS Bedrock
Amazon Bedrock is toegankelijk via de AWS Management Console. Volg deze stappen om het te vinden en te gebruiken:
- Log in op de AWS Management Console: Ga naar de AWS Console en voer je inloggegevens in.
- Zoek naar Bedrock: Gebruik de zoekbalk bovenaan de console. Typ “Bedrock” en selecteer het in de dropdown.

Zoekresultaten in de AWS Management Console voor Bedrock.
- Verken het Bedrock-dashboard: Op het Bedrock-dashboard zie je opties om modelaanbieders en foundation models te kiezen.

Amazon Bedrock Providers-pagina met serverloze modelopties van Amazon.
- Kies een modelaanbieder en een foundation model:
- Kies een aanbieder op basis van je use-case (bijv. Amazon Titan voor tekstgeneratie, Stability AI voor afbeeldingen, enz.).
- Bekijk modelspecifieke opties zoals inputtypes, ondersteunde functies en outputparameters.
- Voer een testinference uit: Met AWS Bedrock kun je voorbeeldinferences rechtstreeks vanuit de console draaien. Dit is een goede manier om te voelen hoe elk model werkt voordat je het integreert in je applicatie.

Amazon Bedrock Chat/Text Playground-interface.
Stap 3: IAM-permissies instellen
AWS Identity and Access Management (IAM) is cruciaal voor veilige toegang tot AWS Bedrock. Volg deze stappen om permissies te configureren:
- Ga in de AWS Management Console naar de IAM service.
- Klik in de zijbalk op Roles en selecteer Create policy.
- Kies in Specify permissions “JSON”.

AWS IAM Policy Editor in JSON-modus
- Plak het onderstaande beleid in het tekstvak:
{
"Version": "2012-10-17",
"Statement": [ {
"Sid": "BedrockFullAccess",
"Effect": "Allow",
"Action": ["bedrock:*"],
"Resource": "*"
}
]
}
Opmerking: Het bovenstaande beleid kan worden gekoppeld aan elke role die toegang nodig heeft tot de Amazon Bedrock-service. Dat kan SageMaker zijn of een gebruiker. Wanneer je Amazon SageMaker gebruikt, is de execution role voor je notebook doorgaans een andere gebruiker of role dan die waarmee je inlogt op de AWS Management Console. Als je wilt ontdekken hoe je de Amazon Bedrock-service via de AWS Console gebruikt, zorg er dan voor dat je je Console-gebruiker of -role autoriseert. Je kunt de notebooks uitvoeren vanuit elke omgeving met toegang tot de AWS Bedrock-service en geldige referenties.
Amazon Bedrock gebruiken voor generatieve AI-toepassingen
Generatieve AI-toepassingen zijn gebaseerd op foundation models die zijn afgestemd op een specifieke taak, zoals tekstgeneratie, beeldcreatie of datatransformatie. Hieronder vind je een stapsgewijze gids voor het kiezen van een foundation model, het uitvoeren van basisinferences en het aanpassen van modelantwoorden aan jouw behoeften.
Een foundation model selecteren
Het kiezen van het juiste foundation model is belangrijk en hangt af van wat je project nodig heeft. Zo maak je een keuze:
1. Bepaal je use-case:
- Tekstgeneratie: Voor taken zoals samenvatten, contentcreatie of chatbotontwikkeling kun je modellen overwegen als:
- Amazon Titan Text G1: Dit model genereert hoogwaardige tekst met goed begrip van context.
- Anthropic Claude 3: Dit model is erg goed in het produceren van coherente, contextrelevante tekst en is daardoor geschikt voor conversational AI-toepassingen.
- Beeldgeneratie: Als je project draait om het maken van afbeeldingen of andere vormen van visuele content, dan zijn Stability AI-modellen de aangewezen keuze:
- Stable Diffusion 3.5 Large: Dit model is zeer goed in het genereren van afbeeldingen op basis van tekstbeschrijvingen, zowel fotorealistisch als artistiek.
- Multimodale taken: Voor toepassingen die zowel tekst- als beeldverwerking nodig hebben, worden Amazon Nova-modellen aanbevolen:
- Nova Lite: Een kostengevoelig multimodaal model dat tekst-, beeld- en video-input kan verwerken en tekst kan outputten.
- Nova Pro: Een capabel multimodaal model voor complexere taken.
2. Beoordeel modelcapaciteiten:
- Bekijk de specifieke sterktes van elk model om zeker te weten dat ze aansluiten op de behoeften van je project. Gedetailleerde informatie over ondersteunde foundation models, inclusief hun mogelijkheden en regio’s, vind je in de AWS-documentatie.
Modeltoegang inschakelen
Voordat je deze modellen gebruikt, moet je modeltoegang inschakelen binnen je AWS-account. Zo stel je het in:
- Ga in de Bedrock Console naar Models access.
- Klik in de Console op Modify model access.
- Blader door de beschikbare modellen van aanbieders en selecteer degene die je wilt. In dit geval selecteerde ik Titan Text G1—Express.

Pagina voor beheer van modeltoegang in Amazon Bedrock.
- Klik op Next en daarna op Review and submit.
Basisinference uitvoeren
Volg deze stappen om inference uit te voeren met een geselecteerd foundation model in AWS Bedrock:
- Stel de AWS SDK voor Python (boto3) in:
pip install boto3
- Initialiseer de Bedrock-client: Maak een Bedrock runtime-client in de AWS-regio van jouw keuze:
import boto3
import json
from botocore.exceptions import ClientError
# Set the AWS Region
region = "us-east-1"
# Initialize the Bedrock Runtime client
client = boto3.client("bedrock-runtime", region_name=region)
- Roep het model aan: Definieer de model-ID en de inputprompt:
# Define the model ID for Amazon Titan Express v1
model_id = "amazon.titan-text-express-v1"
# Define the input prompt
prompt = """
Command: Compose an email from Tom, Customer Service Manager, to the customer "Nancy"
who provided negative feedback on the service provided by our customer support
Engineer"""
- Formatteer de requestpayload:
# Configure inference parameters
inference_parameters = {
"inputText": prompt,
"textGenerationConfig": {
"maxTokenCount": 512, # Limit the response length
"temperature": 0.5, # Control the randomness of the output
},
}
# Convert the request payload to JSON
request_payload = json.dumps(inference_parameters)
- Verwerk de response:
try:
# Invoke the model
response = client.invoke_model(
modelId=model_id,
body=request_payload,
contentType="application/json",
accept="application/json"
)
# Decode the response body
response_body = json.loads(response["body"].read())
# Extract and print the generated text
generated_text = response_body["results"][0]["outputText"]
print("Generated Text:\n", generated_text)
except ClientError as e:
print(f"ClientError: {e.response['Error']['Message']}")
except Exception as e:
print(f"An error occurred: {e}")
Opmerking: Je kunt de volledige code direct openen en kopiëren vanuit de GitHub Gist.
Je kunt ongeveer onderstaande output verwachten:
% python3 main.py
Generated Text:
Tom:
Nancy,
I am writing to express my sincere apologies for the negative experience you had with our customer support engineer. It is unacceptable that we did not meet your expectations, and I want to assure you that we are taking steps to prevent this from happening in the future.
Sincerely,
Tom
Customer Service Manager
De modeloutputs aanpassen
Om het gedrag van de modeloutput te fine-tunen, kun je parameters aanpassen zoals temperature en maxTokenCount:
temperature: Deze parameter bepaalt de willekeur van de output. Lagere waarden maken de output meer vastberaden, hogere waarden verhogen de variatie.MaxTokenCount: Stelt de maximale lengte van de gegenereerde output in.
Bijvoorbeeld:
inference_parameters = {
"inputText": prompt,
"textGenerationConfig": {
"maxTokenCount": 256, # Limit the response length
"temperature": 0.7, # Control the randomness of the output
},
}
Door deze parameters aan te passen, kun je de creativiteit en lengte van de gegenereerde content beter afstemmen op de behoeften van je applicatie.
Geavanceerde functies van Amazon Bedrock
Laten we schakelen naar twee geavanceerde benaderingen: AI verbeteren met Retrieval-Augmented Generation (RAG) en modellen op schaal beheren en implementeren.
AI-outputs aanpassen met retrieval-augmented generation (RAG)
RAG vereist een knowledge base. Voordat je de knowledge base in Amazon Bedrock instelt, moet je een S3-bucket maken en de benodigde bestanden uploaden. Volg deze stappen:
Stap 1: Maak een S3-bucket
- Log in op de AWS Management Console:
- Ga naar de S3-service in de AWS Management Console.
- Maak een nieuwe bucket:
- Klik op Create bucket.
- Voer een unieke bucketnaam in.
- Laat de standaardinstellingen staan, tenzij je specifieke beveiligings- of encryptiebehoeften hebt.
- Configureer de bucket-instellingen:
- Zorg dat block public access is ingeschakeld, tenzij je het nodig hebt.
- (Optioneel) Schakel versioning in als je versies van je bestanden wilt behouden.
- Maak de bucket:
- Klik op Create bucket om de setup te voltooien.
Stap 2: Upload bestanden naar de S3-bucket
- Download het bestand:
- De meegeleverde GitHub-link bevat een voorbeeld-PDF met mockdata: octank_financial_10K.pdf. Je kunt ook een ander bestand gebruiken als je wilt.
- Sla het lokaal op je computer op.
- Upload het bestand naar S3:
- Open de zojuist gemaakte S3-bucket in de AWS Console.
- Klik op Upload en selecteer het bestand
octank_financial_10K.pdf. - Controleer en stel de permissies in (standaard: privé).
- Klik op Upload om het bestand aan de bucket toe te voegen.

Amazon S3-bucketweergave voor "amazon-bedrock-099".
Amazon Bedrock laat je een knowledge base maken die wordt ondersteund door vectordatabases. De volgende stappen leiden je door het aanmaken van een knowledge base, het configureren van een gegevensbron en het selecteren van embeddings en vectorstores.
Stap 1: Geef de details van de knowledge base op
- Ga naar de Amazon Bedrock Console en selecteer Knowledge Bases onder het onderdeel Builder tools.
- Klik op Create Knowledge Base en vul het volgende in:
- Naam van de knowledge base: Voer een unieke naam in (bijv.
knowledge-base-quick-start). - Beschrijving van de knowledge base: (Optioneel) Geef kort een beschrijving van de knowledge base.
- In de sectie IAM permissions:
- Kies “Create and use a new service role” of “Use an existing service role”.
- Zorg dat de service role de benodigde permissies heeft voor Bedrock-toegang.
- Voorbeeld service role:
AmazonBedrockExecutionRoleForKnowledgeBase. - Klik op Next om door te gaan met het configureren van de gegevensbron.

Wizard voor het aanmaken van een Amazon Bedrock Knowledge Base.
Stap 2: Configureer de gegevensbron
- Onder het onderdeel Data source details kies je je gegevensbron:
- Amazon S3: Selecteer deze optie omdat je data in S3 is opgeslagen.
- Specificeer het volgende:
- Locatie van de gegevensbron: Kies tussen "This AWS Account" of "Other AWS Account."
- S3-URI: Geef de S3-bucket-URI op met de data. Kies de S3 die je in de vorige stap hebt aangemaakt en het bestand.
- Encryptiesleutel: (Optioneel) Voeg een customer-managed KMS-sleutel toe als je data is versleuteld.
- Configureer de parse-strategie:
- Default parser: Verwerkt platte tekstdata. Je kunt dit zo laten.
- Foundation models as parser: Verwerkt complexe documenten of afbeeldingen. Je kunt dit zo laten.
- Chunking-strategie:
- De standaardinstelling splitst tekst in stukken van ongeveer 300 tokens voor embeddings. Je kunt dit zo laten.
- (Optioneel) Voeg Transformation functions of geavanceerde instellingen toe om je data voor te bewerken. Je kunt dit zo laten.
- Klik op Next om verder te gaan.

Configuratiepagina voor Amazon Bedrock-gegevensbron voor integratie van een S3-gebaseerde knowledge base.
Stap 3: Kies het embeddingsmodel en configureer de vectorstore
- Kies een Embeddings-model om je data om te zetten naar vectorrepresentaties:
- Titan Embeddings G1 - Text v1.2 (Je kunt dit kiezen voor deze tutorial.)
- Embed English v3
- Embed Multilingual v3
- Onder het onderdeel Vector database:
- Kies “Quick create a new vector store” (aanbevolen) of selecteer een bestaande store.
- Opties zijn onder meer:
- Amazon OpenSearch Serverless: Ideaal voor contextueel relevante antwoorden. Je kunt dit kiezen voor deze tutorial.
- Amazon Aurora PostgreSQL Serverless: Geoptimaliseerd voor snelle similariteitszoekopdrachten.
- Amazon Neptune Analytics: Geschikt voor graafgebaseerde analytics en Retrieval-Augmented Generation (RAG).
- Klik op Next om je configuratie te beoordelen en af te ronden.

Configuratiepagina van Amazon Bedrock voor het selecteren van een embeddingmodel en vectorstore.
Stap 4: Review en aanmaken
- Controleer al je configuraties.
- Bevestig en klik op Create om de knowledge base te voltooien.
- Na het aanmaken verschijnt je knowledge base onder het onderdeel Knowledge Bases in de console.
Stap 5: Test de knowledge base
- Open het overzicht van de knowledge base:
- Ga naar het onderdeel Knowledge Bases in de Amazon Bedrock Console.
- Selecteer de knowledge base die je hebt aangemaakt (bijv.
knowledge-base-quick-start). - Bekijk de overzichtsdetails:
- Naam en ID van de knowledge base
- Controleer of de status “Available” is.
- Verifieer dat de juiste service role in gebruik is.
- Synchroniseer en voeg gegevensbronnen toe:
- Als de gegevensbron nog niet is gesynchroniseerd, klik dan op Sync om het proces te starten.
- Je kunt ook meer documenten of gegevensbronnen toevoegen via Add documents from S3.

Overzicht van Amazon Bedrock Knowledge Base toont configuratiedetails en status van gegevensbronnen.
Stap 6: Kies een model om te testen
- Kies een foundation model:
- Klik op Select model in het paneel Test Knowledge Base.
- Blader door de beschikbare modellen van aanbieders zoals Amazon, Anthropic en Cohere.
- Voorbeeld: Selecteer Claude Instant (v1.2) voor tekstgebaseerde queries.
- Inferentietype:
- Kies On-demand inference als je geen provisioned throughput hebt ingesteld.
- Pas het model toe:
- Klik op Apply om je modelselectie te bevestigen.

Modelselectie-interface in Amazon Bedrock met diverse Claude-modellen van Anthropic.
Stap 7: Voer queries uit en genereer antwoorden
- Genereer een antwoord:
- Voer je query in het invoerveld in (bijv. “Help me with Financial Statement Schedules”).
- Klik op Run om de knowledge base te testen.
- Bekijk brondetails:
- De response bevat tekstfragmenten die relevant zijn voor je query.
- Klap Source Details uit om metadata en de bron van de opgehaalde informatie te bekijken.
- Bekijk de output:
- Valideer het antwoord om zeker te zijn dat het aansluit op de inhoud van de knowledge base.
- Stel indien nodig de retrievalconfiguraties bij.

Testinterface voor Amazon Bedrock Knowledge Base met een antwoord op een query.
Voorbeeld van een query-output:
- Query: “Help me with Financial Statement Schedules.”
- Antwoord: De knowledge base haalt gegevens op met details over specifieke posten in financiële overzichten, zoals overzichten van activa, passiva en bijbehorende metadata.
AI-modellen op schaal beheren en implementeren
Met AWS-services zoals Lambda kan Amazon Bedrock AI-modellen op schaal beheren en implementeren. Deze kostenefficiënte aanpak zorgt voor hoge beschikbaarheid en schaalt automatisch voor AI-gedreven applicaties.
In dit onderdeel gebruiken we AWS Lambda om een Bedrock-model dynamisch aan te roepen zodat je prompts on demand kunt verwerken.
Stap 1: Maak een AWS Lambda-functie
- Log in op de AWS Management Console.
- Ga naar de Lambda service en klik op Create function.
- Kies de configuratie van de functie:
- Selecteer “Author from Scratch”.
- Functienaam: bedrock.
- Runtime: Python 3.x.
- Permissies: Selecteer een IAM-role die in het eerste deel van deze tutorial is aangemaakt.
- Klik op Create function om de setup te starten.

Pagina voor het aanmaken van een AWS Lambda-functie.
Stap 2: Voeg de Lambda-functiecode toe
- Open de functie-editor in de sectie Code van de Lambda-console.
- Vervang de standaardcode door de code die is verstrekt in de Github Gist.
- Klik op Deploy om de wijzigingen op te slaan.
Stap 3: Test de Lambda-functie
- Ga naar het tabblad Test in de Lambda-console en maak een testevent aan met de volgende JSON:
{
"prompt": "Write a formal apology letter for a late delivery."
}
- Sla het testevent op.
- Klik op Test om de Lambda-functie aan te roepen.
- Controleer de output in de sectie Execution results. De gegenereerde tekst zou er ongeveer zo uit moeten zien:

AWS Lambda-uitvoeringsresultaat met een succesvolle functierun.
Best practices voor implementatie van AI-modellen
Optimaliseer kosten:
- Gebruik on-demand inference voor sporadische use-cases.
- Overweeg provisioned throughput als je veelvuldige verzoeken verwacht.
Beveilig de Lambda-functie:
- Beperk de IAM-role tot alleen de vereiste permissies.
- Gebruik omgevingsvariabelen om te voorkomen dat gevoelige gegevens in code worden blootgesteld.
Monitor en log:
- Gebruik CloudWatch-logs om aanroepstatistieken te volgen en problemen te debuggen.
- Stel alarmen in voor fouten of hoge latency.
Best practices voor het gebruik van AWS Bedrock
In dit onderdeel deel ik enkele best practices voor het werken met Amazon Bedrock, van kostenoptimalisatie tot het waarborgen van veiligheid en nauwkeurigheid.
Kostenoptimalisatie
Kosten beheren in AWS Bedrock kan inhouden dat je Amazon SageMaker benut om modellen te implementeren en Spot-instances te gebruiken om tot 90% te besparen. Dit zijn enkele van mijn best practices:
- Kies het juiste foundation model: Selecteer modellen die aansluiten op je behoeften. Kies kleinere, minder resource-intensieve modellen om compute-kosten te verlagen voor minder complexe taken. Gebruik bijvoorbeeld Amazon Titan-modellen voor tekstgebaseerde taken zoals samenvatten of Stability AI voor eenvoudige beeldgeneratie.
- Batch-inference: In plaats van verzoeken afzonderlijk te verwerken, groepeer je meerdere inferentieverzoeken in batches. Dit verlaagt de frequentie van modelaanroepen, wat leidt tot lagere kosten.
- Maak gebruik van S3-lifecycle policies: Sla alleen de data op die je nodig hebt voor inference of fine-tuning in Amazon S3. Gebruik lifecycle policies om data automatisch te verplaatsen naar goedkopere opslaglagen (bijv. S3 Glacier) of om ongebruikte data na een bepaalde tijd te verwijderen.
- Monitor en beheer uitgaven: Gebruik AWS Cost Explorer om je uitgaven te analyseren en optimalisatiemogelijkheden te identificeren. Stel AWS Budgets in om waarschuwingen te ontvangen wanneer je vooraf gedefinieerde drempels nadert.

Kosten- en gebruiksgrafiek voor Amazon Bedrock-services.
- Gebruik Bedrock met SageMaker voor kostenefficiëntie: Gebruik Bedrock-foundation models in SageMaker om te profiteren van beheerde Spot-instances voor inference- en trainingstaken.
- Gebruik Spot-instances in SageMaker: Spot-instances kunnen kosten tot 90% verlagen in vergelijking met On-Demand-instances. SageMaker handelt Spot-onderbrekingen voor je af en probeert trainingstaken automatisch opnieuw als Spot-capaciteit niet beschikbaar is. Voorbeeld:
from sagemaker.mxnet import MXNet
# Use spot instances for cost efficiency
use_spot_instances = True
# Maximum runtime for the training job (in seconds)
max_run = 600
# Maximum wait time for Spot instance availability (in seconds); set only if using Spot instances
max_wait = 1200 if use_spot_instances else None
# Define the MXNet estimator for the training job
mnist_estimator = MXNet(
entry_point='source_dir/mnist.py', # Path to the script that contains the model training code
role=role, # IAM role used for accessing AWS resources (e.g., S3, SageMaker)
output_path=model_artifacts_location, # S3 location to save the trained model artifacts
code_location=custom_code_upload_location, # S3 location to upload the training script
instance_count=1, # Number of instances to use for training
instance_type='ml.m4.xlarge', # Instance type for the training job
framework_version='1.6.0', # Version of the MXNet framework to use
py_version='py3', # Python version for the environment
distribution={'parameter_server': {'enabled': True}}, # Enable distributed training with a parameter server
hyperparameters={ # Training hyperparameters
'learning-rate': 0.1, # Learning rate for the training job
'epochs': 5 # Number of training epochs
},
use_spot_instances=use_spot_instances, # Enable Spot instances for cost savings
max_run=max_run, # Maximum runtime for the training job
max_wait=max_wait, # Maximum wait time for Spot instance availability
checkpoint_s3_uri=checkpoint_s3_uri # S3 URI for saving intermediate checkpoints
)
# Start the training job and specify the locations of training and testing datasets
mnist_estimator.fit({
'train': train_data_location, # S3 location of the training dataset
'test': test_data_location # S3 location of the testing/validation dataset
})
- Gebruik CloudWatch-metrics en -logs: Trainingsstatistieken en logs zijn beschikbaar in Amazon CloudWatch, en bieden inzicht in prestaties en resourcegebruik.

AWS CloudWatch-logs
Beveiliging
Om de veiligheid, compliance en prestaties van Amazon Bedrock te waarborgen, is het belangrijk best practices te volgen. Dit zijn mijn aanbevelingen:
- Pas least privilege toe: Beperk IAM-permissies en service roles tot alleen de noodzakelijke resources om ongeautoriseerde toegang te voorkomen.
- Valideer service roles en security groups: Zorg dat Bedrock-agents en modelaanpassingtaken correct zijn geconfigureerd met actieve service roles en beveiligingsinstellingen.
- Draai workloads in een VPC: Verhoog de beveiliging door aanpassingstaken en dataverwerking uit te voeren binnen een Virtual Private Cloud (VPC).
- Versleutel kritieke data: Gebruik Amazon KMS Customer-Managed Keys (CMK’s) om agentsessies, Bedrock Studio-werkruimtes, aangepaste modellen en tijdelijke knowledge base-data te versleutelen.
- Implementeer beleid voor gegevensverwijdering: Bewaar vectoropgeslagen data alleen wanneer knowledge-based bronnen actief zijn; stel automatische verwijdering in wanneer niet langer nodig.
- Versterk Bedrock-guardrails: Zet Prompt Attack Strength op HIGH en schakel filters voor gevoelige informatie in om je te beschermen tegen adversariële aanvallen en datalekken.
- Beveilig agentsessies: Gebruik guardrails om ongeautoriseerde toegang te voorkomen en gevoelige interacties te beschermen.
- Schakel logging in voor zichtbaarheid: Zet modellogging op accountniveau aan om activiteit te volgen en afwijkingen te detecteren.
- Verdedig tegen cross-service-aanvallen: Gebruik service role policies om Cross-Service Confused Deputy-aanvallen te voorkomen.
Modelmonitoring en -evaluatie
Zekerstellen dat modellen nauwkeurig, betrouwbaar en afgestemd op bedrijfsdoelen zijn, bereik je door modellen te monitoren en te evalueren. Enkele best practices:
- Volg prestatiestatistieken: Gebruik CloudWatch om latency, fouten en aanroeptrends te monitoren.
- Log inputs en outputs: Schakel gedetailleerde logging in voor debugging en trendanalyse.
- Integreer feedbackloops: Gebruik tools zoals Amazon A2I om menselijke reviews op te nemen voor kritieke outputs.
- Evalueer outputs regelmatig: Vergelijk outputs met validatiesets of ground truth.
- Verbeter modellen continu: Fine-tune modellen met bijgewerkte datasets of specifieke domeindata waar nodig.

Het metricsdashboard toont het aantal aanroepen, latency en tokenaantallen voor diverse modellen in Amazon Bedrock.
Conclusie
AWS Bedrock verandert de manier waarop generatieve AI-toepassingen worden ontwikkeld en biedt een gecentraliseerd platform om foundation models te gebruiken zonder je zorgen te maken over de infrastructuur.
Met deze stapsgewijze tutorial kun je de juiste modellen identificeren, veilige en schaalbare workflows creëren en functies zoals retrieval-augmented generation (RAG) integreren voor meer maatwerk. Met best practices voor kosten, beveiliging en monitoring ben je klaar om AI-oplossingen te ontwikkelen en te beheren die aan je doelstellingen voldoen.
Wil je je AWS-expertise verder verdiepen? Bekijk dan deze cursussen:
- AWS Cloud Technology and Services – Leer over de kernservices van AWS en hoe je cloud-native oplossingen bouwt.
- AWS Security and Cost Management – Beheers strategieën om je AWS-omgeving te beveiligen en kosten effectief te optimaliseren.
- Developing AI Applications – Duik in AI-ontwikkeling en leer AI-oplossingen te bouwen, implementeren en opschalen.
Rahul Sharma is een AWS Ambassador, DevOps-architect en technisch blogger, gespecialiseerd in cloudcomputing, DevOps-praktijken en open-sourcetechnologieën. Met expertise in AWS, Kubernetes en Terraform maakt hij complexe concepten eenvoudiger voor zowel studenten als professionals via boeiende artikelen en tutorials. Rahul is gepassioneerd over het oplossen van DevOps-uitdagingen en het delen van inzichten om de techcommunity te versterken.

