19个版本
0.2.11 | 2024年6月22日 |
---|---|
0.2.9 | 2024年6月19日 |
0.2.6 | 2024年5月26日 |
0.2.1 | 2023年9月27日 |
0.1.2 | 2023年5月28日 |
#91 in 机器学习
每月76次下载
350KB
988 行
Chat Gipity
Chat Gipity是一个ChatGPT的命令行客户端。它允许您在终端中使用选择的ChatGPT模型进行聊天,甚至可以将输出管道输入其中。默认模型是GPT-4。
例如,如果您想调试无法编译的Rust程序,并希望ChatGPT深入解释错误,您可以将输出通过Chat Gipity管道,以帮助您进行调试,如下所示,这将直接使用构建错误输出作为提示
cargo build 2>&1 | cgip
这将产生类似以下内容
❯ cargo build 2>&1 | cgip 'give me a short summary of the kind of error this is'
The error you're encountering is a **lifetime error** in Rust, specifically an issue with **borrowed values not living long enough**.
**borrowed values not living long enough**.
另一种用法是从文件中读取。在这个例子中,我们从文件中读取并要求ChatGPT将该文件转换为另一种编程语言
"convert this to python" -f src/main.rs
安装
chat-gipity设计用于在符合POSIX的系统上运行,根据您的系统,您有多种安装发布版本的选择。所有系统都应该能够从源代码或从cargo安装,但还有homebrew tap以及附加到GitHub发布的debian包。
使用cargo从crates.io安装
cargo install cgip
通过homebrew安装
如果您没有tap,可以使用以下命令添加:
brew tap divanvisagie/homebrew-tap
使用brew安装cgip
brew install cgip
手动安装
下载此仓库,然后使用以下命令安装cgip
命令:
sudo make install
设置API密钥
接下来,通过将其导出为OPENAI_API_KEY
来设置您的OpenAI密钥
export OPENAI_API_KEY=your_key_here
现在,您可以向cgip
管道数据。如果您正在调试,请记住使用2>&1
将stderr
转换为stdout
,因为它只能读取stdin
。
会话管理
《session》功能允许进行持续的聊天会话管理和shell集成。要在终端中启用会话缓存,您需要提供环境变量《CGIP_SESSION_NAME》。您的会话的唯一性取决于该变量的值。
这可以通过在您的《.bashrc》或《.zshrc》中为cgip生成一个会话ID来实现。
export CGIP_SESSION_NAME=$(uuid)
用户可以控制他们的会话的独特性,例如,要为每个新终端打开创建一个新的会话,您可以使用《uuid》。
export CGIP_SESSION_NAME=$(uuid)
但是,如果您想要会话在多个终端之间工作,您可能需要使用日期作为会话ID。
export CGIP_SESSION_NAME=$(date -I)
这种实现允许用户决定他们想要如何管理会话,并允许他们根据需要具有复杂的会话管理功能,而不会使cgip功能繁杂。
会话子命令使用方法
《session》子命令提供了管理当前会话上下文的选项,您可以使用它来查看或清除会话,这在上下文变得过长或LLM被上下文搞混时可能很有用。
开发环境搭建
Ubuntu
在Ubuntu上,需要一些额外的包来构建deb包。
sudo apt-get install build-essential dh-make debhelper devscripts
依赖项
~22-37MB
~487K SLoC