Project Icon

chattr

RStudio IDE集成的AI对话R包

chattr是一个集成于RStudio IDE的R语言包,为数据分析师和开发者提供与多种大型语言模型(LLM)交互的接口。支持OpenAI GPT、本地模型和GitHub Copilot等后端,通过Shiny Gadget应用或R脚本方式使用。该包专为探索性数据分析设计,具备代码快速复用、对话历史保存和灵活的提示设置功能。

chattr

R-CMD-检查 Codecov 测试覆盖率 CRAN 状态

简介

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 CopilotAI 配对程序员,在您编码时提供自动完成样式的建议与 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()

在深色模式 RStudio 主题中的 Shiny 小工具应用程序截图


LLM 完成响应后,chattr 应用程序会处理所有 markdown 代码块。它将放置三个便捷按钮:

  • 复制到剪贴板 - 将代码块内的代码写入剪贴板。

  • 复制到文档 - 将代码直接复制粘贴到应用程序调用的位置。如果在处理脚本时启动应用程序,chattr 会将代码复制到该脚本中。

  • 复制到新脚本 - 在 RStudio IDE 中创建一个新的 R 脚本,并将代码块的内容直接复制到其中。当 LLM 为您编写 Shiny 应用程序时非常有用。

为了使应用程序的外观尽可能接近 IDE,我们付出了很多努力。这样它就能更好地融入您的工作空间。这包括根据当前 RStudio 主题是浅色还是深色来切换配色方案。 可以通过点击"齿轮"按钮来访问设置界面。 打开的界面将包含以下内容:

  • 保存和打开聊天记录 - 这是一项早期实验,允许我们保存和检索过去的聊天记录。chattr将以RDS格式保存文件。这个功能的主要目的是查看过去的聊天记录,而不是与LLM继续之前的对话。

  • 提示设置 - 在此部分,您可以更改附加到提示中的额外信息。包括发送给LLM的最大数据文件数和数据框数量。

Shiny小工具选项的截图

其他交互方式

除了Shiny应用程序外,chattr还提供了另外两种与LLM交互的方式。详情请参见:其他接口

工作原理

chattr通过添加额外的指令、当前环境中数据框的名称和结构、工作目录中数据文件的路径来丰富您的请求。如果模型支持,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

    显示选择快捷键后界面外观的截图

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号