por Emery Berger
O Commentator aproveita grandes modelos de linguagem para adicionar comentários explicativos de alto nível, docstrings e tipos ao código Python.
Para funcionar, o Commentator precisa estar conectado a um serviço de IA local, uma conta OpenAI ou uma conta Amazon Web Services.
Serviço local de IA (Ollama)
O comentarista agora pode usar um serviço de IA instalado localmente; atualmente suporta Ollama. Para usar o Ollama, instale-o e defina a variável de ambiente
USE_OLLAMA
:export USE_OLLAMA=1
OpenAI
Sua conta precisará ter saldo positivo para que isso funcione (verifique seu saldo OpenAI). Obtenha uma chave OpenAI aqui.
Atualmente, o padrão do Commentator é GPT-4 e volta para GPT-3.5-turbo se ocorrer um erro de solicitação. Para que o modelo mais novo e melhor (GPT-4) funcione, você precisa ter comprado pelo menos US$ 1 em créditos (se sua conta API foi criada antes de 13 de agosto de 2023) ou US$ 0,50 (se você tiver uma conta API mais recente).
Depois de ter uma chave de API, defina-a como uma variável de ambiente chamada
OPENAI_API_KEY
.# On Linux/MacOS: export OPENAI_API_KEY= < your-api-key > # On Windows: $env :OPENAI_API_KEY= < your-api-key >Base Amazônica
O Commentator agora oferece suporte ao Amazon Bedrock, usando o modelo Claude. Para usar o Bedrock, você precisa definir três variáveis de ambiente.
# 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-2Se você ainda não possui chaves de acesso, poderá criá-las modificando este link com seu próprio nome de usuário e região:
https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users/details/YOUR_USER_NAME?section=security_credentials
Você também precisa solicitar acesso ao Claude (mudar de região conforme necessário):
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
O Commentator selecionará automaticamente qual serviço de IA usar (local, OpenAI ou AWS Bedrock) quando detectar que as variáveis de ambiente apropriadas foram definidas.
O Commentator segue um caminho para um arquivo Python e um parâmetro de linguagem opcional. Se o idioma for especificado, o Commentator traduz cada docstring e comentário no código para o idioma especificado. O idioma padrão é o inglês.
Para instalar o Commentator, você pode usar pip:
$ pip install python-commentator
Suponha que você tenha um arquivo chamado example.py
com o seguinte código:
def absolutely(n):
if n < 0:
return -n
else:
return n
Execute o Commentator neste arquivo para adicionar comentários e digitar anotações:
$ commentator example.py
O código resultante pode ser:
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
Observe que o Commentator adicionou uma docstring e anotações de tipo.