chattr
简介
chattr
是一个用于与大型语言模型(LLMs)交互的接口。它使您能够直接在 RStudio IDE 中与模型进行交互。chattr
允许您从脚本中向 LLM 提交提示,或使用提供的 Shiny 小工具。
该软件包的主要目标是辅助探索性数据分析(EDA)任务。附加到您请求中的额外信息提供了一种"护栏",确保模型的响应中使用了我们通常推荐的最佳实践包和技术。
安装
由于这是软件包的早期版本,请从 GitHub 安装:
remotes::install_github("mlverse/chattr")
可用模型
chattr
主要提供两种 LLM 后端的集成。每个后端提供对多种 LLM 类型的访问。随着时间的推移,计划添加更多后端:
提供商 | 模型 | 设置说明 |
---|---|---|
OpenAI | 通过 OpenAI 的 REST API 访问的 GPT 模型。`chattr` 提供了一种便捷的方式与 GPT 4 和 3.5 交互。 | 与 OpenAI GPT 模型交互 |
LLamaGPT-Chat | 您计算机上可用的 LLM 模型,包括 GPT-J、LLaMA 和 MPT。在 GPT4ALL 模型上进行了测试。LLamaGPT-Chat 是一个用 C++ 编写的命令行聊天程序,用于模型交互。 | 与本地模型交互 |
GitHub Copilot | AI 配对程序员,在您编码时提供自动完成样式的建议 | 与 GitHub Copilot Chat 交互 |
Databricks | 通过 Databricks 基础模型 REST API 访问 DBRX、Meta Llama 3 70B 和 Mixtral 8x7B。 | 与 Databricks 基础聊天模型交互 |
使用方法
应用程序
使用 chattr
的主要方式是通过 Shiny 小工具应用程序。默认情况下,在 RStudio 中,应用程序将在查看器窗格内运行。chattr
会提示您选择要使用的模型后端。实际模型列表将取决于您已设置的模型。如果未找到模型设置,将返回错误。如果收到错误,请参阅上一节了解如何在您的机器上设置模型后端。以下是选择提示的示例:
chattr::chattr_app()
#> ── chattr - 可用模型
#>
#> 1: GitHub - Copilot Chat - (copilot)
#> 2: OpenAI - Chat Completions - gpt-3.5-turbo (gpt35)
#> 3: OpenAI - Chat Completions - gpt-4 (gpt4)
#> 4: LlamaGPT - ~/ggml-gpt4all-j-v1.3-groovy.bin (llamagpt)
#>
#> 请选择您要使用的模型编号:
此提示仅在首次调用 chattr_app()
或 chattr()
时出现。如果关闭应用程序并再次打开,应用程序将使用您最初选择的模型。该选择在您的 R 会话期间保持不变,除非您手动更改。请注意,如果 chattr
无法找到 OpenAI 的设置,那么这些选项将不会在您的实际提示中显示。
如果您希望避免交互式提示,可以在调用应用程序之前使用 chattr_use()
指定要使用的模型。您还可以使用 chattr_use()
在 R 会话期间更改与之交互的模型后端:
chattr_use("gpt35")
chattr_app()
LLM 完成响应后,chattr
应用程序会处理所有 markdown 代码块。它将放置三个便捷按钮:
-
复制到剪贴板 - 将代码块内的代码写入剪贴板。
-
复制到文档 - 将代码直接复制粘贴到应用程序调用的位置。如果在处理脚本时启动应用程序,
chattr
会将代码复制到该脚本中。 -
复制到新脚本 - 在 RStudio IDE 中创建一个新的 R 脚本,并将代码块的内容直接复制到其中。当 LLM 为您编写 Shiny 应用程序时非常有用。
为了使应用程序的外观尽可能接近 IDE,我们付出了很多努力。这样它就能更好地融入您的工作空间。这包括根据当前 RStudio 主题是浅色还是深色来切换配色方案。 可以通过点击"齿轮"按钮来访问设置界面。 打开的界面将包含以下内容:
-
保存和打开聊天记录 - 这是一项早期实验,允许我们保存和检索过去的聊天记录。
chattr
将以RDS格式保存文件。这个功能的主要目的是查看过去的聊天记录,而不是与LLM继续之前的对话。 -
提示设置 - 在此部分,您可以更改附加到提示中的额外信息。包括发送给LLM的最大数据文件数和数据框数量。
其他交互方式
除了Shiny应用程序外,chattr
还提供了另外两种与LLM交互的方式。详情请参见:其他接口
工作原理
chattr
通过添加额外的指令、当前环境中数据框的名称和结构、工作目录中数据文件的路径来丰富您的请求。如果模型支持,chattr
还会包含当前的聊天历史。
要查看chattr
将发送给模型的内容,请将preview
参数设置为TRUE
:
library(chattr)
data(mtcars)
data(iris)
chattr_use("gpt4")
#>
#> ── chattr
#> • 提供商:OpenAI - 聊天补全
#> • 路径/URL:https://api.openai.com/v1/chat/completions
#> • 模型:gpt-4
#> • 标签:GPT 4 (OpenAI)
chattr(preview = TRUE)
#>
#> ── chattr ──────────────────────────────────────────────────────────────────────
#>
#> ── 预览:控制台
#> • 提供商:OpenAI - 聊天补全
#> • 路径/URL:https://api.openai.com/v1/chat/completions
#> • 模型:gpt-4
#> • 标签:GPT 4 (OpenAI)
#> • 温度:0.01
#> • 最大令牌数:1000
#> • 流式输出:TRUE
#>
#> ── 提示:
#> 角色:系统
#> 内容:您是一个有帮助的编码助手
#> 角色:用户
#> 内容:
#> * 使用'Tidy Modeling with R'(https://www.tmwr.org/)作为主要参考
#> * 使用'R for Data Science'(https://r4ds.had.co.nz/)作为主要参考
#> * 使用tidyverse包:readr、ggplot2、dplyr、tidyr
#> * 对于模型,使用tidymodels包:recipes、parsnip、yardstick、workflows、broom
#> * 除非用户要求,否则避免解释,只期望代码
#> * 对于任何非代码行,以#作为前缀
#> * 将每行解释保持在不超过80个字符
#> * 不要对代码使用Markdown
#> [您未来的提示将在这里]
键盘快捷键
访问chattr
应用程序的最佳方式是为其设置键盘快捷键。该包包含一个RStudio插件,可以直接访问应用程序,从而允许为插件分配键盘快捷键。插件的名称是:"Open Chat"。如果您不熟悉如何分配键盘快捷键,请参阅下一节。
如何设置键盘快捷键
-
在顶部菜单中选择"工具",然后选择"修改键盘快捷键"
-
通过在搜索框中输入"open chat"来搜索
chattr
插件 -
要为快捷键选择按键组合,点击"快捷键"框,然后在键盘上按下按键组合。在我的例子中,我选择了Ctrl+Shift+C