This PR restructures the commands of the Edit Prediction CLI (now called `ep`), to support some flows that are important for the training process: * generating zeta2 prompt and expected output, without running predictions * scoring outputs that are generated by a system other than the production code (to evaluate the model during training) To achieve this, we've restructured the CLI commands so that they all take as input, and produce as output, a consistent, uniform data format: a set of one or more `Example` structs, expressible either as the original markdown format, or as a JSON lines. The `Example` struct starts with the basic fields that are in human-readable eval format, but contain a number of optional fields that are filled in by different steps in the processing pipeline (`context`, `predict`, `format-prompt`, and `score`). ### To do * [x] Adjust the teacher model output parsing to use the full buffer contents * [x] Move udiff to cli * [x] Align `format-prompt` with Zeta2's production code * [x] Change score output to assume same provider * [x] Move pretty reporting to `eval` command * [x] Store cursor point in addition to cursor offset * [x] Rename `edit_prediction_cli2` -> `edit_prediction_cli` (nuke the old one) Release Notes: - N/A --------- Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev> Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
85 lines
2.4 KiB
TOML
85 lines
2.4 KiB
TOML
[package]
|
|
name = "client"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/client.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
test-support = ["clock/test-support", "collections/test-support", "gpui/test-support", "rpc/test-support"]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-tungstenite = { workspace = true, features = ["tokio", "tokio-rustls-manual-roots"] }
|
|
base64.workspace = true
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
clock.workspace = true
|
|
cloud_api_client.workspace = true
|
|
cloud_llm_client.workspace = true
|
|
collections.workspace = true
|
|
credentials_provider.workspace = true
|
|
derive_more.workspace = true
|
|
feature_flags.workspace = true
|
|
futures.workspace = true
|
|
gpui.workspace = true
|
|
gpui_tokio.workspace = true
|
|
http_client.workspace = true
|
|
http_client_tls.workspace = true
|
|
httparse = "1.10"
|
|
log.workspace = true
|
|
parking_lot.workspace = true
|
|
paths.workspace = true
|
|
postage.workspace = true
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
release_channel.workspace = true
|
|
rpc = { workspace = true, features = ["gpui"] }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_urlencoded.workspace = true
|
|
settings.workspace = true
|
|
sha2.workspace = true
|
|
smol.workspace = true
|
|
telemetry.workspace = true
|
|
telemetry_events.workspace = true
|
|
text.workspace = true
|
|
thiserror.workspace = true
|
|
time.workspace = true
|
|
tiny_http.workspace = true
|
|
tokio-socks.workspace = true
|
|
tokio.workspace = true
|
|
url.workspace = true
|
|
util.workspace = true
|
|
worktree.workspace = true
|
|
|
|
[dev-dependencies]
|
|
clock = { workspace = true, features = ["test-support"] }
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
fs.workspace = true
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
http_client = { workspace = true, features = ["test-support"] }
|
|
rpc = { workspace = true, features = ["test-support"] }
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
util = { workspace = true, features = ["test-support"] }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
semver.workspace = true
|
|
windows.workspace = true
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
objc2-foundation.workspace = true
|
|
|
|
[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dependencies]
|
|
tokio-native-tls = "0.3"
|
|
|
|
[target.'cfg(not(any(target_os = "windows", target_os = "macos")))'.dependencies]
|
|
rustls-pki-types = "1.12"
|
|
tokio-rustls = { version = "0.26", features = ["tls12", "ring"], default-features = false }
|