owned this note changed a year ago
Linked with GitHub

生成式 AI CodeGPT 開發經驗談 / 吳柏毅 (appleboy)

歡迎來到 Modern Web 2023 共筆 :mega:
共筆入口:https://hackmd.io/@ModernWeb/2023
手機版請點選上方 按鈕展開議程列表。

共筆請從這開始

CodeGPT: 開發者自行開發的工具,可以產生 commit message
github appleboy/CodeGPT
https://github.com/appleboy/CodeGPT

發哥內部功能組織
AIDE = AI + DE + PA
data engineering + process automation

開發者必備生成式AI工具

chatGPT
GitHub Copilot

因為chatGPT出現,導致Stack overflow回答趨於減少

開發動機

  1. 個人需求
    想用工具就不用自己再寫commit message
  2. 團隊需求 (安全性)
    導入issue
  • 使用環境不同
  • 連線安全顧慮
    -> 做一個 api gateway 串到 azure/ openAI,避免公司不直接連線到 azure/openAI,所有流量都要經過 api gateway,可以用 log 紀錄。

簡單的問題 GPT-3.5 就夠用
code review 的話可能要用到 GPT-4

專案介紹

linux 專案,用 Homebrew 安裝
選擇 Golang 解決公司內部太多不同環境安裝的問題?
公司太多人,也許 3/4 寫 c++,所以不懂 docker。無法用 docker 代替

git add <file>
codegpt commit --preview

問題1: 可以支援convention commit嗎?

  1. generate description:把 diff 內容全部塞出來
  2. generate title:把第一階段的 description 再喂回去,找一個合適的 title
  3. generate type:找到合適的type

問題2: 支援commit message format

  1. 變數化prefix, title, message
  2. 讓tempalte可客製化

問題3: incorrect commit summary format
function call (11/6 前舊名稱)
限縮回答範圍
tools/ tool choice(11/6 後新名稱)

擴大範圍(落地後) 到其他部門 (~1w人)

其他部門格式可能要求更多,例如列出 issue ticket

Authorization Flow

有計費問題,會有疑慮,所以要把關 token
後來限制每人的 token count

api gateway 會接到 crowd service(用戶認證)

  1. send token & userId
  2. check user
    不一定每個用戶都有用所有model的權限

CLI 如何拿到 User ID (X-User-ID)

情境:不會每個人都有獨立的 open api key
CLI 串接 Gitea 的 OAuth2

  1. cli open browser
  2. Gitea return account and password
    敲完帳號密碼後他就會回傳給你你的token到某個檔案下

final 流程

cli => gitea => cli => proxy => api gateway => crowd service => api gateway => openapi provider

實際操作

聊天區

個子太矮,坐後面好難看到投影片
ai 相關的議程人都爆滿
ai 正夯
沒人回答stackoverflow,那要餵什麼資料給ai XD

^^幫忙加上標點

不懂你的意思,現在這兩套都是直接去抓stackoverflow資料塞給 LLM 訓練出來的啊?
對啊,那以後都沒人回答,不就沒資料可塞
也許未來程式專家的回答是可以賣錢的

建議去看專案內的 promot,應該可以在 chatgpt 上重現,只是要整合到開發工具比較麻煩。

快2000的token

問一下,這場講師有提供投影片嗎?

https://modernweb.tw/2023/session-page/2428

Select a repo