像GPT-4这样的大型语言模型(LLM)已越来越多地用于自动化Python中的各种编码任务,在执行复杂或重复性的编程活动方面提供效率和便利性。以下是现实世界中的示例和典型情况,其中LLM已应用于使用Python自动化编码工作流程:
一种常见的应用程序是自动化数据格式的转换和处理。例如,用户处理HTML表,并需要将它们转换为JSON文件以轻松操纵或重复其他位置的数据。通过描述确切的输入(HTML表)和所需的输出(JSON文件),LLM可以自动生成Python脚本,该脚本可自动处理解析HTML并以JSON格式构造数据。这消除了对手动编码的需求,甚至允许非程序员有效地执行此类转换。同样,提取特定信息(例如文本文件中的电子邮件地址)是另一个频繁的自动化任务。提供一个提示,该提示要求使用正则表达式识别和收集电子邮件地址的Python脚本使LLM能够生成专业的代码来自动化此提取并以可用的格式保存结果。
LLMS的另一个有价值的用途是分析CSV文件中存储的调查响应的自动化。例如,在特定问题上计算诸如“是”或“否”之类的答案的发生是一项繁琐的任务。通过指示LLM生成读取CSV并将调查响应的Python代码产生,用户获得了一个直接的解决方案,否则该解决方案将需要编程知识和时间来开发。这种使用LLMS生成代码以进行简单数据摘要或转换任务的模式在管理和分析环境中广泛存在。
开发人员还使用LLM来加速写作自定义Python功能,以实现更高级和特定的目的。指定功能签名和行为的详细提示通常会快速产生功能代码。例如,一个工作流程涉及请求异步Python函数将文件下载到临时目录,验证其大小并使用SQLITE命令确认有效性检查。 LLM迅速生产了代码,与手动研究和实施确切功能相比,节省了大量时间。该示例演示了LLM如何充当数字编码助手,将高级描述迅速转化为对Asyncio和HTTPX等特定库进行优化的工作,测试的功能。
测试和验证代码生成是LLMS发光的另一个领域。生成主要代码后,开发人员通常会促使LLM使用诸如PyTest之类的流行框架编写单元测试。这一串联生成可确保自动代码不仅产生,而且还具有验证程序,提高可靠性并加快软件开发生命周期。 LLM记住常见最佳实践,处理异常方案并添加文档的能力进一步增强了代码质量。
自动代码更改和重构的研究还突出了LLM的力量。像Pycraft这样的工具利用LLM为给定的编程成语生成多个代码变体,涵盖了具有不同句法样式的看不见的变体。这种方法有助于修改自动代码,错误修复和重构,以适应开发人员的意图,同时确保正确性和适用性。该系统采用静态和动态测试,从错误的测试中过滤了有用的变体,展示了LLM可以如何自动化复杂的软件工程任务,而不是编写孤立的脚本。
在工作场所自动化中,许多人利用了LLMS执行常规但有影响力的任务。 Examples reported in professional environments include automating the extraction of URLs or other metadata from commit histories in code repositories, generating reports, and creating administrative scripts that simplify daily operations.通过将LLM生成的Python脚本与现有数据和代码资产相结合,用户报告了大量的时间节省和提高的效率,通常会通过使用自然语言提示产生的自动解决方案的复杂性给同事留下深刻的印象。
此外,某些项目实施了大型动作模型(LAM),用户在其中定义与LLMS集成的自定义Python动作以执行分层和复杂的任务。这些Python编码的模块仅通过使用通过LLM介导的自然语言命令来调用复杂功能,从而将自动化范围扩大到各种问题域。在这些情况下,常用的Python软件包包括用于刮擦的美丽小组,Urllib3,HTTP调用请求以及用于配置处理的PyyAml。
另一个实用的领域是创建自动生成,执行,验证和调试代码的代理。将LLM与执行环境相结合的系统创建周期性工作流程,代理在其中编写代码来求解给定任务,运行它以检查成功或错误,并在需要时进行迭代修改代码,直到达到预期的结果。这些自动化的代码生成和反馈循环体现了LLM如何将其可用性从独立代码写作扩展到以最少的人类监督来完成任务解决自动化。
总而言之,使用Python中LLMS自动化编码任务的现实示例包括:
- 将结构化数据(例如HTML表)转换为JSON。
- 提取特定信息,例如文本文件中的电子邮件。
- 总结或计算基于CSV的调查数据中的响应。
- 通过验证和错误处理生成复杂的异步功能。
- 自动编写单元测试以验证生成的代码。
- 使用产生的句法变体自动化代码进行重构和错误修复。
- 从版本控制系统中提取URL或元数据提交历史。
- 在LLM驱动的自动化框架中部署用户可定制的操作模块。
- 实施自动完善其输出的代码生成执行的侵入剂。