# language_models: Refactor deps and extract cloud \(\#53270\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/98c17ca1607a9bb223f831af6e221b3e7d47b28c)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 98c17ca1607a9bb223f831af6e221b3e7d47b28c

Requested commit: 98c17ca1607a9bb223f831af6e221b3e7d47b28c

Commit: 98c17ca1607a9bb223f831af6e221b3e7d47b28c

Tree: 3f4c19b0f4b2c89a6a13bf445d6c1ff02aa19f2e

Author: Agus Zubiaga

Committer: GitHub

## Message

```
language_models: Refactor deps and extract cloud (#53270)

- `language_model` no longer depends on provider-specific crates such as
`anthropic` and `open_ai` (inverted dependency)
- `language_model_core` was extracted from `language_model` which
contains the types for the provider-specific crates to convert to/from.
- `gpui::SharedString` has been extracted into its own crate (still
exposed by `gpui`), so `language_model_core` and provider API crates
don't have to depend on `gpui`.
- Removes some unnecessary `&'static str` | `SharedString` -> `String`
-> `SharedString` conversions across the codebase.
- Extracts the core logic of the cloud `LanguageModelProvider` into its
own crate with simpler dependencies.


Release Notes:

- N/A

---------

Co-authored-by: John Tur <john-tur@outlook.com>
```

## Parents

- [a856093ccafa7b422080f3073097560b04e8918d](https://git.cafe/gitcafe/zed/commit/a856093ccafa7b422080f3073097560b04e8918d?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/98c17ca1607a9bb223f831af6e221b3e7d47b28c?format=markdown)
