4 个版本 (2 个破坏性更改)
0.4.0 | 2024 年 5 月 29 日 |
---|---|
0.3.1 | 2024 年 5 月 14 日 |
0.3.0 | 2024 年 2 月 5 日 |
0.2.0 | 2024 年 1 月 29 日 |
#1490 在 命令行工具
每月 281 次下载
22KB
312 行
pipe-gpt
直接从命令行将内容传输到 gpt。这是一个具有许多可能性的概念。
通过 cargo 安装 cargo install pipe-gpt
,通过 cargo build --release
在本地构建,或从版本页面下载。
请注意,您需要一个 OpenAI API 密钥。
设置 open api 密钥环境变量
- 在 Linux 上:
export OPENAI_API_KEY=sk-12345abc
- 在 Windows PowerShell 中:
$env:OPENAI_API_KEY = 'sk-12345abc'
用例
本地命令行使用
tail-30 /var/httpd.log|pipe-gpt--p"我在 http 日志文件中应该修复什么?"
cat main.rs|pipe-gpt-p"你会如何改进这段代码?请在注释中包含行号,这样我可以知道你的意思。"
cat main.rs|pipe-gpt-p"这段代码是否已准备好投入生产?如果是,请回复“是”。如果不是,请简要解释原因。"
cat file.json|pipe-gpt-p"将此 JSON 转换为 YAML" >file.yaml
cat french.txt|pipe-gpt-p"请将其翻译成英文。"
gitdiff --staged | pipe-gpt -p "审查此代码更改"
cat src/main.rs|pipe-gpt-p"改进代码并只输出替换代码,因为我将直接将输出管道传输回文件,无需解释,只需纯代码即可" >src/main.new.rs
pipe-gpt 用于本地开发
user@computer:/GitHub/pipe-gpt$ cat src/main.rs | pipe-gpt -p "how would you improve this code? include line numbers in your comments so I can tell where you mean"
Here are some suggestions to improve your code:
1. Line 2, 3: You can combine these two lines into one as follows:
`use openai_api_rust::{*, chat::*};`
2. Line 6-16: You can simplify the creation of `conversation_messages` by using a `Vec::new()` and then pushing messages as needed. This way, you avoid creating an unnecessary `Message` when `prepend` is empty.
3. Line 18-19: Instead of using `unwrap()`, it's better to handle the error properly. You can use `?` to propagate the error up.
4. Line 20-33: You can create a function to initialize `ChatBody` to make the code cleaner.
5. Line 35-38: Instead of using `unwrap()`, it's better to handle the error properly. You can use `match` to handle the possible `None` case.
pipe-gpt 用于 CI
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
- name: GPT Code Review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: pwd && find . -path './target' -prune -o -name '*.rs' -exec echo {} \; -exec cat {} \; | ./target/debug/pipe-gpt -p "how would you improve this code? include line numbers in your comments so I can tell where you mean"
这在Github Actions CI中产生以下输出:
路线图
- 优雅的API限速
- 秘密和配置文件
- 加载自定义提示作为短参数
- 命名空间的角色/提示
- 减少依赖
贡献
如果您想为代码库做出贡献,请参阅CONTRIBUTE.md
有用链接
依赖
~12–26MB
~394K SLoC