与Rstudio中的人工智能聊天

chattr 它是允许与大语言模型(LLM)互动的软件包,例如Github Copilot Chat和OpenAI GPT 3.5和4。主汽车是在Rstudio IDE中使用的光泽应用程序。以下是一个示例,它在观看者的一部分中起作用:


与Rstudio中的人工智能聊天

图1: chattr词汇表应用程序

虽然这篇文章强调了 chattr与Rstudio IDE的集成,应注意,它在Rstudio之外工作,例如站点。

开始

首先,安装cran包,然后使用 chattr_app() 工作:

# Install from CRAN
install.packages("chattr")

# Run the app
chattr::chattr_app()

#> ── chattr - Available models 
#> Select the number of the model you would like to use:
#>
#> 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) 
#>
#>
#> Selection:
>

指定要与您进行交互的表单后,将打开应用程序。以下屏幕截图提供了可以与应用程序一起使用的不同按钮和键盘快捷键的概述:


Shiny Chattr应用程序上部的屏幕快照。该图像包含许多箭头,这些箭头突出了不同的按钮,例如设置,将它们复制到防腐剂,然后将其复制到新文本

图2: chattr用户界面

您可以开始在应用程序左上方的主文本框中写下请求。然后通过单击“发送”按钮或单击shift+enter来发送问题。

chattr 混合LLM输出,并在零件内显示符号。它还将三个按钮放在每件的顶部。一个是将代码复制到端口,另一个将其直接复制到rstudio中的活动文本程序,另一个将代码复制到新的文本程序。要关闭应用程序,请按“逃生”键。

“设置”按钮上的压力将打开聊天会话。这些可以适当地更改。作为问题的一部分,“重复”文本框是发送给LLM的附加文本。


Shiny Chattr应用程序的屏幕快照。它显示索赔,最大数据帧,最大数据文件和选择框

图3: chattr用户界面页面 – 设置

个人准备

chattr 我将尝试选择您拥有的表单,并且仅包括选择菜单中的表单。对于Copilot和Openai,
chattr 它确认有一个真实性符号可在列表中显示。例如,如果您只有OpenAI的设置,则该索赔将如下出现:

chattr::chattr_app()
#> ── chattr - Available models 
#> Select the number of the model you would like to use:
#>
#> 2: OpenAI - Chat Completions - gpt-3.5-turbo (gpt35) 
#>
#> 3: OpenAI - Chat Completions - gpt-4 (gpt4) 
#>
#> Selection:
>

如果要避免菜单,请使用 chattr_use() 工作。以下是任命GPT 4为默认值的示例:

library(chattr)
chattr_use("gpt4")
chattr_app()

您还可以通过设置文件选择表单 CHATTR_USE 环境变量。

高级分配

可以自定义与LLM互动的许多方面。为此,请使用 chattr_defaults() 工作。提出了此功能,并发送给LLM的额外索赔,并确定将要使用的表格,是否将聊天日期发送到LLM以及特定的调解员。

例如,您可能需要更改每个响应的最大符号数量,在OpenAI中,您可以使用以下方式:

# Default for max_tokens is 1,000
library(chattr)
chattr_use("gpt4")
chattr_defaults(model_arguments = list("max_tokens" = 100))
#> 
#> ── chattr ──────────────────────────────────────────────────────────────────────
#> 
#> ── Defaults for: Default ──
#> 
#> ── Prompt:
#> • {{readLines(system.file('prompt/base.txt', package = 'chattr'))}}
#> 
#> ── Model
#> • Provider: OpenAI - Chat Completions
#> • Path/URL: https://api.openai.com/v1/chat/completions
#> • Model: gpt-4
#> • Label: GPT 4 (OpenAI)
#> 
#> ── Model Arguments:
#> • max_tokens: 100
#> • temperature: 0.01
#> • stream: TRUE
#> 
#> ── Context:
#> Max Data Files: 0
#> Max Data Frames: 0
#> ✔ Chat History
#> ✖ Document contents

如果要继续对假设进行更改,请使用 chattr_defaults_save()
工作。默认情况下,这将创建一个名为“ chattr.yml”的YAML文件。如果您存在,
chattr 该文件将用于下载所有假设,包括指定模型。

此功能的更全面描述可在 chattr 在快速改进的修改中的网站

