Documentez automatiquement le code en le transmettant à un LLM (Chat-GPT).
Avec une simple invite, nous demandons au LLM d'annoter le code donné, en suivant les conventions de ce langage.
NOTE
- cet outil nécessite toujours une supervision manuelle : si vous effectuez une sortie vers le même emplacement, veuillez vérifier les résultats avant de valider les modifications. Par défaut, l'outil sort sur stdout OU vers un nouveau répertoire.
pour les instructions de configuration, voir la section Setup
ci-dessous.
Remarque : les scripts doivent être exécutés à partir du dossier via-chat-gpt
de niveau supérieur.
Pour commenter un seul fichier :
pipenv run python via-chat-gpt [--out-dir
Pour commenter des fichiers dans un répertoire (n'est PAS récursif) :
pipenv run python via-chat-gpt [--out-dir
remarque : pour réécrire dans le(s) même(s) fichier(s), spécifiez simplement --out-dir
pour pointer vers le même répertoire. Mais veuillez alors vérifier le résultat avant de valider les modifications.
Exemple de documentation générée (publiée via pdoc vers S3) : documentation Cornsnake.
import json
def read_from_json_file(path_to_json, encoding='utf-8'):
with open(path_to_json, encoding=encoding) as f:
data = json.load(f)
return data
def write_to_json_file(dict, file_path, encoding='utf-8', indent=2):
json_object = json.dumps(dict, indent=indent)
with open(file_path, "w", encoding=encoding) as outfile:
outfile.write(json_object)
"""
This Python file contains functions for reading from and writing to a JSON file. The `read_from_json_file` function reads JSON data from a file, and the `write_to_json_file` function writes JSON data to a file.
"""
import json
def read_from_json_file(path_to_json, encoding='utf-8'):
"""
Function to read JSON data from a file.
Args:
path_to_json (str): The path to the JSON file.
encoding (str): The encoding of the file. Default is 'utf-8'.
Returns:
dict: The JSON data read from the file.
"""
with open(path_to_json, encoding=encoding) as f:
data = json.load(f) # Load JSON data from the file
return data
def write_to_json_file(dict, file_path, encoding='utf-8', indent=2):
"""
Function to write JSON data to a file.
Args:
dict (dict): The dictionary containing JSON data to be written.
file_path (str): The path to the output JSON file.
encoding (str): The encoding of the file. Default is 'utf-8'.
indent (int): The number of spaces to indent the JSON data. Default is 2.
"""
json_object = json.dumps(dict, indent=indent) # Convert dictionary to JSON string with specified indent
with open(file_path, "w", encoding=encoding) as outfile:
outfile.write(json_object) # Write JSON data to the file
cd via-chat-gpt
Unix :
pip install pipenv
export PYTHONPATH= " ${PYTHONPATH} :. "
pipenv install
Fenêtres :
pip install pipenv
set PYTHONPATH= " %PYTHONPATH% " ; .
pipenv install
Définissez la variable d'environnement avec votre clé OpenAI :
export OPENAI_API_KEY= " xxx "
Ajoutez cela à votre script d'initialisation de shell ( ~/.zprofile
ou similaire)
Charge dans le terminal actuel :
source ~ /.zprofile
(cd via-chat-gpt)
test-openai.sh
ou
pipenv run python via-chat-gpt ../test-resources/util_json.py
Les résultats sont seulement corrects (Chat-GPT a de bien meilleurs résultats)
voir via-phi2-the-bloke README
TODO corrige la gestion des réponses pour cette version
voir via-phi2 README