Add missing metadata and improve formatting
Browse filesThis PR adds the missing `license`, `library_name`, and `pipeline_tag` to the model card's YAML metadata. It also slightly improves formatting for better readability by moving the quantization information below the original model description and reformatting the original model description for better readability.
README.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
Quantization made by Richard Erkhov.
|
| 2 |
|
| 3 |
[Github](https://github.com/RichardErkhov)
|
|
@@ -6,23 +12,12 @@ Quantization made by Richard Erkhov.
|
|
| 6 |
|
| 7 |
[Request more models](https://github.com/RichardErkhov/quant_request)
|
| 8 |
|
| 9 |
-
|
| 10 |
CursorCore-Yi-1.5B-SR - AWQ
|
| 11 |
- Model creator: https://huggingface.co/TechxGenus/
|
| 12 |
- Original model: https://huggingface.co/TechxGenus/CursorCore-Yi-1.5B-SR/
|
| 13 |
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
Original model description:
|
| 18 |
-
|
| 19 |
-
tags:
|
| 20 |
-
- code
|
| 21 |
-
base_model:
|
| 22 |
-
- 01-ai/Yi-Coder-1.5B
|
| 23 |
-
library_name: transformers
|
| 24 |
-
pipeline_tag: text-generation
|
| 25 |
-
license: apache-2.0
|
| 26 |
---
|
| 27 |
|
| 28 |
# CursorCore: Assist Programming through Aligning Anything
|
|
@@ -32,14 +27,15 @@ license: apache-2.0
|
|
| 32 |
<a href="https://hf.co/papers/2410.07002">[🤗HF Paper]</a> |
|
| 33 |
<a href="https://huggingface.co/collections/TechxGenus/cursorcore-series-6706618c38598468866b60e2">[🤖Models]</a> |
|
| 34 |
<a href="https://github.com/TechxGenus/CursorCore">[🛠️Code]</a> |
|
| 35 |
-
<a href="https://github.com/TechxGenus/CursorWeb">[Web]</a> |
|
| 36 |
-
<a href="https://discord.gg/Z5Tev8fV">[Discord]</a>
|
| 37 |
</p>
|
| 38 |
|
| 39 |
<hr>
|
| 40 |
|
| 41 |
- [CursorCore: Assist Programming through Aligning Anything](#cursorcore-assist-programming-through-aligning-anything)
|
| 42 |
- [Introduction](#introduction)
|
|
|
|
| 43 |
- [Models](#models)
|
| 44 |
- [Usage](#usage)
|
| 45 |
- [1) Normal chat](#1-normal-chat)
|
|
@@ -47,6 +43,7 @@ license: apache-2.0
|
|
| 47 |
- [3) Web Demo](#3-web-demo)
|
| 48 |
- [Future Work](#future-work)
|
| 49 |
- [Citation](#citation)
|
|
|
|
| 50 |
- [Contribution](#contribution)
|
| 51 |
|
| 52 |
<hr>
|
|
@@ -56,15 +53,43 @@ license: apache-2.0
|
|
| 56 |
CursorCore is a series of open-source models designed for AI-assisted programming. It aims to support features such as automated editing and inline chat, replicating the core abilities of closed-source AI-assisted programming tools like Cursor. This is achieved by aligning data generated through Programming-Instruct. Please read [our paper](http://arxiv.org/abs/2410.07002) to learn more.
|
| 57 |
|
| 58 |
<p align="center">
|
| 59 |
-
<img width="100%" alt="conversation" src="https://
|
| 60 |
</p>
|
| 61 |
|
| 62 |
-
. We also provide pre-quantized weights for GPTQ and AWQ here: [CursorCore-Quantization](https://huggingface.co/collections/TechxGenus/cursorcore-quantization-67066431f29f252494ee8cf3)
|
| 67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
## Usage
|
| 69 |
|
| 70 |
Here are some examples of how to use our model:
|
|
@@ -131,13 +156,27 @@ sample = {
|
|
| 131 |
{
|
| 132 |
"type": "code",
|
| 133 |
"lang": "python",
|
| 134 |
-
"code": """def quick_sort(arr)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
}
|
| 136 |
],
|
| 137 |
"current": {
|
| 138 |
"type": "code",
|
| 139 |
"lang": "python",
|
| 140 |
-
"code": """def quick_sort(array)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
},
|
| 142 |
"user": ""
|
| 143 |
}
|
|
@@ -219,7 +258,14 @@ sample = {
|
|
| 219 |
"current": {
|
| 220 |
"type": "code",
|
| 221 |
"lang": "python",
|
| 222 |
-
"code": """def quick_sort(array)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 223 |
},
|
| 224 |
"user": "Add Docstring."
|
| 225 |
}
|
|
@@ -290,7 +336,14 @@ sample = {
|
|
| 290 |
"current": {
|
| 291 |
"type": "code",
|
| 292 |
"lang": "python",
|
| 293 |
-
"code": """def quick_sort(array)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 294 |
},
|
| 295 |
"user": "Add Docstring."
|
| 296 |
}
|
|
@@ -359,7 +412,14 @@ sample = {
|
|
| 359 |
"current": {
|
| 360 |
"type": "code",
|
| 361 |
"lang": "python",
|
| 362 |
-
"code": """def quick_sort(array)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 363 |
},
|
| 364 |
"user": "Add Docstring."
|
| 365 |
}
|
|
@@ -429,8 +489,12 @@ CursorCore is still in a very early stage, and lots of work is needed to achieve
|
|
| 429 |
}
|
| 430 |
```
|
| 431 |
|
| 432 |
-
##
|
|
|
|
|
|
|
| 433 |
|
| 434 |
-
|
| 435 |
|
|
|
|
| 436 |
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
library_name: transformers
|
| 4 |
+
pipeline_tag: text-generation
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
Quantization made by Richard Erkhov.
|
| 8 |
|
| 9 |
[Github](https://github.com/RichardErkhov)
|
|
|
|
| 12 |
|
| 13 |
[Request more models](https://github.com/RichardErkhov/quant_request)
|
| 14 |
|
|
|
|
| 15 |
CursorCore-Yi-1.5B-SR - AWQ
|
| 16 |
- Model creator: https://huggingface.co/TechxGenus/
|
| 17 |
- Original model: https://huggingface.co/TechxGenus/CursorCore-Yi-1.5B-SR/
|
| 18 |
|
|
|
|
|
|
|
|
|
|
| 19 |
Original model description:
|
| 20 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
---
|
| 22 |
|
| 23 |
# CursorCore: Assist Programming through Aligning Anything
|
|
|
|
| 27 |
<a href="https://hf.co/papers/2410.07002">[🤗HF Paper]</a> |
|
| 28 |
<a href="https://huggingface.co/collections/TechxGenus/cursorcore-series-6706618c38598468866b60e2">[🤖Models]</a> |
|
| 29 |
<a href="https://github.com/TechxGenus/CursorCore">[🛠️Code]</a> |
|
| 30 |
+
<a href="https://github.com/TechxGenus/CursorWeb">[<img src="https://github.com/TechxGenus/CursorCore/blob/main/pictures/cursorcore.png" width="12.5px">Web]</a> |
|
| 31 |
+
<a href="https://discord.gg/Z5Tev8fV">[<img src="https://github.com/TechxGenus/CursorCore/blob/main/pictures/discord.png" width="15x">Discord]</a>
|
| 32 |
</p>
|
| 33 |
|
| 34 |
<hr>
|
| 35 |
|
| 36 |
- [CursorCore: Assist Programming through Aligning Anything](#cursorcore-assist-programming-through-aligning-anything)
|
| 37 |
- [Introduction](#introduction)
|
| 38 |
+
- [Structure](#structure)
|
| 39 |
- [Models](#models)
|
| 40 |
- [Usage](#usage)
|
| 41 |
- [1) Normal chat](#1-normal-chat)
|
|
|
|
| 43 |
- [3) Web Demo](#3-web-demo)
|
| 44 |
- [Future Work](#future-work)
|
| 45 |
- [Citation](#citation)
|
| 46 |
+
- [Acknowledgements](#acknowledgements)
|
| 47 |
- [Contribution](#contribution)
|
| 48 |
|
| 49 |
<hr>
|
|
|
|
| 53 |
CursorCore is a series of open-source models designed for AI-assisted programming. It aims to support features such as automated editing and inline chat, replicating the core abilities of closed-source AI-assisted programming tools like Cursor. This is achieved by aligning data generated through Programming-Instruct. Please read [our paper](http://arxiv.org/abs/2410.07002) to learn more.
|
| 54 |
|
| 55 |
<p align="center">
|
| 56 |
+
<img width="100%" alt="conversation" src="https://github.com/TechxGenus/CursorCore/blob/main/pictures/conversation.png">
|
| 57 |
</p>
|
| 58 |
|
| 59 |
+

|
| 60 |
+
|
| 61 |
+
## Structure
|
| 62 |
+
|
| 63 |
+
- `./benchmark` contains the APEval benchmark
|
| 64 |
+
- `./data` contains code to preprocess datasets
|
| 65 |
+
- `./eval` contains code to evaluate models
|
| 66 |
+
- `./gen` contains code to prompt LLMs for generation
|
| 67 |
+
- `./generic` common functions, tools and special tokens
|
| 68 |
+
- `./src` contains code about Programming-Instruct
|
| 69 |
+
- `./train` contains code for training CursorCore
|
| 70 |
+
|
| 71 |
+
Please ensure all dependencies are installed using the following command:
|
| 72 |
+
|
| 73 |
+
```bash
|
| 74 |
+
pip install -r requirements.txt
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
We also use [flash-attention](https://github.com/Dao-AILab/flash-attention) for efficient training and [flashinfer](https://github.com/flashinfer-ai/flashinfer) to accelerate inference. See the documents for them to learn how to install.
|
| 78 |
|
| 79 |
## Models
|
| 80 |
|
| 81 |
Our models have been open-sourced on Hugging Face. You can access our models here: [CursorCore-Series](https://huggingface.co/collections/TechxGenus/cursorcore-series-6706618c38598468866b60e2"). We also provide pre-quantized weights for GPTQ and AWQ here: [CursorCore-Quantization](https://huggingface.co/collections/TechxGenus/cursorcore-quantization-67066431f29f252494ee8cf3)
|
| 82 |
|
| 83 |
+
We use the manually written benchmark APEval to assess the model's ability to assist programming. We also utilize [EvalPlus](https://github.com/evalplus/evalplus), [CanItEdit](https://github.com/nuprl/CanItEdit) and [OctoPack](https://github.com/bigcode-project/octopack) to evaluate the model's performance in Python program generation, instructional code editing, and automated program repair. Since we use a custom conversation template, its generation method differs significantly from both instruct models and base models. Please refer to [our paper](http://arxiv.org/abs/2410.07002) for more details.
|
| 84 |
+
|
| 85 |
+
Evaluation results on APEval:
|
| 86 |
+
|
| 87 |
+
<img src="https://github.com/TechxGenus/CursorCore/blob/main/pictures/APEval.png" alt="APEval" width="75%"/>
|
| 88 |
+
|
| 89 |
+
Evaluation results on EvalPlus, CanItEdit and OctoPack:
|
| 90 |
+
|
| 91 |
+
<img src="https://github.com/TechxGenus/CursorCore/blob/main/pictures/EvalPlus_CanItEdit_OctoPack.png" alt="EvalPlus_CanItEdit_OctoPack" width="75%">
|
| 92 |
+
|
| 93 |
## Usage
|
| 94 |
|
| 95 |
Here are some examples of how to use our model:
|
|
|
|
| 156 |
{
|
| 157 |
"type": "code",
|
| 158 |
"lang": "python",
|
| 159 |
+
"code": """def quick_sort(arr):
|
| 160 |
+
if len(arr) <= 1:
|
| 161 |
+
return arr
|
| 162 |
+
pivot = arr[len(arr) // 2]
|
| 163 |
+
left = [x for x in arr if x < pivot]
|
| 164 |
+
middle = [x for x in arr if x == pivot]
|
| 165 |
+
right = [x for x in arr if x > pivot]
|
| 166 |
+
return quick_sort(left) + middle + quick_sort(right)"""
|
| 167 |
}
|
| 168 |
],
|
| 169 |
"current": {
|
| 170 |
"type": "code",
|
| 171 |
"lang": "python",
|
| 172 |
+
"code": """def quick_sort(array):
|
| 173 |
+
if len(arr) <= 1:
|
| 174 |
+
return arr
|
| 175 |
+
pivot = arr[len(arr) // 2]
|
| 176 |
+
left = [x for x in arr if x < pivot]
|
| 177 |
+
middle = [x for x in arr if x == pivot]
|
| 178 |
+
right = [x for x in arr if x > pivot]
|
| 179 |
+
return quick_sort(left) + middle + quick_sort(right)"""
|
| 180 |
},
|
| 181 |
"user": ""
|
| 182 |
}
|
|
|
|
| 258 |
"current": {
|
| 259 |
"type": "code",
|
| 260 |
"lang": "python",
|
| 261 |
+
"code": """def quick_sort(array):
|
| 262 |
+
if len(arr) <= 1:
|
| 263 |
+
return arr
|
| 264 |
+
pivot = arr[len(arr) // 2]
|
| 265 |
+
left = [x for x in arr if x < pivot]
|
| 266 |
+
middle = [x for x in arr if x == pivot]
|
| 267 |
+
right = [x for x in arr if x > pivot]
|
| 268 |
+
return quick_sort(left) + middle + quick_sort(right)"""
|
| 269 |
},
|
| 270 |
"user": "Add Docstring."
|
| 271 |
}
|
|
|
|
| 336 |
"current": {
|
| 337 |
"type": "code",
|
| 338 |
"lang": "python",
|
| 339 |
+
"code": """def quick_sort(array):
|
| 340 |
+
if len(arr) <= 1:
|
| 341 |
+
return arr
|
| 342 |
+
pivot = arr[len(arr) // 2]
|
| 343 |
+
left = [x for x in arr if x < pivot]
|
| 344 |
+
middle = [x for x in arr if x == pivot]
|
| 345 |
+
right = [x for x in arr if x > pivot]
|
| 346 |
+
return quick_sort(left) + middle + quick_sort(right)"""
|
| 347 |
},
|
| 348 |
"user": "Add Docstring."
|
| 349 |
}
|
|
|
|
| 412 |
"current": {
|
| 413 |
"type": "code",
|
| 414 |
"lang": "python",
|
| 415 |
+
"code": """def quick_sort(array):
|
| 416 |
+
if len(arr) <= 1:
|
| 417 |
+
return arr
|
| 418 |
+
pivot = arr[len(arr) // 2]
|
| 419 |
+
left = [x for x in arr if x < pivot]
|
| 420 |
+
middle = [x for x in arr if x == pivot]
|
| 421 |
+
right = [x for x in arr if x > pivot]
|
| 422 |
+
return quick_sort(left) + middle + quick_sort(right)"""
|
| 423 |
},
|
| 424 |
"user": "Add Docstring."
|
| 425 |
}
|
|
|
|
| 489 |
}
|
| 490 |
```
|
| 491 |
|
| 492 |
+
## Acknowledgements
|
| 493 |
+
|
| 494 |
+
The open-source community has been of great help to us, and we reference numerous projects and applications. They include but are not limited to:
|
| 495 |
|
| 496 |
+
[Deepseek-Coder](https://github.com/deepseek-ai/DeepSeek-Coder), [Yi-Coder](https://github.com/01-ai/Yi-Coder), [Qwen-Coder](https://github.com/QwenLM/Qwen2.5-Coder), [Self-Instruct](https://github.com/yizhongw/self-instruct), [Evol-Instruct](https://github.com/theblackcat102/evol-dataset), [OSS-Instruct](https://github.com/ise-uiuc/magicoder), [EvalPlus](https://github.com/evalplus/evalplus), [CanItEdit](https://github.com/nuprl/CanItEdit), [OctoPack](https://github.com/bigcode-project/octopack), [Aider](https://github.com/Aider-AI/aider), [Continue](https://github.com/continuedev/continue), [Cursor](https://github.com/getcursor/cursor), ...
|
| 497 |
|
| 498 |
+
## Contribution
|
| 499 |
|
| 500 |
+
Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.
|