使用GPT 自动化您的代码库

news2024/11/23 19:33:18

 

使用GPT 自动化您的代码库

 

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景

介绍

随着人工智能领域的发展和演变,我们已经看到了GPT,ChatGPT,Bard等强大工具的兴起。程序员正在使用这些工具来简化他们的工作流程并优化他们的代码库。它使他们能够更多地专注于构建程序的核心逻辑,而不是更平凡和重复的任务。但是,程序员遇到了将代码复制粘贴到这些模型中、获取建议然后更新其代码库的问题。对于经常这样做的人来说,这个过程变得很烦人。

幸运的是,现在有解决这个问题的方法。让我向您介绍 Promptr,这是一个基于命令行的开源工具,允许程序员在不离开编辑器的情况下自动化他们的代码库。听起来很酷!右?如果您有兴趣了解有关此工具的工作原理、它提供的内容以及如何设置的更多信息?请坐下来放松一下,等我向你解释。

什么是提示器?

提示器是一个 CLI 工具,它使将 GPT 代码建议应用于代码库的过程变得更加容易。您可以重构代码,实现类以通过测试,试验LLM,执行调试和故障排除等,所有这些都只需一行代码即可完成。根据其官方文件:

“这对于 GPT4 最有效,因为它的上下文窗口更大,但 GPT3 对于较小的范围仍然有用。

此工具接受由空格分隔的多个参数,用于指定用于生成输出的模式、模板、提示和其他设置。

一般语法:

promptr  -m <mode> [options] <file1> <file2> <file3> ...

例如:

  • -m, --mode <mode>: 它指定要使用的模式(GPT-3 或 GPT-4)。默认模式为 GPT-3
  • -d, --dry-run: 当仅向模型发送提示但更改未反映在文件系统中时,它是一个可选标志。
  • -i, --交互式: 它启用交互模式并允许用户传递各种输入。
  • -p, --prompt <prompt>: 它是一种非交互模式,它可以是字符串或包含提示的 URL/路径

同样,您可以根据您的用例使用其 GitHub 存储库中提到的其他一些选项。现在,您可能想知道这一切是如何在引擎盖下发生的。所以,让我们来探讨一下。

提示器如何工作?

提示器如何工作?


图片来源:作者

您要做的第一件事是清洁您的工作区域并提交任何更改。然后,您需要编写一个带有明确说明的提示,就好像您正在向没有经验的同事解释任务一样。之后,指定您将随提示一起发送给 GPT 的上下文。请注意,提示是您对 GPT 的指示,而上下文是指 GPT 必须知道才能执行代码库操作的文件。例如

promptr -p "Cleanup the code in this file" index.js

这里的 index.js 指的是上下文,而“清理此文件中的代码”是您对 GPT 的提示。提示器会将其发送到 GPT 并等待响应,因为这可能需要一些时间。然后,GPT 生成的响应首先由提示器解析,然后将建议的更改应用于您的文件系统。就是这样!简单但非常有用的工具。

设置提示器以自动执行代码库

以下是在本地计算机上设置提示器的步骤:

要求

  • 节点.js v18 或更高版本
  • OpenAI Api Key

安装

打开终端或命令行窗口。通过运行以下任一命令(具体取决于您使用的包管理器)全局安装提示器:

npm

npm install -g @ifnotnowwhen/promptr

Yarn

yarn global add @ifnotnowwhen/promptr

您还可以通过将当前版本的二进制文件复制到您的路径来安装 Promptr,但目前仅 macOS 用户支持它。

安装完成后,您可以通过执行以下命令进行验证

promptr --version

设置 OpenAI API 密钥

您需要一个 OpenAI API 密钥才能使用提示器。如果您没有,您可以注册一个免费帐户以获得高达 18 美元的免费积分。

获得密钥后,您必须设置一个环境变量“OPENAI_API_KEY”。

对于 Mac 或 Linux:

export OPENAI_API_KEY=<your secret key>

对于视窗:

单击“编辑系统环境变量”以添加新变量“OPENAI_API_KEY”,并将其值设置为从 OpenAI 帐户收到的密钥。

