GPT4Readability — 再也不用写 README 了
GPT4Readability - No need to write README anymore
一个Python软件包,用于优化和记录您的代码库

在复杂的Python代码库中导航可能是一项具有挑战性的任务,尤其是当项目缺乏足够的文档时。这在程序员的生活中经常发生。幸运的是,由于最近在NLP和深度学习方面的突破,有一个旨在帮助的工具: GPT4Readability。
GitHub – loevlie/GPT4Readability:一个旨在自动生成README.md的强大工具…
一个旨在自动生成README.md文件并使用LLMs提供代码改进建议的强大工具- GitHub…
github.com
GPT4Readability:您的AI驱动编码助手
GPT4Readability是一个强大的软件包,利用大型语言模型(LLMs)和向量数据库来生成README.md文件,并为您的Python代码库提供代码改进建议。就像有一个个人助理,不仅了解和记录您的代码,还帮助您使其更好。
但是为什么我不能只使用ChatGPT呢?
ChatGPT是一个强大的工具。然而,在处理大量文本或代码时,它存在一些限制。您一次只能输入一定量的文本或代码到ChatGPT中,这在处理大型代码库时可能会受到限制。
- 一项新的AI研究介绍了REV:AI研究中的一项重大突破——一种新的信息论度量方法,用于评估自由文本理由中的新颖且与标签相关的信息
- CMU、AI2和华盛顿大学的研究小组推出了NLPositionality:一种用于表征设计偏见和量化NLP数据集和模型定位性的AI框架
- 如何从市场营销转行数据科学?
相比之下,GPT4Readability旨在处理更大量的代码。虽然它可能仍然难以处理非常大的代码库,但对于大多数正常大小的代码库,它可以轻松应对。这意味着只需指向正确的文件夹,它就可以解析您的整个项目,分析完整的上下文,并生成全面的README或提供详细的代码改进建议。这是ChatGPT无法实现的!
开始使用GPT4Readability
首先,我将向您介绍设置过程。首先,您需要安装该软件包:
pip install GPT4Readability==0.0.3
接下来,您需要在OpenAI上创建一个帐户。这是因为GPT4Readability使用OpenAI API访问GPT-3.5和GPT-4。最终的希望是还将整合来自HuggingFace的开源模型(请关注GitHub存储库以获取更新)。一旦您在OpenAI平台上创建了帐户,继续添加付款方式并生成API密钥。
现在,您需要设置一个名为OPENAI_API_KEY
的环境变量,值为您新生成的API密钥。这允许GPT4Readability与OpenAI API进行身份验证。如果您不这样做,在运行GPT4Readability时,您将被提示添加密钥。
export OPEN_API_KEY="YOUR KEY"
通过API使用OpenAI的GPT-3和GPT-4 LLMs并不昂贵。这个工具的整个开发成本只需1.50美元,与用户支付的每月20美元的ChatGPT相比,这似乎相当便宜!但是,您始终可以在OpenAI网站上查看您的使用情况,以确保没有超支。
介绍您的个人AI文档助手
现在,您已经安装了GPT4Readability并生成了OpenAI API密钥,您可以访问CLI。本文重点介绍CLI,但您也可以尝试HuggingFace空间中的无代码Web应用程序:https://huggingface.co/spaces/JohanDL/GPT4Readability。
假设您有一个需要README的Python项目,但您甚至不记得代码应该做什么。不要花费几个小时来尝试弄清楚代码库中的连接,让GPT4Readability来处理繁重的工作:
gpt4readability /path/to/your/project --function readme --output_readme MyAwesomeREADME.md --model gpt-3.5-turbo

只需将/path/to/your/project
替换为您的Python项目的根目录。GPT4Readability将使用OpenAI的”gpt-3.5-turbo”模型生成一个名为MyAwesomeREADME.md
的全面README.md文件。目前,您可以在GPT4Readability中使用两个可用的模型:
- gpt-3.5-turbo
- gpt-4
代码改进:一个适用于所有开发者的学习工具
GPT4Readability不仅适用于缺乏应有文档的代码库的更新,而且还是一种令人难以置信的学习工具,适用于各个级别的开发者。要生成关于代码库中函数的建议,请使用下面示例中显示的suggestions工具:
gpt4readability /path/to/your/project --function suggestions --output_suggestions CodeImprovements.md --model gpt-3.5-turbo
在我的第一个Python项目上运行GPT4Readability的示例建议:
原始函数:
def Get_props(file): """ This function retreives the information from the property cell of the notebook""" no_prop = True nb = nbformat.read(file,as_version=4) for i in nb['cells']: if i['cell_type'] == 'code': if i['source'].startswith('%%properties'): Metal_A = i['source'].split('\n')[1].split()[-1] Metal_B = i['source'].split('\n')[2].split()[-1] Max_H = float(i['source'].split('\n')[3].split()[-1]) result = {'Metal_A':Metal_A,'Metal_B':Metal_B,'Max_H':Max_H} no_prop = False if no_prop: result = None return result
建议:
def Get_props(file): """ This function retrieves the information from the property cell of the notebook""" nb = nbformat.read(file, as_version=4) for i in nb['cells']: if i['cell_type'] == 'code' and i['source'].startswith('%%properties'): Metal_A, Metal_B, Max_H = i['source'].split('\n')[1:4] result = {'Metal_A': Metal_A.split()[-1], 'Metal_B': Metal_B.split()[-1], 'Max_H': float(Max_H.split()[-1])} return result return None
解释:
- 删除了不必要的变量
no_prop
及其相关标志。相反,如果未找到属性,我们可以直接返回None
。 - 将
Metal_A
,Metal_B
和Max_H
的赋值语句合并为一行,以提高可读性。 - 在循环后删除了
no_prop
检查,因为如果未找到属性,我们可以直接返回None
。 - 通过直接将值分配给键来简化字典的创建。
这些更改通过减少不必要的变量和简化逻辑来提高代码的可读性。对性能或空间复杂度没有明显影响。
只需将/path/to/your/project
替换为您的Python项目的根目录。GPT4Readability将分析您的代码并生成一个名为CodeImprovements.md
的文件,其中包含改进的建议。建议的格式始终相同:
- 文件路径
- 函数名
- 原始函数
- 建议修改
- 为什么建议修改的解释
向建议的代码调整添加解释非常重要,因为它可以增加透明度,甚至是一个学习机会。通过审查这些建议,你不仅可以改进你的代码,还可以作为开发者不断提升。
总结
GPT4Readability 是一个非常有用的工具,可以帮助你理解和改进你的 Python 项目!
如果 GPT4Readability 节省了你的时间或者你有任何问题,请随时与我联系(你可以使用下面的任何链接)。另外,请考虑给 GitHub 仓库点个 star!如果你发现了 bug 或者有任何改进 GPT4Readability 的建议,请毫不犹豫地在 GitHub Issues 页面上提出。
与我联系!
我是一名有抱负的深度学习研究员,目前在匹兹堡的 KEF Robotics 担任计算机视觉工程师!与我联系,随时欢迎和我交流任何与机器学习相关的事情!
- 在 VoAGI 上关注我
- GitHub
- 请我喝杯咖啡?