V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HsuanLee
V2EX  ›  程序员

一个基于 GPT-3 小玩具,根据输入生成标准的 commit 消息

  •  
  •   HsuanLee ·
    hsuanxyz · 2023-02-13 17:19:28 +08:00 · 2088 次点击
    这是一个创建于 650 天前的主题,其中的信息可能已经有所发展或是发生改变。

    周末写了个小玩具,让 AI 帮你生成(翻译 ) 标准的 commit 信息。

    Github : https://github.com/hsuanxyz/commit-gpt

    在线使用: https://commit.hsuan.xyz

    15 条回复    2023-02-14 09:45:17 +08:00
    kerb15
        1
    kerb15  
       2023-02-13 17:42:55 +08:00   ❤️ 1
    没懂,是翻译?
    zsljava
        2
    zsljava  
       2023-02-13 17:45:21 +08:00
    还不错哦,就是速度太慢了

    > 增加用户修改数据权限
    ✔ The GPT provides the following suggestions (click to copy to clipboard)

    feat(permission): change user data permission
    docs(permission): update docs related to user data permission change
    test(permission): add tests for user data permission changes
    refactor(permission): refactor permission logic related to user data permission changes
    style(permission): update style of permission logic related to user data permission changes
    chore(permission): update dependency related to user data permission changes
    LittleYangYang
        3
    LittleYangYang  
       2023-02-13 17:45:32 +08:00
    感觉思路不错,star 了

    有两个小问题,
    一个是光标左移困难,退格键删除汉字的时候需要点击两次
    还有一个是不能一次生成多行 commit 信息,比如同时有 add 和 fix 的时候好像没法放在一起生成?
    huang82
        4
    huang82  
       2023-02-13 17:49:09 +08:00
    好东西
    HsuanLee
        5
    HsuanLee  
    OP
       2023-02-13 17:51:03 +08:00
    @kerb15 有翻译的作用,主要目的是生成 https://www.conventionalcommits.org/ 规范的格式
    EastLord
        6
    EastLord  
       2023-02-13 18:02:11 +08:00
    我以为是根据要提交的代码来生成提交信息
    Zizpop
        7
    Zizpop  
       2023-02-13 18:02:14 +08:00
    能做成`curl cheat.sh/curl` 这样通过命令行获取的就更棒了,
    `curl commit.hsuan.xyz/支持上传用户头像`
    Rehtt
        8
    Rehtt  
       2023-02-13 18:06:18 +08:00 via Android
    请问这个实现的原理是什么,向 gpt 发送了什么内容
    Zizpop
        9
    Zizpop  
       2023-02-13 18:23:34 +08:00
    curl -X POST https://commit.hsuan.xyz/api/commit -H 'Content-Type: application/json' -d '{ "message": "支持上传用户头像" }' | jq -r '.text' | jq -C

    完成命令行了, 就是参数有点多
    HsuanLee
        10
    HsuanLee  
    OP
       2023-02-13 18:32:25 +08:00
    @Rehtt prompt 可以在仓库里看 https://github.com/hsuanxyz/commit-gpt/blob/main/pages/api/commit.ts#L18

    根据我的尝试,让它完成代码可以得到比较稳定的可序列化数据,比如

    ```
    # Python

    """
    生成 10 个随机数,用 List 保存
    """
    answer=
    ```
    sparklee
        11
    sparklee  
       2023-02-13 18:44:29 +08:00
    可以收集本地的文件变更生成对应的 commit 信息吗
    HsuanLee
        12
    HsuanLee  
    OP
       2023-02-13 18:53:57 +08:00 via iPhone
    @sparklee 批处理的话有更好的 prompt ,这段不适合,不过你可以参考一下这个仓库的。
    HsuanLee
        13
    HsuanLee  
    OP
       2023-02-13 19:45:48 +08:00
    @sparklee 抱歉,刚才理解错成了通过本地 log 生成,这重新回答一下。

    关于这个问题可以参考这篇贴的讨论 https://news.ycombinator.com/item?id=33947087
    zcf0508
        14
    zcf0508  
       2023-02-14 09:29:34 +08:00   ❤️ 1
    Vitta
        15
    Vitta  
       2023-02-14 09:45:17 +08:00
    👍🏻
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   886 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:27 · PVG 04:27 · LAX 12:27 · JFK 15:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.