Add language_models crate to house language model providers (#20945)

This PR adds a new `language_models` crate to house the various language
model providers.

By extracting the provider definitions out of `language_model`, we're
able to remove `language_model`'s dependency on `editor`, which improves
incremental compilation when changing `editor`.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers
2024-11-20 18:49:34 -05:00
committed by GitHub
parent 335b112abd
commit cbba44900d
27 changed files with 265 additions and 199 deletions
Generated
+32 -11
View File
@@ -402,6 +402,7 @@ dependencies = [
"indoc",
"language",
"language_model",
"language_models",
"languages",
"log",
"lsp",
@@ -6520,27 +6521,48 @@ dependencies = [
"anthropic",
"anyhow",
"base64 0.22.1",
"client",
"collections",
"copilot",
"ctor",
"editor",
"env_logger 0.11.5",
"feature_flags",
"futures 0.3.31",
"google_ai",
"gpui",
"http_client",
"image",
"language",
"log",
"menu",
"ollama",
"open_ai",
"parking_lot",
"proto",
"schemars",
"serde",
"serde_json",
"smol",
"strum 0.25.0",
"ui",
"util",
]
[[package]]
name = "language_models"
version = "0.1.0"
dependencies = [
"anthropic",
"anyhow",
"client",
"collections",
"copilot",
"editor",
"feature_flags",
"fs",
"futures 0.3.31",
"google_ai",
"gpui",
"http_client",
"language_model",
"menu",
"ollama",
"open_ai",
"project",
"proto",
"rand 0.8.5",
"schemars",
"serde",
"serde_json",
@@ -6548,12 +6570,10 @@ dependencies = [
"smol",
"strum 0.25.0",
"telemetry_events",
"text",
"theme",
"thiserror 1.0.69",
"tiktoken-rs",
"ui",
"unindent",
"util",
]
@@ -15481,6 +15501,7 @@ dependencies = [
"journal",
"language",
"language_model",
"language_models",
"language_selector",
"language_tools",
"languages",