par Emery Berger
Commentator exploite de grands modèles de langage pour ajouter des commentaires explicatifs de haut niveau, des docstrings et des types au code Python.
Pour fonctionner, Commentator doit être connecté à un service d'IA local, à un compte OpenAI ou à un compte Amazon Web Services.
Service d'IA local (Ollama)
Le commentateur peut désormais utiliser un service d'IA installé localement ; il prend actuellement en charge Ollama. Pour utiliser Ollama, installez-le et définissez la variable d'environnement
USE_OLLAMA
:export USE_OLLAMA=1
OpenAI
Votre compte devra avoir un solde positif pour que cela fonctionne (vérifiez votre solde OpenAI). Obtenez une clé OpenAI ici.
Le commentateur utilise actuellement par défaut GPT-4 et revient à GPT-3.5-turbo si une erreur de demande se produit. Pour que le modèle le plus récent et le meilleur (GPT-4) fonctionne, vous devez avoir acheté au moins 1 $ de crédits (si votre compte API a été créé avant le 13 août 2023) ou 0,50 $ (si vous avez un compte API plus récent).
Une fois que vous disposez d'une clé API, définissez-la comme variable d'environnement appelée
OPENAI_API_KEY
.# On Linux/MacOS: export OPENAI_API_KEY= < your-api-key > # On Windows: $env :OPENAI_API_KEY= < your-api-key >Socle amazonien
Commentator prend désormais en charge Amazon Bedrock, en utilisant le modèle Claude. Pour utiliser Bedrock, vous devez définir trois variables d'environnement.
# On Linux/MacOS: export AWS_ACCESS_KEY_ID= < your-access-key > export AWS_SECRET_ACCESS_KEY= < your-secret-key > export AWS_REGION_NAME=us-west-2Si vous ne disposez pas déjà de clés d'accès, vous devriez pouvoir les créer en modifiant ce lien avec votre propre nom d'utilisateur et région :
https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users/details/YOUR_USER_NAME?section=security_credentials
Vous devez également demander l'accès à Claude (changer de région au besoin) :
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
Commentator sélectionnera automatiquement le service d'IA à utiliser (local, OpenAI ou AWS Bedrock) lorsqu'il détectera que les variables d'environnement appropriées ont été définies.
Commentator prend un chemin vers un fichier Python et un paramètre de langage facultatif. Si la langue est spécifiée, Commentator traduit chaque docstring et commentaire du code dans la langue spécifiée. La langue par défaut est l'anglais.
Pour installer Commentator, vous pouvez utiliser pip :
$ pip install python-commentator
Supposons que vous ayez un fichier appelé example.py
avec le code suivant :
def absolutely(n):
if n < 0:
return -n
else:
return n
Exécutez Commentator sur ce fichier pour ajouter des commentaires et saisir des annotations :
$ commentator example.py
Le code résultant pourrait être :
def absolutely(n: int) -> int:
"""
Return the absolute value of a number.
Args:
- n (int): the number whose absolute value we want to find
Returns:
- int: the absolute value of n
"""
if n < 0:
# If n is negative
# Return the negative version of n (i.e. its absolute value)
return -n
else:
# Otherwise (if n is non-negative)
# Return n as-is (it already is its absolute value)
return n
Notez que Commentator a ajouté une docstring et des annotations de type.