؟

CodeAssist هي أداة إتمام الرمز المتقدم التي توفر بذكاء إكمال رمز عالي الجودة لـ Python و Java و C ++ وما إلى ذلك.
Codeassist هي أداة إكمال الرمز عالية الجودة التي تكمل رمز لغات البرمجة مثل Python و Java و C ++.
Python و Java و C++ و javascript وما إلى ذلك| قوس | قاعدة | نموذج | حجم النموذج |
|---|---|---|---|
| GPT | GPT2 | shibing624/code-autocomplete-gpt2-base | 487 ميجابايت |
| GPT | distilgpt2 | shibing624/code-autocomplete-distilgpt2-python | 319 ميجابايت |
| GPT | Bigcode/starcoder | Wizardlm/WizardCoder-15B-V1.0 | 29 جيجابايت |
العانق التوضيحي: https://huggingface.co/spaces/shibing624/code-autocomplete
نموذج الواجهة الخلفية: shibing624/code-autocomplete-gpt2-base
pip install torch # conda install pytorch
pip install -U codeassistأو
git clone https://github.com/shibing624/codeassist.git
cd CodeAssist
python setup.py install WizardCoder-15B هو bigcode/starcoder مع بيانات رمز الألبكة ، يمكنك استخدام الكود التالي لإنشاء رمز:
مثال: أمثلة/WizardCoder_Demo.py
import sys
sys . path . append ( '..' )
from codeassist import WizardCoder
m = WizardCoder ( "WizardLM/WizardCoder-15B-V1.0" )
print ( m . generate ( 'def load_csv_file(file_path):' )[ 0 ])الإخراج:
import csv
def load_csv_file ( file_path ):
"""
Load data from a CSV file and return a list of dictionaries.
"""
# Open the file in read mode
with open ( file_path , 'r' ) as file :
# Create a CSV reader object
csv_reader = csv . DictReader ( file )
# Initialize an empty list to store the data
data = []
# Iterate over each row of data
for row in csv_reader :
# Append the row of data to the list
data . append ( row )
# Return the list of data
return dataيكون إخراج النموذج فعالًا بشكل مثير للإعجاب ، وهو يدعم حاليًا المدخلات الإنجليزية والصينية ، ويمكنك إدخال التعليمات أو بادئات الرمز كما هو مطلوب.
نموذج الإكمال التلقائي لثبات رمز Distilgpt2 ، يمكنك استخدام الكود التالي:
مثال: أمثلة/distilgpt2_demo.py
import sys
sys . path . append ( '..' )
from codeassist import GPT2Coder
m = GPT2Coder ( "shibing624/code-autocomplete-distilgpt2-python" )
print ( m . generate ( 'import torch.nn as' )[ 0 ])الإخراج:
import torch.nn as nn
import torch.nn.functional as Fمثال: أمثلة/use_transformers_gpt2.py
مثال: أمثلة/تدريبات _wizardcoder_mydata.py
cd examples
CUDA_VISIBLE_DEVICES=0,1 python training_wizardcoder_mydata.py --do_train --do_predict --num_epochs 1 --output_dir outputs-wizard --model_name WizardLM/WizardCoder-15B-V1.0مثال: أمثلة/تدريب _gpt2_mydata.py
cd examples
python training_gpt2_mydata.py --do_train --do_predict --num_epochs 15 --output_dir outputs-gpt2 --model_name gpt2PS: نموذج النتيجة المضبوطة هو GPT2-Python: Shibing624/Code-Autocomplete-GPT2-base ، قضيت حوالي 24 ساعة مع V100 لضبطه.
ابدأ خادم Fastapi:
مثال: أمثلة/server.py
cd examples
python server.pyفتح عنوان URL: http://0.0.0.0:8001/docs

هذا يسمح بتخصيص بناء مجموعة البيانات أدناه.
دعونا نستخدم رموز بيثون من قائمة رهيبة
شجرة مجموعة البيانات:
examples/download/python
├── train.txt
└── valid.txt
└── test.txtهناك ثلاث طرق لإنشاء مجموعة بيانات:
from datasets import load_dataset
dataset = load_dataset ( "shibing624/source_code" , "python" ) # python or java or cpp
print ( dataset )
print ( dataset [ 'test' ][ 0 : 10 ])الإخراج:
DatasetDict({
train: Dataset({
features: [ ' text ' ],
num_rows: 5215412
})
validation: Dataset({
features: [ ' text ' ],
num_rows: 10000
})
test: Dataset({
features: [ ' text ' ],
num_rows: 10000
})
})
{ ' text ' : [
" {'max_epochs': [1, 2]},n " ,
' refit=False,n ' , ' cv=3,n ' ,
" scoring='roc_auc',n " , ' )n ' ,
' search.fit(*data)n ' ,
' ' ,
' def test_module_output_not_1d(self, net_cls, data):n ' ,
' from skorch.toy import make_classifiern ' ,
' module = make_classifier(n '
]}| اسم | مصدر | تحميل | مقاس |
|---|---|---|---|
| Python+Java+CPP Code | قائمة رهيبة (5.22 مليون سطر) | github_source_code.zip | 105m |
قم بتنزيل مجموعة البيانات وفك ضغطها ، وضعت على examples/ .
إعداد_code_data.py
cd examples
python prepare_code_data.py --num_repos 260
إذا كنت تستخدم Codeassist في بحثك ، فيرجى اقتباسه بالتنسيق التالي:
APA:
Xu, M. codeassist: Code AutoComplete with GPT model (Version 1.0.0) [Computer software]. https://github.com/shibing624/codeassistbibtex:
@software{Xu_codeassist,
author = {Ming Xu},
title = {CodeAssist: Code AutoComplete with Generation model},
url = {https://github.com/shibing624/codeassist},
version = {1.0.0}
}تم ترخيص هذا المستودع بموجب ترخيص Apache 2.0.
يرجى اتباع إسناد-Noncommercial 4.0 International لاستخدام نموذج WizardCoder.
لا يزال رمز المشروع قاسيًا للغاية.
testspython setup.py test لتشغيل جميع اختبارات الوحدة لضمان اجتياز جميع الاختبارات الفرديةيمكنك تقديم العلاقات العامة الخاصة بك لاحقًا.