-
Notifications
You must be signed in to change notification settings - Fork 3
feat(llm): add AWS Bedrock provider #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a9ded3f to
4b00114
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds AWS Bedrock as a new LLM provider to the chuck_data project, implementing support for AWS's Converse API to enable interaction with foundation models like Claude, Llama, and Nova. The implementation follows the existing provider pattern and includes comprehensive test coverage.
Key Changes:
- Added
AWSBedrockProviderclass implementing the Converse API with tool calling support - Added boto3 as an optional dependency under the
awsextras group - Integrated the new provider into the factory pattern with proper error handling
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| chuck_data/llm/providers/aws_bedrock.py | New AWS Bedrock provider implementation with Converse API support, message/tool conversion, and model listing |
| chuck_data/llm/providers/init.py | Exports the new AWSBedrockProvider class |
| chuck_data/llm/factory.py | Removes f-string prefix from error messages (consistency fix) |
| pyproject.toml | Adds boto3>=1.28.0 as an optional dependency under the aws extras group |
| tests/unit/llm/test_factory.py | Factory tests for AWS Bedrock provider creation and configuration |
| tests/unit/llm/providers/test_aws_bedrock.py | Comprehensive behavioral tests for the AWS Bedrock provider |
| tests/unit/llm/providers/init.py | New test module initialization file |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
punit-naik-amp
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code changes LGTM. But please document the progress as a video and post in the description if possible.
eab1e7f to
a8d34d4
Compare
ee3a140 to
bb30a45
Compare
Adds AWS Bedrock LLM provider using the Converse API. This enables using Bedrock-hosted models (Claude, Llama, Titan) with the existing LLMProvider interface. Changes: - New AWSBedrockProvider implementing LLMProvider protocol - Translates between OpenAI and Bedrock Converse API formats - Supports tool calling (required for agent workflows) - Added boto3 as optional dependency under [aws] group - Factory integration tests for provider instantiation The Converse API is AWS's unified interface for tool use across all Bedrock models. Message and tool format conversion is handled internally to maintain OpenAI-compatible interface. Tests: 20 provider tests + 3 factory tests, all passing
…lling models by default
…to-underscore conversion
bb30a45 to
54bc590
Compare
Summary
Adds AWS Bedrock as an LLM provider option alongside Databricks, enabling AWS partnership
opportunities and customer flexibility.
Key Features
models (Claude, Llama, Titan, Nova)
aws sso loginand standard boto3 credential chain (env vars, IAMroles)
Configuration
Testing
What Works
What Doesn't Work Yet
Documentation