Rawdog
一个通过生成和自动执行Python脚本来响应的CLI助手。
https://github.com/AbanteAI/rawdog/assets/50287275/1417a927-58c1-424f-90a8-e8e63875dcda
你会惊讶于它的实用性:
- "我的主目录中有多少文件夹是git仓库?" ... "按磁盘大小绘制它们的图表。"
- "给我这个目录中所有csv文件的pd.describe()结果"
- "当前活跃的端口有哪些?" ... "哪些是Google的?" ... "请取消这些。"
Rawdog(递归增强确定性输出生成)是RAG(检索增强生成)的一种新颖替代方案。Rawdog可以通过运行脚本来打印内容,将输出添加到对话中,然后再次调用自身来自主选择上下文。
这适用于以下任务:
- "按照README中的说明设置仓库"
- "查看所有这些csv文件,告诉我它们是否可以合并,为什么。"
- "再试一次。"
请谨慎行事。显然,如果被指示,这可能会造成伤害。
快速开始
-
使用pip安装rawdog:
pip install rawdog-ai
-
导出你的API密钥。查看模型选择了解如何使用其他提供商
export OPENAI_API_KEY=你的api密钥
-
选择交互模式。
直接模式:执行单个提示并关闭
rawdog 绘制当前工作目录中所有文件和目录的大小图表
对话模式:启动来回对话,直到你关闭。Rawdog可以看到其脚本和输出。
rawdog >>> 我能为你做什么?(按Ctrl-C退出) >>> > |
可选参数
--leash
:(默认False)在执行前打印并手动批准每个脚本。--retries
:(默认2)如果rawdog的脚本出错,查看错误并重试。
模型选择
Rawdog使用litellm
进行补全,默认模型为'gpt-4-turbo-preview'。你可以通过修改~/.rawdog/config.yaml
来调整模型或指向其他提供商。一些例子:
要使用gpt-3.5 turbo,最小配置如下:
llm_model: gpt-3.5-turbo
要在本地使用ollama运行mixtral,最小配置如下(假设你已安装ollama并有足够的GPU):
llm_custom_provider: ollama
llm_model: mixtral
要运行claude-2.1,设置你的API密钥:
export ANTHROPIC_API_KEY=你的api密钥
然后设置你的配置:
llm_model: claude-2.1
如果你有一个在本地端点运行的模型(或出于其他原因想要更改baseurl),你可以设置llm_base_url
。例如,如果你有一个在http://localhost:8000运行的openai兼容端点,你可以将配置设置为:
llm_base_url: http://localhost:8000
llm_model: openai/model # 让litellm知道这是一个openai兼容端点
Litellm支持大量提供商,包括Azure、VertexAi和Huggingface。有关其他提供商需要使用的环境变量、模型名称和llm_custom_providers的详细信息,请参阅他们的文档。