AWS Bedrock Integration
The AWS Bedrock integration provides access to foundation models from multiple AI providers through a unified interface. Configure once, use everywhere with enterprise-grade security, scalability, and comprehensive model selection from leading AI companies.
Integrating AWS Bedrock
Section titled “Integrating AWS Bedrock”Configure your AWS credentials once in the Platform Integrations section. This enables authorized users to access Bedrock foundation models within the platform. Once integrated, models can be registered and used as any other python object on the platform.
# Example: Using a registered Bedrock modelresult = bedrock_claude_model(text="Analyze this data", temperature=0.8)Example of Models Supported
Section titled “Example of Models Supported”AWS Bedrock provides access to foundation models from multiple leading AI providers:
Amazon Titan - Amazon’s own foundation models for text generation and embeddings
Anthropic Claude - Claude 3.7 Sonnet, Claude 3.5 Sonnet, and other Claude variants
Meta Llama - Llama 3.2 series with fine-tuning capabilities
Cohere Command - Command R/R+ and Embed v3 families for text generation and embeddings
AI21 Labs Jamba - Jamba 1.5 series for advanced language processing
Stability AI - Stable Diffusion series for image generation
Additional Models - +122 models available through Amazon Bedrock Marketplace
Registering a New Bedrock Model
Section titled “Registering a New Bedrock Model”Navigate to New Model to begin registration. The registration form connects your AWS Bedrock integration with custom model configurations.
Basic Information
Section titled “Basic Information”Description: Document your model’s purpose, use cases, and limitations. For example: “Claude 3.7 Sonnet on AWS Bedrock optimized for enterprise content analysis. Use for document processing with AWS compliance features. Ideal for complex reasoning and multi-step analysis tasks.”
Code Configuration
Section titled “Code Configuration”Alias: A unique identifier for your model (e.g., bedrock_claude_analyzer, titan_embedder). This becomes the variable name you’ll use in code.
Output Type: Define the return format:
Map[String, String]- Key-value pairs for structured responsesString- Simple text responsesList- Array of items
Input Type: Select your implementation approach:
- API Based: Platform handles API calls automatically using your AWS integration
- Python Function: Custom function implementation with full control
- Custom: Advanced configurations for specialized use cases
Model Provider: Select “Amazon Bedrock” from your configured integrations.
Arguments Configuration
Section titled “Arguments Configuration”Define input parameters that your model will accept. Important: Variables declared here are automatically available in the Scoring Logic section.
Common argument patterns for Bedrock models:
| Alias | Type | Optional | Default Value | Usage |
|---|---|---|---|---|
text | String | No | N/A | Main input content |
temperature | Numerical | Yes | 0.7 | Controls response creativity |
max_tokens | Numerical | Yes | 1500 | Maximum response length |
system_prompt | String | Yes | "" | System instructions |
Use + Add Argument to include additional parameters.
Scoring Logic Implementation
Section titled “Scoring Logic Implementation”In the Scoring Logic section, you can directly reference any variable declared in the Arguments section. The platform automatically makes these available in your code.
# Arguments: text, temperature are automatically available
import osimport boto3
# Direct initializationclient = boto3.client( service_name="bedrock-runtime", region_name=os.getenv("AWS_DEFAULT_REGION", "us-east-1"), aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"), aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"), aws_session_token=os.getenv("AWS_SESSION_TOKEN"))
if text is None: return None
# Prepare the conversation for Claude modelsconversation = [ { "role": "user", "content": [{"text": text}] }]
# Add system message if providedif system_prompt: conversation.insert(0, { "role": "system", "content": [{"text": system_prompt}] })
response = client.converse( modelId="anthropic.claude-3-5-sonnet-20240620-v1:0", messages=conversation, inferenceConfig={ "temperature": float(temperature), "maxTokens": int(max_tokens) })
return { "output": response["output"]["message"]["content"][0]["text"], "context": response["usage"]["inputTokens"] + response["usage"]["outputTokens"]}Platform Integration Setup
Section titled “Platform Integration Setup”Before registering models, configure your AWS credentials:
- Navigate to Settings > Platform Integrations
- Click on Amazon Bedrock
- Configure AWS credentials:
- Access Key ID: Your AWS access key
- Secret Access Key: Your AWS secret key
- Session Token: Optional temporary session token
- Default Region: AWS region (e.g., us-east-1)
- Test the connection
The platform creates environment variables automatically:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKENAWS_DEFAULT_REGION
Example Use Case: Document Analysis Model
Section titled “Example Use Case: Document Analysis Model”An AWS Bedrock Claude model configured for enterprise document analysis demonstrates the complete workflow:
Arguments Configuration:
Section titled “Arguments Configuration:”text(String, required)temperature(Numerical, optional, default: “0.3”)max_tokens(Numerical, optional, default: “2000”)system_prompt(String, optional, default: “You are an expert document analyst.”)
Usage:
Section titled “Usage:”# Model becomes available as: document_analyzerresult = document_analyzer( text="Your document content here...", temperature=0.3, max_tokens=2000, system_prompt="Analyze this document for key insights, themes, and actionable recommendations.")Want to Learn More?
Section titled “Want to Learn More?”- Review AWS Bedrock documentation
- Check supported foundation models
- Monitor usage through AWS Console
- Set up cost management and billing alerts