结论

虽然它允许人们像维护文本文件一样对他们的代码执行操作,但这项技术仍处于早期阶段,并且有一些缺点。例如,如果 GPT 建议删除文件,则可能会丢失数据,因此建议在使用之前致力于您的重要工作。同样,有些人对使用OpenAI API的每代币成本表示担忧。尽管如此,我想知道当我们能够开发可以自我修复的软件时,还有多远。如果您想尝试一下,这里是官方 GitHub 存储库的链接 - 提示器。

原文链接:使用GPT 自动化您的代码库 (mvrlink.com)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/893777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RWKV系列2-RWKV-LM

训练数据集 https://data.deepai.org/enwik8.zip 使用分类参考 https://zhuanlan.zhihu.com/p/639629050 模型分类和使用任务 解码参数&#xff0c;推荐值&#xff1a; 小说和对话&#xff1a;temp 1.2 topp 0.5 或 temp 1.4 topp 0.4 或 temp 1.7 topp 0.3 或 temp 2 top…

Openlayers实战:移动鼠标至重叠几何图形上,获取多层所有features信息

在Openlayers的实际项目中,经常会出现在某个区域内有多个矢量层叠加的情况,这个时候点击内部一点,我们要获取到所有矢量层的信息。如果做到这一点呢,这个示例就演示了两个图层叠加,获取到全部信息的情形。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是…

Leetcode61 旋转链表

给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3] 示例2&#xff1a; 输入&#xff1a;head [0,1,2], k 4 输出&#xff1a;[2,0,1] …

材料行业可以转IC设计后端吗?

近来有许多材料行业的小伙伴通过后台来问我对于职业规划的看法&#xff0c;甚至有些小伙伴直接点明了某个行业适不适合自己&#xff0c;那么我这边仅以近年来比较热门的数字芯片设计来展开讲讲&#xff0c;材料适不适合转行做IC呢。 对于理工科的同学而言&#xff0c;选择哪个…

网络安全设备篇——加密机

加密机是一种专门用于数据加密和解密的网络安全设备。它通过使用密码学算法对数据进行加密&#xff0c;从而保护数据的机密性和完整性。加密机通常被用于保护敏感数据&#xff0c;如金融信息、个人身份信息等。 加密机的主要功能包括&#xff1a; 数据加密&#xff1a;加密机使…

药品最新研究信息查询系统

查找最新药物研究进展信息在患者治疗选择、医疗实践、科学研究、药物监管和政策制定、教育和学术研究等方面都具有重要的应用价值。它可以为各个领域的人员提供最新的科学依据和决策支持&#xff0c;促进医学领域的发展和提高医疗质量。 但在查找药物最新研究进展信息时通常需要…

【数据库服务网格】浅谈Database Mesh及未来

文章目录 前言1. 服务网格&#xff1a;Service Mesh服务网格优势 2. 数据库服务网格&#xff1a;Database Mesh3. 数据服务网格&#xff1a;Data Mesh 前言 Database Mesh&#xff0c;这一概念是由开源软件shardingsphere的作者张亮&#xff0c;最早于2018年提出的。其含义是D…

又双叒叕!五大数据库全方位注释,抗性宏基因组分析项目再次升级!

基于宏基因组测序的抗性基因分析是目前ARGs分析的重要手段&#xff0c;五大数据库全面注释分析&#xff0c;一网打尽ARGs、MRGs、BRGs、MGEs、致病菌注释。 项目报告不仅包含抗性基因的多样性、丰度和分布模式&#xff0c;还能获得包括抗性组变化驱动因素、指示基因识别、抗性组…

Java智慧工地系统源码(微服务+Java+Springcloud+Vue+MySQL)

智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台&#xff0c;是一种全新的管理模式&#xff0c;能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度&#xff0c;以及施工过程管理的进度、质量、安全三…

SpringCloud最新最全面试题

目录 一、简单说一说什么是微服务&#xff1f; 二、微服务有哪些优缺点&#xff1f; 三、微服务、分布式、集群的区别&#xff1f; 四、什么是Eureka&#xff1f; 五、Eureka有那两大组件&#xff1f; 六、actuator是什么&#xff1f; 七、Discovery是什么&#xff1f; …

