命令行版 ChatGPT,支持代码高亮,流式输出

开源地址: 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 命令行版本

彩蛋:
命令行版 ChatGPT,支持代码高亮,流式输出_第1张图片

开源地址: https://github.com/evilpan/gptcli

你可能感兴趣的:(随笔,chatgpt,python,命令行)