RichardErkhov nielsr HF Staff commited on
Commit
90a43c3
·
verified ·
1 Parent(s): 295ee75

Add missing metadata and improve formatting (#1)

Browse files

- Add missing metadata and improve formatting (8cddae10628314a8b0121d3d3a7168d2cc74b022)


Co-authored-by: Niels Rogge <[email protected]>

Files changed (1) hide show
  1. README.md +87 -23
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://raw.githubusercontent.com/TechxGenus/CursorCore/main/pictures/conversation.png">
60
  </p>
61
 
62
- ![CursorWeb](https://raw.githubusercontent.com/TechxGenus/CursorCore/main/pictures/CursorWeb.gif)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
  ## Models
65
 
66
  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)
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):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)"""
 
 
 
 
 
 
 
135
  }
136
  ],
137
  "current": {
138
  "type": "code",
139
  "lang": "python",
140
- "code": """def quick_sort(array):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)"""
 
 
 
 
 
 
 
141
  },
142
  "user": ""
143
  }
@@ -219,7 +258,14 @@ sample = {
219
  "current": {
220
  "type": "code",
221
  "lang": "python",
222
- "code": """def quick_sort(array):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)"""
 
 
 
 
 
 
 
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):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)"""
 
 
 
 
 
 
 
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):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)"""
 
 
 
 
 
 
 
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
- ## Contribution
 
 
433
 
434
- Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.
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
+ ![CursorWeb](https://github.com/TechxGenus/CursorCore/blob/main/pictures/CursorWeb.gif)
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.