assistant: Add Bedrock support (#21092)
Closes #16544 Release Notes: - Added support for AWS Bedrock to the Assistant. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Anthony Eid <hello@anthonyeid.me>
This commit is contained in:
parent
17a483cb03
commit
eda233344c
10 changed files with 1045 additions and 0 deletions
|
|
@ -14,6 +14,10 @@ path = "src/language_models.rs"
|
|||
[dependencies]
|
||||
anthropic = { workspace = true, features = ["schemars"] }
|
||||
anyhow.workspace = true
|
||||
aws-config = { workspace = true, features = ["behavior-version-latest"] }
|
||||
aws-credential-types = { workspace = true, features = ["hardcoded-credentials"] }
|
||||
aws_http_client.workspace = true
|
||||
bedrock.workspace = true
|
||||
client.workspace = true
|
||||
collections.workspace = true
|
||||
credentials_provider.workspace = true
|
||||
|
|
@ -25,6 +29,7 @@ fs.workspace = true
|
|||
futures.workspace = true
|
||||
google_ai = { workspace = true, features = ["schemars"] }
|
||||
gpui.workspace = true
|
||||
gpui_tokio.workspace = true
|
||||
http_client.workspace = true
|
||||
language_model.workspace = true
|
||||
lmstudio = { workspace = true, features = ["schemars"] }
|
||||
|
|
@ -42,6 +47,7 @@ smol.workspace = true
|
|||
strum.workspace = true
|
||||
theme.workspace = true
|
||||
tiktoken-rs.workspace = true
|
||||
tokio = { workspace = true, features = ["rt", "rt-multi-thread"] }
|
||||
ui.workspace = true
|
||||
util.workspace = true
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ pub mod provider;
|
|||
mod settings;
|
||||
|
||||
use crate::provider::anthropic::AnthropicLanguageModelProvider;
|
||||
use crate::provider::bedrock::BedrockLanguageModelProvider;
|
||||
use crate::provider::cloud::CloudLanguageModelProvider;
|
||||
use crate::provider::copilot_chat::CopilotChatLanguageModelProvider;
|
||||
use crate::provider::google::GoogleLanguageModelProvider;
|
||||
|
|
@ -63,6 +64,10 @@ fn register_language_model_providers(
|
|||
MistralLanguageModelProvider::new(client.http_client(), cx),
|
||||
cx,
|
||||
);
|
||||
registry.register_provider(
|
||||
BedrockLanguageModelProvider::new(client.http_client(), cx),
|
||||
cx,
|
||||
);
|
||||
registry.register_provider(CopilotChatLanguageModelProvider::new(cx), cx);
|
||||
|
||||
cx.observe_flag::<feature_flags::LanguageModels, _>(move |enabled, cx| {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
pub mod anthropic;
|
||||
pub mod bedrock;
|
||||
pub mod cloud;
|
||||
pub mod copilot_chat;
|
||||
pub mod deepseek;
|
||||
|
|
|
|||
1018
crates/language_models/src/provider/bedrock.rs
Normal file
1018
crates/language_models/src/provider/bedrock.rs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -11,6 +11,7 @@ use settings::{update_settings_file, Settings, SettingsSources};
|
|||
use crate::provider::{
|
||||
self,
|
||||
anthropic::AnthropicSettings,
|
||||
bedrock::AmazonBedrockSettings,
|
||||
cloud::{self, ZedDotDevSettings},
|
||||
copilot_chat::CopilotChatSettings,
|
||||
deepseek::DeepSeekSettings,
|
||||
|
|
@ -57,6 +58,7 @@ pub fn init(fs: Arc<dyn Fs>, cx: &mut App) {
|
|||
#[derive(Default)]
|
||||
pub struct AllLanguageModelSettings {
|
||||
pub anthropic: AnthropicSettings,
|
||||
pub bedrock: AmazonBedrockSettings,
|
||||
pub ollama: OllamaSettings,
|
||||
pub openai: OpenAiSettings,
|
||||
pub zed_dot_dev: ZedDotDevSettings,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue