Эмери Бергер
Комментатор использует большие языковые модели для добавления пояснительных комментариев высокого уровня, строк документации и типов в код Python.
Для работы Commentator необходимо подключиться к локальному сервису AI, учетной записи OpenAI или учетной записи Amazon Web Services.
Местная служба искусственного интеллекта (Оллама)
Комментатор теперь может использовать локально установленную службу ИИ; в настоящее время он поддерживает Олламу. Чтобы использовать Ollama, установите его и установите переменную среды
USE_OLLAMA
:export USE_OLLAMA=1
ОпенАИ
Чтобы это работало, на вашей учетной записи должен быть положительный баланс (проверьте баланс OpenAI). Получите ключ OpenAI здесь.
Комментатор в настоящее время использует GPT-4 по умолчанию и возвращается к GPT-3.5-turbo в случае возникновения ошибки запроса. Чтобы новейшая и лучшая модель (GPT-4) работала, вам необходимо приобрести кредиты на сумму не менее 1 доллара США (если ваша учетная запись API была создана до 13 августа 2023 года) или 0,50 доллара США (если у вас более новая учетная запись API).
Если у вас есть ключ API, установите его как переменную среды с именем
OPENAI_API_KEY
.# On Linux/MacOS: export OPENAI_API_KEY= < your-api-key > # On Windows: $env :OPENAI_API_KEY= < your-api-key >Амазонка
Комментатор теперь поддерживает Amazon Bedrock, используя модель Клода. Чтобы использовать Bedrock, вам необходимо установить три переменные среды.
# 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-2Если у вас еще нет ключей доступа, вы сможете создать их, изменив эту ссылку, указав свое имя пользователя и регион:
https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users/details/YOUR_USER_NAME?section=security_credentials
Также необходимо запросить доступ к Клоду (при необходимости сменить регион):
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
Комментатор автоматически выберет, какой сервис ИИ использовать (локальный, OpenAI или AWS Bedrock), когда обнаружит, что установлены соответствующие переменные среды.
Комментатор принимает путь к файлу Python и необязательный параметр языка. Если указан язык, Commentator переводит каждую строку документации и комментарий в коде на указанный язык. Язык по умолчанию — английский.
Чтобы установить Комментатор, вы можете использовать pip:
$ pip install python-commentator
Предположим, у вас есть файл example.py
со следующим кодом:
def absolutely(n):
if n < 0:
return -n
else:
return n
Запустите Commentator для этого файла, чтобы добавить комментарии и ввести аннотации:
$ commentator example.py
Результирующий код может быть таким:
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
Обратите внимание, что Commentator добавил строку документации и аннотации типов.