Skip to content

Commit 0da2063

Browse files
Support for AnthropicBedrock models (#307)
* add support for AnthropicBedrock models * formatting * formatting
1 parent 8adea3b commit 0da2063

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

src/agentlab/llm/chat_api.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,3 +553,43 @@ def make_model(self):
553553
temperature=self.temperature,
554554
max_tokens=self.max_new_tokens,
555555
)
556+
557+
558+
class BedrockChatModel(AnthropicChatModel):
559+
def __init__(
560+
self,
561+
model_name,
562+
api_key=None,
563+
temperature=0.5,
564+
max_tokens=100,
565+
max_retry=4,
566+
):
567+
self.model_name = model_name
568+
self.temperature = temperature
569+
self.max_tokens = max_tokens
570+
self.max_retry = max_retry
571+
572+
if (
573+
not os.getenv("AWS_REGION")
574+
or not os.getenv("AWS_ACCESS_KEY")
575+
or not os.getenv("AWS_SECRET_KEY")
576+
):
577+
raise ValueError(
578+
"AWS_REGION, AWS_ACCESS_KEY and AWS_SECRET_KEY must be set in the environment when using BedrockChatModel"
579+
)
580+
581+
self.client = anthropic.AnthropicBedrock(
582+
aws_region=os.getenv("AWS_REGION"),
583+
aws_access_key=os.getenv("AWS_ACCESS_KEY"),
584+
aws_secret_key=os.getenv("AWS_SECRET_KEY"),
585+
)
586+
587+
588+
@dataclass
589+
class BedrockModelArgs(BaseModelArgs):
590+
def make_model(self):
591+
return BedrockChatModel(
592+
model_name=self.model_name,
593+
temperature=self.temperature,
594+
max_tokens=self.max_new_tokens,
595+
)

src/agentlab/llm/llm_configs.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from agentlab.llm.chat_api import (
44
AnthropicModelArgs,
55
AzureModelArgs,
6+
BedrockModelArgs,
67
OpenAIModelArgs,
78
OpenRouterModelArgs,
89
SelfHostedModelArgs,
@@ -209,6 +210,22 @@
209210
max_new_tokens=16_384,
210211
temperature=1e-1,
211212
),
213+
# ------------ Anthropic / Bedrock ------------#
214+
"bedrock/claude-3-7-sonnet": BedrockModelArgs(
215+
model_name="us.anthropic.claude-3-7-sonnet-20250219-v1:0",
216+
max_new_tokens=16_384,
217+
temperature=1e-1,
218+
),
219+
"bedrock/claude-4-0-sonnet": BedrockModelArgs(
220+
model_name="us.anthropic.claude-sonnet-4-20250514-v1:0",
221+
max_new_tokens=16_384,
222+
temperature=1e-1,
223+
),
224+
"bedrock/claude-4-5-sonnet": BedrockModelArgs(
225+
model_name="us.anthropic.claude-sonnet-4-5-20250929-v1:0",
226+
max_new_tokens=16_384,
227+
temperature=1e-1,
228+
),
212229
# ---------------- OSS LLMs ----------------#
213230
"meta-llama/Meta-Llama-3-70B-Instruct": SelfHostedModelArgs(
214231
model_name="meta-llama/Meta-Llama-3-70B-Instruct",

0 commit comments

Comments
 (0)