4.1 C++ Boost 字符串处理库

Boost 库是一个由C/C语言的开发者创建并更新维护的开源类库&#xff0c;其提供了许多功能强大的程序库和工具&#xff0c;用于开发高质量、可移植、高效的C应用程序。Boost库可以作为标准C库的后备&#xff0c;通常被称为准标准库&#xff0c;是C标准化进程的重要开发引擎之一。…

docker 搭建 ElasticSearch

1、拉取镜像 docker pull elasticsearch:8.8.12、在机器本地新建文件夹并赋予权限 mkdir -p /home/elasticsearch/configmkdir -p /home/elasticsearch/datamkdir -p /home/elasticsearch/pluginschmod 777 /home/elasticsearch/configchmod 777 /home/elasticsearch/datachm…

全开放式耳机什么品牌好?全开放式耳机推荐

​在音乐的世界中&#xff0c;开放式耳机提供了更真实、更通透的音质体验&#xff0c;开放式耳机采用不入耳设计&#xff0c;佩戴更为稳固舒适&#xff0c;还允许外界的声音自由地流入&#xff0c;使你在享受音乐的同时&#xff0c;也能保持对周围环境的感知&#xff0c;户外运…

WebDriver API及对象识别技术

html页面的iframe的切换 定位到客户管理 新增客户 会无法定位到新增客户,因为在另外一个iframe框架之中。 iframe是html中的框架标签,表示文档中可以嵌入文档,或者说是浮动的框架。在selenium中iframe同样如此,如果驱动器对象处于当前iframe框架中,此时驱动器对象是…

商业计划书的写作

商业计划书是一份描述企业发展的文件&#xff0c;是企业经营者素质的体现&#xff0c;是企业拥有良好融资能力、实现跨越式发展的重要条件之一。一份好的商业计划书&#xff0c;是建立投资者、合作者、消费者信心的重要依据&#xff0c;获得、投资、合作的关键。 企业商业计划…

❤ Vue2完整项目进一步配置配置(二)

❤ Vue2完整项目进一步配置配置&#xff08;二&#xff09; &#xff08;1&#xff09;配置自定义端口号&#xff1a;9528 port: 9528, // 端口号autoOpenBrowser: true, //是否自动打开浏览器

《知识图谱互联互通白皮书》正式发布,合合信息携手电子标准院共同推动技术规范化发展

知识图谱是将各种数据和信息进行结构化处理后形成的一种“语义知识库”&#xff0c;也是人工智能的重要组成部分。 为助力知识图谱系统间的互联互通&#xff0c;推进知识要素的规范、有序和可靠流动&#xff0c;近期&#xff0c;中国电子技术标准化研究院依托知识图谱产业推进…

适用于Android™的Windows子系统Windows Subsystem fo r Android™Win11安装指南

文章目录 一、需求二、Windows Subsystem for Android™Win11简介三、安装教程1.查看BIOS是否开启虚拟化2.安装Hyper-V、虚拟机平台3.启动虚拟机管理程序(可选)4.安装适用于Android™的Windows子系统5.相关设置 一、需求 需要在电脑上进行网课APP&#xff08;无客户端只有App&…

零基础学Python,哪些入门知识必学?学习步骤是什么?

众所周知&#xff0c;Python以优雅、简洁著称&#xff0c;入行门槛低&#xff0c;可以从事Linux运维、Python Web网站工程师、Python自动化测试、数据分析、人工智能等职位&#xff0c;薪资待遇呈上涨趋势。很多人都想学习Python&#xff0c;那么零基础学Python应该学习哪些入门…

批次效应分析

写在前面 批次效应分析,在医学芯片研究中,使用不同芯片进行分析时常用的数据处理方式,但是很多同学处理后的数据,存在不满意的情况。因此,到处咨询,各种查教程。今天,使用简短的时间分享该数据处理教程。 最终分析结果 欢迎投稿 小杜一直在分享自己平时学习笔记,因此…