?? Chinois |

CodeSSist est un outil de complétion de code avancé qui fournit intelligemment les compléments de code de haute qualité pour Python, Java et C ++ et ainsi de suite.
CodeSsist est un outil de complétion de code de haute qualité qui complète le code pour les langages de programmation tels que Python, Java et C ++.
Python , Java , C++ , javascript et ainsi de suite| Cambre | Model de base | Modèle | Taille du modèle |
|---|---|---|---|
| Gp | gpt2 | Shibing624 / Code-Autocomplete-GPT2-base | 487 Mo |
| Gp | distilgpt2 | Shibing624 / Code-Autocomplete-Distilgpt2-Python | 319 Mo |
| Gp | Bigcode / Starcoder | Wizardlm / wizardcoder-15b-v1.0 | 29 Go |
HuggingFace Demo: https://huggingface.co/spaces/shibing624/code-auto-complete
Modèle backend: shibing624/code-autocomplete-gpt2-base
pip install torch # conda install pytorch
pip install -U codeassistou
git clone https://github.com/shibing624/codeassist.git
cd CodeAssist
python setup.py install WizardCoder-15b est bigcode/starcoder affiné avec des données de code alpaca, vous pouvez utiliser le code suivant pour générer du code:
Exemple: exemples / 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 ])sortir:
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 dataLa sortie du modèle est impressionnante, il prend actuellement en charge les entrées anglaises et chinoises, vous pouvez saisir des instructions ou des préfixes de code selon les besoins.
Modèle de saisie automatique de code Distilgpt2, vous pouvez utiliser le code suivant:
Exemple: exemples / 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 ])sortir:
import torch.nn as nn
import torch.nn.functional as FExemple: Exemples / use_transformers_gpt2.py
Exemple: exemples / formation_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.0Exemple: exemples / formation_gpt2_mydata.py
cd examples
python training_gpt2_mydata.py --do_train --do_predict --num_epochs 15 --output_dir outputs-gpt2 --model_name gpt2PS: le modèle de résultat affiné est GPT2-Python: Shibing624 / Code-Autocomplete-GPT2-base, j'ai passé environ 24 heures avec V100 pour l'affiner.
Démarrer le serveur Fastapi:
Exemple: exemples / server.py
cd examples
python server.pyURL ouverte: http://0.0.0.0:8001/docs

Cela permet de personnaliser la construction de données.
Utilisons les codes Python de la liste de pytorch impressionnante
Arbre d'ensemble de données:
examples/download/python
├── train.txt
└── valid.txt
└── test.txtIl existe trois façons de créer un ensemble de données:
from datasets import load_dataset
dataset = load_dataset ( "shibing624/source_code" , "python" ) # python or java or cpp
print ( dataset )
print ( dataset [ 'test' ][ 0 : 10 ])sortir:
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 '
]}| Nom | Source | Télécharger | Taille |
|---|---|---|---|
| Python + Java + CPP Code source | Liste de pytorch génial (5,22 millions de lignes) | github_source_code.zip | 105m |
Téléchargez un ensemble de données et dézip, mets aux examples/ .
prépare_code_data.py
cd examples
python prepare_code_data.py --num_repos 260
Si vous utilisez CodeSSist dans vos recherches, veuillez le citer dans le format suivant:
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}
}Ce référentiel est sous licence en vertu de la Licence 2.0 Apache.
Veuillez suivre l'attribution-NonCommercial 4.0 International pour utiliser le modèle WizardCoder.
Le code du projet est toujours très difficile.
testspython setup.py test pour exécuter tous les tests unitaires pour vous assurer que tous les tests uniques sont passésVous pouvez soumettre votre PR plus tard.