Add support for interacting with Claude in the assistant panel (#11798)

Release Notes:

- Added support for interacting with Claude in the assistant panel. You
can enable it by adding the following to your `settings.json`:

    ```json
    "assistant": {
        "version": "1",
        "provider": {
            "name": "anthropic"
        }
    }
    ```
This commit is contained in:
Antonio Scandurra 2024-05-14 15:57:52 +02:00 committed by GitHub
parent 019d98898e
commit 5944caaa90
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 446 additions and 21 deletions

View file

@ -151,8 +151,8 @@ impl OpenAiCompletionProvider {
fn to_open_ai_request(&self, request: LanguageModelRequest) -> Request {
let model = match request.model {
LanguageModel::ZedDotDev(_) => self.default_model(),
LanguageModel::OpenAi(model) => model,
_ => self.default_model(),
};
Request {
@ -205,8 +205,12 @@ pub fn count_open_ai_tokens(
match request.model {
LanguageModel::OpenAi(OpenAiModel::FourOmni)
| LanguageModel::ZedDotDev(ZedDotDevModel::Gpt4Omni) => {
// Tiktoken doesn't yet support gpt-4o, so we manually use the
| LanguageModel::ZedDotDev(ZedDotDevModel::Gpt4Omni)
| LanguageModel::Anthropic(_)
| LanguageModel::ZedDotDev(ZedDotDevModel::Claude3Opus)
| LanguageModel::ZedDotDev(ZedDotDevModel::Claude3Sonnet)
| LanguageModel::ZedDotDev(ZedDotDevModel::Claude3Haiku) => {
// Tiktoken doesn't yet support these models, so we manually use the
// same tokenizer as GPT-4.
tiktoken_rs::num_tokens_from_messages("gpt-4", &messages)
}