超越应用程序

除了光滑的应用程序, chattr 它以其他两种方式与LLM进行互动:

  • 使用 chattr() 工作
  • 主张在您的文本程序中是一个问题,并将其用作声称
> chattr("how do I remove the legend from a ggplot?")
#> You can remove the legend from a ggplot by adding 
#> `theme(legend.position = "none")` to your ggplot code. 

一篇更详细的文章可在 chattr 这里的网站。

rstudio添加剂

chattr 它带有两个rstudio其他功能:


Rstudio中Addins Chattr的屏幕截图

图4: chattr 其他功能

您可以将这些附加的呼叫连接到键盘快捷键,这使得无需每次编写问题就可以轻松打开应用程序。要了解如何执行此操作,请参阅“键盘快捷键”部分
chattr 官方网站。

它与本地LLM一起使用

提供开源和训练有素的型号,今天可以在笔记本电脑上进行操作。而不是分别与每个模型合并,而是 chattr
它可以使用 llamagptj-cat。这是一个轻巧的应用程序,可与各种本地模型进行通信。目前,llamagptj-cat与以下家庭的模型集成在一起:

  • GPT-J (GGML和GPT4ALL模型)
  • 喇嘛 (META的GGML Vicuna模型)
  • 前 – 摩萨克摩西变压器(MPT)

Llamagptj-cat直接在车站外工作。 chattr 通过启动“隐藏”终端会话,它与应用程序集成在一起。有指定模型的准备,并可以开始与之聊天。

首先,您需要安装llamagptj-cat,然后下载兼容的表格。此处可以找到更多详细的说明。

chattr 寻找聊天llamagptj,以及设备中特定文件夹位置上安装的表单。如果您的安装轨道与预期站点不匹配 chattr, 然后 llamagpt 它不会出现在列表中。但这很好,你仍然可以达到 chattr_use()

library(chattr)
chattr_use(
  "llamagpt",   
  path = "[path to compiled program]",
  model = "[path to model]"
  )
#> 
#> ── chattr
#> • Provider: LlamaGPT
#> • Path/URL: [path to compiled program]
#> • Model: [path to model]
#> • Label: GPT4ALL 1.3 (LlamaGPT)

拉紧 chattr

chattr 它旨在添加它以添加新的LLM应用程序编程外墙。 chattr
包含两个组件,用户界面(光泽应用程序和
chattr() 功能)和被拒绝的背景(GPT,副驾驶,Llamagpt)。除了直接直接添加后接口,您无需直接添加它 chattr。如果您是包装开发人员,并且想从中受益 chattr 用户界面,您要做的就是确定 ch_submit() 包裹的方法。

引言要求 ch_submit() 我们是:

  • 作为最终回报值,请从其合并的模型中发送完整响应 chattr

  • 如果广播(stream 他是 TRUE),当电流输出发生时。通常通过 cat() 打电话。

以下是一个简单的游戏,它显示了如何创建专门的方法
chattr

library(chattr)
ch_submit.ch_my_llm <- function(defaults,
                                prompt = NULL,
                                stream = NULL,
                                prompt_build = TRUE,
                                preview = FALSE,
                                ...) {
  # Use `prompt_build` to prepend the prompt
  if(prompt_build) prompt <- paste0("Use the tidyverse\n", prompt)
  # If `preview` is true, return the resulting prompt back
  if(preview) return(prompt)
  llm_response <- paste0("You said this: \n", prompt)
  if(stream) {
    cat(">> Streaming:\n")
    for(i in seq_len(nchar(llm_response))) {
      # If `stream` is true, make sure to `cat()` the current output
      cat(substr(llm_response, i, i))
      Sys.sleep(0.1)
    }
  }
  # Make sure to return the entire output from the LLM at the end
  llm_response
}

chattr_defaults("console", provider = "my llm")
#>
chattr("hello")
#> >> Streaming:
#> You said this: 
#> Use the tidyverse
#> hello
chattr("I can use it right from RStudio", prompt_build = FALSE)
#> >> Streaming:
#> You said this: 
#> I can use it right from RStudio

有关更多详细信息,请访问工作的工作页面,请链接此处。

反应,欢迎

经过经验,请不要毫不犹豫地介绍您的想法或问题
chattrGaytap仓库。

Source link

Similar Posts