AWS Bedrock
Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including models hosted on AWS Bedrock.
With Portkey, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a virtual key system.
Provider Slug. bedrock
Portkey SDK Integration with AWS Bedrock
Portkey provides a consistent API to interact with models from various providers. To integrate Bedrock with Portkey:
1. Install the Portkey SDK
Add the Portkey SDK to your application to interact with Anthropic’s API through Portkey’s gateway.
npm install --save portkey-ai
2. Initialize Portkey with the Virtual Key
To integrate AWS Bedrock with Portkey, you need the AWS Secret Access Key
, AWS Access Key Id
, and AWS Region
with which you can create your Virtual key on Portkey.
Here’s a guide on where to find your AWS credentials on AWS.
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
virtualKey: "VIRTUAL_KEY" // Your Bedrock Virtual Key
})
Using Virtual Key with AWS STS
If you’re using AWS Security Token Service, you can pass your aws_session_token
along with the Virtual key:
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
virtualKey: "VIRTUAL_KEY" // Your Bedrock Virtual Key,
aws_session_token: ""
})
Not using Virtual Keys?
3. Invoke Chat Completions with AWS bedrock
Use the Portkey instance to send requests to Anthropic. You can also override the virtual key directly in the API call if needed.
const chatCompletion = await portkey.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'anthropic.claude-v2:1',
max_tokens: 250 // Required field for Anthropic
});
console.log(chatCompletion.choices);
Using Vision Models
Portkey’s multimodal Gateway fully supports Bedrock’s vision models anthropic.claude-3-sonnet
, anthropic.claude-3-haiku
, and anthropic.claude-3-opus
For more info, check out this guide:
Managing AWS Bedrock Prompts
You can manage all prompts to AWS bedrock in the Prompt Library. All the current models of Anthropic are supported and you can easily start testing different prompts.
Once you’re ready with your prompt, you can use the portkey.prompts.completions.create
interface to use the prompt in your application.
Making Requests without Virtual Keys
If you do not want to add your AWS details to Portkey vault, you can also directly pass them while instantiating the Portkey client.
Mapping the Bedrock Details
Node SDK | Python SDK | REST Headers |
---|---|---|
awsAccessKeyId | aws_access_key_id | x-portkey-aws-session-token |
awsSecretAccessKey | aws_secret_access_key | x-portkey-aws-secret-access-key |
awsRegion | aws_region | x-portkey-aws-region |
awsSessionToken | aws_session_token | x-portkey-aws-session-token |
Example
import Portkey from 'portkey-ai'
const portkey = new Portkey({
apiKey: "PORTKEY_API_KEY",
provider: "bedrock",
awsAccessKeyId: "AWS_ACCESS_KEY_ID",
awsSecretAccessKey: "AWS_SECRET_ACCESS_KEY",
awsRegion: "us-east-1",
awsSessionToken: "AWS_SESSION_TOKEN"
})
Supported Models
How to Find Your AWS Credentials
Navigate here in the AWS Management Console to obtain your AWS Access Key ID and AWS Secret Access Key.
- In the console, you’ll find the ’Access keys’ section. Click on ’Create access key‘.
- Copy the
Secret Access Key
once it is generated, and you can view theAccess Key ID
along with it.
- On the same page under the ’Access keys’ section, where you created your Secret Access key, you will also find your Access Key ID.
- And lastly, get Your
**AWS Region**
from the Home Page of AWS Bedrock as shown in the image below.
Next Steps
The complete list of features supported in the SDK are available on the link below.
SDK
You’ll find more information in the relevant sections:
Was this page helpful?