Upload folder using huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,3 +1,43 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: apache-2.0
|
| 3 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
---
|
| 4 |
+
|
| 5 |
+
[Run `diff-apply` on
|
| 6 |
+
Synthetic!](https://synthetic.new/hf/syntheticlab/diff-apply)
|
| 7 |
+
|
| 8 |
+
`diff-apply` is a small, fast model to apply search-and-replace style diffs to
|
| 9 |
+
code. Many coding agents use search-and-replace as the default first-line edit
|
| 10 |
+
format; however, for larger diffs, it's common for even fairly good coding
|
| 11 |
+
models to produce slightly inaccurate search strings, i.e. with spacing
|
| 12 |
+
slightly off or with other minor differences.
|
| 13 |
+
|
| 14 |
+
Typically, coding agents will do the following to handle those errors:
|
| 15 |
+
|
| 16 |
+
1. Hardcode heuristics to attempt to apply certain classes of incorrect diffs
|
| 17 |
+
2. If that fails, retry calling the original model, which can be expensive and
|
| 18 |
+
slow, and also can confuse the original model as to what the current file
|
| 19 |
+
state is.
|
| 20 |
+
|
| 21 |
+
`diff-apply` is trained to fix those diffs, allowing coding agents to typically
|
| 22 |
+
skip (expensive, slow, model-confusing) retries, much more robustly than
|
| 23 |
+
hardcoded heuristics. It's a Llama 3.1 8b LoRA, which means you can run it
|
| 24 |
+
cheaply on inference providers like
|
| 25 |
+
[Synthetic](https://synthetic.new/hf/syntheticlab/diff-apply).
|
| 26 |
+
|
| 27 |
+
The model expects prompts in the following format:
|
| 28 |
+
|
| 29 |
+
```
|
| 30 |
+
This edit is invalid; please fix it. The search string does not match perfectly with the file contents.
|
| 31 |
+
Respond only with JSON, and only with the edit JSON, not the original file.
|
| 32 |
+
If the edit is ambiguous, respond with null.
|
| 33 |
+
{
|
| 34 |
+
"file": "the-underlying-file",
|
| 35 |
+
"edit": {
|
| 36 |
+
"type": "diff",
|
| 37 |
+
"search": "the-search-string",
|
| 38 |
+
"replace": "the-replace-string",
|
| 39 |
+
}
|
| 40 |
+
}
|
| 41 |
+
```
|
| 42 |
+
|
| 43 |
+
It will respond with the fixed edit in JSON.
|