?? 중국어 | 영어 |

Codeassist는 Python, Java 및 C ++ 등에 대한 고품질 코드 완료를 지능적으로 제공하는 고급 코드 완료 도구입니다.
Codeassist는 Python, Java 및 C ++와 같은 프로그래밍 언어를위한 코드를 완성하는 고품질 코드 완료 도구입니다.
Python , Java , C++ , javascript 등의 코드 완료| 아치 | 베이스 모드 | 모델 | 모델 크기 |
|---|---|---|---|
| gpt | GPT2 | Shibing624/Code-Autocomplete-GPT2-Base | 487MB |
| gpt | distilgpt2 | Shibing624/Code-Autocomplete-DistilGpt2-Python | 319MB |
| gpt | 큰 코드/스타 코더 | Wizardlm/WizardCoder-15B-V1.0 | 29GB |
Huggingface 데모 : 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는 Alpaca 코드 데이터가 포함 된 미세 조정 된 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
예 : 예/training_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예 : 예/training_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-베이스입니다. V100으로 약 24 시간을 미세 조정했습니다.
Fastapi 서버 시작 :
예 : 예/server.py
cd examples
python server.pyOpen URL : http://0.0.0.0:8001/docs

이를 통해 데이터 세트 건물을 사용자 정의 할 수 있습니다.
Awesome-Pytorch-List의 Python 코드를 사용해 봅시다
데이터 세트 트리 :
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 소스 코드 | 굉장한 파이터리스트 (522 백만 라인) | 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에 따라 라이센스가 부여됩니다.
WizardCoder 모델을 사용하려면 Adventix-Nonmercial 4.0 International을 따르십시오.
프로젝트 코드는 여전히 매우 거칠다.
tests 에 해당 단위 테스트를 추가하십시오python setup.py test 사용하여 모든 단일 테스트가 통과되도록 모든 단위 테스트를 실행하십시오.나중에 PR을 제출할 수 있습니다.