0% found this document useful (0 votes)
75 views10 pages

Chatgpt

This document describes the 'chatgpt' R package which provides an interface to interact with OpenAI's ChatGPT AI assistant from R. The package contains functions that allow a user to ask ChatGPT questions, have ChatGPT complete or comment on code, generate unit tests, optimize code, and more to assist with coding tasks in R. It aims to help R developers with tedious coding work.

Uploaded by

Sisyphus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views10 pages

Chatgpt

This document describes the 'chatgpt' R package which provides an interface to interact with OpenAI's ChatGPT AI assistant from R. The package contains functions that allow a user to ask ChatGPT questions, have ChatGPT complete or comment on code, generate unit tests, optimize code, and more to assist with coding tasks in R. It aims to help R developers with tedious coding work.

Uploaded by

Sisyphus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Package ‘chatgpt’

March 22, 2023


Type Package
Title Interface to 'ChatGPT' from R
Version 0.2.2
Maintainer Juan Cruz Rodriguez <[email protected]>
Description
'OpenAI's 'ChatGPT' <https://chat.openai.com/> coding assistant for 'RStudio'. A set
of functions and 'RStudio' addins that aim to help the R developer in tedious coding tasks.
License GPL (>= 3)

URL https://github.com/jcrodriguez1989/chatgpt

BugReports https://github.com/jcrodriguez1989/chatgpt/issues
Encoding UTF-8
RoxygenNote 7.2.3
Imports clipr, httr, jsonlite, miniUI, rstudioapi, shiny, utils
NeedsCompilation no
Author Juan Cruz Rodriguez [aut, cre]
Repository CRAN
Date/Publication 2023-03-22 11:30:05 UTC

R topics documented:
ask_chatgpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
comment_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
complete_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
create_unit_tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
create_variable_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
document_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
explain_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
find_issues_in_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
gpt_get_completions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
optimize_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1
2 comment_code

parse_response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
refactor_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
run_addin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
run_addin_ask_chatgpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Index 10

ask_chatgpt Ask ChatGPT

Description
Ask ChatGPT

Usage
ask_chatgpt(question)

Arguments
question The question to ask ChatGPT.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(ask_chatgpt("What do you think about R language?"))

## End(Not run)

comment_code ChatGPT: Comment Code

Description
ChatGPT: Comment Code

Usage
comment_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code to be commented by ChatGPT. If not provided, it will use what’s
copied on the clipboard.
complete_code 3

Value

A character value with the response generated by ChatGPT.

Examples

## Not run:
cat(comment_code("for (i in 1:10) {\n print(i ** 2)\n}"))

## End(Not run)

complete_code ChatGPT: Complete Code

Description

ChatGPT: Complete Code

Usage

complete_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments

code The code to be completed by ChatGPT. If not provided, it will use what’s copied
on the clipboard.

Value

A character value with the response generated by ChatGPT.

Examples

## Not run:
cat(complete_code("# A function to square each element of a vector\nsquare_each <- function("))

## End(Not run)
4 create_variable_name

create_unit_tests ChatGPT: Create Unit Tests

Description
Create ‘testthat‘ test cases for the code.

Usage
create_unit_tests(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code for which to create unit tests by ChatGPT. If not provided, it will use
what’s copied on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(create_unit_tests("squared_numbers <- function(numbers) {\n numbers ^ 2\n}"))

## End(Not run)

create_variable_name ChatGPT: Create Variable Name

Description
ChatGPT: Create Variable Name

Usage
create_variable_name(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code for which to give a variable name to its result. If not provided, it will
use what’s copied on the clipboard.

Value
A character value with the response generated by ChatGPT.
document_code 5

Examples
## Not run:
cat(create_variable_name("sapply(1:10, function(i) i ** 2)"))

## End(Not run)

document_code ChatGPT: Document Code (in roxygen2 format)

Description
ChatGPT: Document Code (in roxygen2 format)

Usage
document_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code to be documented by ChatGPT. If not provided, it will use what’s
copied on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(document_code("square_numbers <- function(numbers) numbers ** 2"))

## End(Not run)

explain_code ChatGPT: Explain Code

Description
ChatGPT: Explain Code

Usage
explain_code(code = clipr::read_clip(allow_non_interactive = TRUE))
6 find_issues_in_code

Arguments
code The code to be explained by ChatGPT. If not provided, it will use what’s copied
on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(explain_code("for (i in 1:10) {\n print(i ** 2)\n}"))

## End(Not run)

find_issues_in_code ChatGPT: Find Issues in Code

Description
ChatGPT: Find Issues in Code

Usage
find_issues_in_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code to be analyzed by ChatGPT. If not provided, it will use what’s copied
on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(find_issues_in_code("i <- 0\nwhile (i < 0) {\n i <- i - 1\n}"))

## End(Not run)
gpt_get_completions 7

gpt_get_completions Get GPT Completions Endpoint

Description
Get GPT Completions Endpoint

Usage
gpt_get_completions(prompt, openai_api_key = Sys.getenv("OPENAI_API_KEY"))

Arguments
prompt The prompt to generate completions for.
openai_api_key OpenAI’s API key.

optimize_code ChatGPT: Optimize Code

Description
ChatGPT: Optimize Code

Usage
optimize_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code to be optimized by ChatGPT. If not provided, it will use what’s copied
on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(optimize_code("i <- 10\nwhile (i > 0) {\n i <- i - 1\n print(i)\n}"))

## End(Not run)
8 refactor_code

parse_response Parse OpenAI API Response

Description
Takes the raw response from the OpenAI API and extracts the text content from it. This function is
currently designed to differentiate between gpt-3.5-turbo and others.

Usage
parse_response(raw_response)

Arguments
raw_response The raw response object returned by the OpenAI API.

Value
Returns a character vector containing the text content of the response.

refactor_code ChatGPT: Refactor Code

Description
ChatGPT: Refactor Code

Usage
refactor_code(code = clipr::read_clip(allow_non_interactive = TRUE))

Arguments
code The code to be refactored by ChatGPT. If not provided, it will use what’s copied
on the clipboard.

Value
A character value with the response generated by ChatGPT.

Examples
## Not run:
cat(refactor_code("i <- 10\nwhile (i > 0) {\n i <- i - 1\n print(i)\n}"))

## End(Not run)
run_addin 9

run_addin Run a ChatGPT RStudio Addin

Description
Run a ChatGPT RStudio Addin

Usage
run_addin(addin_name)

Arguments
addin_name The name of the adding to execute.

run_addin_ask_chatgpt Ask ChatGPT

Description
Opens an interactive chat session with ChatGPT

Usage
run_addin_ask_chatgpt()
Index

ask_chatgpt, 2

comment_code, 2
complete_code, 3
create_unit_tests, 4
create_variable_name, 4

document_code, 5

explain_code, 5

find_issues_in_code, 6

gpt_get_completions, 7

optimize_code, 7

parse_response, 8

refactor_code, 8
run_addin, 9
run_addin_ask_chatgpt, 9

10

You might also like