bedrock: Add support for tool use, cross-region inference, and Claude 3.7 Thinking (#28137)
Closes #27223 Merges: #27996, #26734, #27949 Release Notes: - AWS Bedrock: Added advanced authentication strategies with: - Short lived credentials with Session Tokens - AWS Named Profile - EC2 Identity, Pod Identity, Web Identity - AWS Bedrock: Added Claude 3.7 Thinking support. - AWS Bedrock: Adding Cross Region Inference for all combinations of regions and model availability. - Agent Beta: Added support for AWS Bedrock. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
This commit is contained in:
parent
ea0f5144c9
commit
525755c28e
6 changed files with 1042 additions and 318 deletions
File diff suppressed because it is too large
Load diff
|
@ -72,6 +72,7 @@ pub struct AllLanguageModelSettings {
|
|||
#[derive(Default, Clone, Debug, Serialize, Deserialize, PartialEq, JsonSchema)]
|
||||
pub struct AllLanguageModelSettingsContent {
|
||||
pub anthropic: Option<AnthropicSettingsContent>,
|
||||
pub bedrock: Option<AmazonBedrockSettingsContent>,
|
||||
pub ollama: Option<OllamaSettingsContent>,
|
||||
pub lmstudio: Option<LmStudioSettingsContent>,
|
||||
pub openai: Option<OpenAiSettingsContent>,
|
||||
|
@ -160,6 +161,15 @@ pub struct AnthropicSettingsContentV1 {
|
|||
pub available_models: Option<Vec<provider::anthropic::AvailableModel>>,
|
||||
}
|
||||
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize, PartialEq, JsonSchema)]
|
||||
pub struct AmazonBedrockSettingsContent {
|
||||
available_models: Option<Vec<provider::bedrock::AvailableModel>>,
|
||||
endpoint_url: Option<String>,
|
||||
region: Option<String>,
|
||||
profile: Option<String>,
|
||||
authentication_method: Option<provider::bedrock::BedrockAuthMethod>,
|
||||
}
|
||||
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize, PartialEq, JsonSchema)]
|
||||
pub struct OllamaSettingsContent {
|
||||
pub api_url: Option<String>,
|
||||
|
@ -297,6 +307,25 @@ impl settings::Settings for AllLanguageModelSettings {
|
|||
anthropic.as_ref().and_then(|s| s.available_models.clone()),
|
||||
);
|
||||
|
||||
// Bedrock
|
||||
let bedrock = value.bedrock.clone();
|
||||
merge(
|
||||
&mut settings.bedrock.profile_name,
|
||||
bedrock.as_ref().map(|s| s.profile.clone()),
|
||||
);
|
||||
merge(
|
||||
&mut settings.bedrock.authentication_method,
|
||||
bedrock.as_ref().map(|s| s.authentication_method.clone()),
|
||||
);
|
||||
merge(
|
||||
&mut settings.bedrock.region,
|
||||
bedrock.as_ref().map(|s| s.region.clone()),
|
||||
);
|
||||
merge(
|
||||
&mut settings.bedrock.endpoint,
|
||||
bedrock.as_ref().map(|s| s.endpoint_url.clone()),
|
||||
);
|
||||
|
||||
// Ollama
|
||||
let ollama = value.ollama.clone();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue