作者:埃默里·伯杰
Commentator 利用大型语言模型向 Python 代码添加高级解释性注释、文档字符串和类型。
为了工作,Commentator 需要连接到本地 AI 服务、OpenAI 帐户或 Amazon Web Services 帐户。
本地AI服务(Ollama)
评论员现在可以使用本地安装的AI服务;目前支持Ollama。要使用 Ollama,请安装它并设置环境变量
USE_OLLAMA
:export USE_OLLAMA=1
开放人工智能
您的帐户需要有正余额才能发挥作用(检查您的 OpenAI 余额)。在此处获取 OpenAI 密钥。
Commentator 当前默认为 GPT-4,如果发生请求错误,则回退到 GPT-3.5-turbo。要使最新、最佳模型 (GPT-4) 正常工作,您需要购买至少 1 美元的积分(如果您的 API 帐户是在 2023 年 8 月 13 日之前创建的)或 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 >亚马逊基岩
Commentator 现在使用 Claude 模型支持 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
您还需要请求访问 Claude(根据需要更改区域):
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
当 Commentator 检测到已设置适当的环境变量时,将自动选择要使用的 AI 服务(本地、OpenAI 或 AWS Bedrock)。
Commentator 采用 Python 文件的路径和可选的语言参数。如果指定了语言,Commentator 会将代码中的每个文档字符串和注释翻译为指定的语言。默认语言是英语。
要安装 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 添加了文档字符串和类型注释。