開源位址: https://github.com/evilpan/gptcli
前兩天 OpenAI 公開了
gpt-3.5-turbo
的接口,于是想着能不能用指令行實作一個簡單的版本。一方面是對于程式員而言指令行非常常用,另一方面也是因為 Web 版本的比較難部署,需要額外的伺服器。
于是周末撸了兩天,先是實作了一個簡單的版本,可以請求 OpenAI api 并擷取結果,然後把結果用 markdown 在終端上渲染出來。後來網友建議加上流式的輸出,于是又調研了以下,發現确實可以實作。不過這期間有個小坑就是 openai 的流式 api 使用了
aiohttp
這個庫,這個庫本身支援 HTTP/HTTPS proxy,但是不支援 socks,是以後來通過一個三方的拓展去間接改造了以下。
總而言之,目前支援的功能如下:
- 流式輸出
- Markdown/代碼高亮
- 支援對話上下文
- 支援科學通路 api.openat.com
- 支援輸入多行(通過
指令)<
一些内置的指令:
Input: help
options:
< 輸入多行
reset 清空會話,删除上下文
help 幫助
exit 退出
實作效果: https://asciinema.org/a/564585
ChatGPT 指令行版本
彩蛋:
開源位址: https://github.com/evilpan/gptcli