chattr

chattr

RStudio IDE集成的AI对话R包

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

chattrR包LLMRStudioAPIGithub开源项目

chattr

<!-- badges: start -->

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

<!-- badges: end --> <!-- toc: start --> <!-- toc: end -->

简介

chattr 是一个用于与大型语言模型(LLMs)交互的接口。它使您能够直接在 RStudio IDE 中与模型进行交互。chattr 允许您从脚本中向 LLM 提交提示,或使用提供的 Shiny 小工具。

该软件包的主要目标是辅助探索性数据分析(EDA)任务。附加到您请求中的额外信息提供了一种"护栏",确保模型的响应中使用了我们通常推荐的最佳实践包和技术。

安装

由于这是软件包的早期版本,请从 GitHub 安装:

remotes::install_github("mlverse/chattr")

可用模型

chattr 主要提供两种 LLM 后端的集成。每个后端提供对多种 LLM 类型的访问。随着时间的推移,计划添加更多后端:

<table style="width:100%;"> <colgroup> <col style="width: 28%" /> <col style="width: 46%" /> <col style="width: 24%" /> </colgroup> <thead> <tr class="header"> <th style="text-align: center;">提供商</th> <th style="text-align: center;">模型</th> <th style="text-align: center;">设置说明</th> </tr> </thead> <tbody> <tr class="odd"> <td style="text-align: center;">OpenAI</td> <td style="text-align: center;">通过 OpenAI 的 REST API 访问的 GPT 模型。`chattr` 提供了一种便捷的方式与 GPT 4 和 3.5 交互。</td> <td style="text-align: center;"><a href="https://mlverse.github.io/chattr/articles/openai-gpt.html">与 OpenAI GPT 模型交互</a></td> </tr> <tr class="even"> <td style="text-align: center;"><a href="https://github.com/kuvaus/LlamaGPTJ-chat">LLamaGPT-Chat</a></td> <td style="text-align: center;">您计算机上可用的 LLM 模型,包括 GPT-J、LLaMA 和 MPT。在 <a href="https://gpt4all.io/index.html">GPT4ALL</a> 模型上进行了测试。<strong>LLamaGPT-Chat</strong> 是一个用 C++ 编写的命令行聊天程序,用于模型交互。</td> <td style="text-align: center;"><a href="https://mlverse.github.io/chattr/articles/backend-llamagpt.html">与本地模型交互</a></td> </tr> <tr class="odd"> <td style="text-align: center;"><a href="https://docs.posit.co/ide/user/ide/guide/tools/copilot.html">GitHub Copilot</a></td> <td style="text-align: center;">AI 配对程序员,在您编码时提供自动完成样式的建议</td> <td style="text-align: center;"><a href="https://mlverse.github.io/chattr/articles/copilot-chat.html">与 GitHub Copilot Chat 交互</a></td> </tr> <tr class="even"> <td style="text-align: center;"><a href="https://docs.databricks.com/en/machine-learning/foundation-models/index.html#databricks-foundation-model-apis">Databricks</a></td> <td style="text-align: center;">通过 <a href="https://docs.databricks.com/en/machine-learning/foundation-models/index.html#pay-per-token-foundation-model-apis">Databricks 基础模型 REST API</a> 访问 DBRX、Meta Llama 3 70B 和 Mixtral 8x7B。</td> <td style="text-align: center;"><a href="https://mlverse.github.io/chattr/articles/backend-databricks.html">与 Databricks 基础聊天模型交互</a></td> </tr> </tbody> </table>

使用方法

应用程序

使用 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 小工具应用程序截图

<br>

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"。如果您不熟悉如何分配键盘快捷键,请参阅下一节。

如何设置键盘快捷键

  • 在顶部菜单中选择"工具",然后选择"修改键盘快捷键"

    <img src="https://yellow-cdn.veclightyear.com/835a84d5/523ded5e-1978-412a-9fd9-a3d4f45fc3d1.png" width="700" alt="显示在哪里找到修改键盘快捷键选项的截图" />

  • 通过在搜索框中输入"open chat"来搜索chattr插件

    <img src="https://yellow-cdn.veclightyear.com/835a84d5/32f8eaae-e979-4d8c-a882-40aa3b6692b5.png" width="500" alt="显示在哪里输入插件搜索的截图" />

  • 要为快捷键选择按键组合,点击"快捷键"框,然后在键盘上按下按键组合。在我的例子中,我选择了Ctrl+Shift+C

    <img src="https://yellow-cdn.veclightyear.com/835a84d5/d17217b2-849a-4cf3-a925-58b4a504bb86.png" width="500" alt="显示选择快捷键后界面外观的截图" />

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多