Observability for AWS Bedrock with Opik
AWS Bedrock is a fully managed service that provides access to high-performing foundation models (FMs) from leading AI companies like AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI, and Amazon through a single API.
This guide explains how to integrate Opik with the Bedrock Python SDK. By using the track_bedrock
method provided by opik, you can easily track and evaluate your Bedrock API calls within your Opik projects as Opik will automatically log the input prompt, model used, token usage, and response generated.
Account Setup
Comet provides a hosted version of the Opik platform, simply create an account and grab your API Key.
You can also run the Opik platform locally, see the installation guide for more information.
Getting Started
Installation
To start tracking your Bedrock LLM calls, you’ll need to have both the opik
and boto3
packages. You can install them using pip:
Configuring Opik
Configure the Opik Python SDK for your deployment type. See the Python SDK Configuration guide for detailed instructions on:
- CLI configuration:
opik configure
- Code configuration:
opik.configure()
- Self-hosted vs Cloud vs Enterprise setup
- Configuration files and environment variables
Configuring Bedrock
In order to configure Bedrock, you will need to have:
- Your AWS Credentials configured for boto, see the following documentation page for how to set them up.
- Access to the model you are planning to use, see the following documentation page how to do so.
You can request access to models in the AWS Bedrock console.
Once you have these, you can create your boto3 client:
Logging LLM calls
In order to log the LLM calls to Opik, you will need to create the wrap the boto3 client with track_bedrock
. When making calls with that wrapped client, all calls will be logged to Opik:

Streaming API
Bedrock supports streaming responses, which is useful for real-time applications. Here’s how to use streaming with Opik:

Advanced Usage
Using with the @track
decorator
If you have multiple steps in your LLM pipeline, you can use the @track
decorator to log the traces for each step. If Bedrock is called within one of these steps, the LLM call will be associated with that corresponding step:
The trace can now be viewed in the UI with hierarchical spans showing the relationship between different steps:

Cost Tracking
The track_bedrock
wrapper automatically tracks token usage and cost for all supported AWS Bedrock models.
Cost information is automatically captured and displayed in the Opik UI, including:
- Token usage details
- Cost per request based on Bedrock pricing
- Total trace cost
View the complete list of supported models and providers on the Supported Models page.