Package 'chatgpt'

Title: Interface to 'ChatGPT' from R
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.
Authors: Juan Cruz Rodriguez [aut, cre]
Maintainer: Juan Cruz Rodriguez <[email protected]>
License: GPL (>= 3)
Version: 0.2.3
Built: 2024-07-23 05:55:38 UTC
Source: CRAN

Help Index


'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.

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.

Author(s)

Maintainer: Juan Cruz Rodriguez [email protected]

See Also

Useful links:


Ask ChatGPT

Description

Note: See also 'reset_chat_session'.

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)

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.

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)

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)

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)

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.

Examples

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

## End(Not run)

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)

ChatGPT: Explain Code

Description

ChatGPT: Explain Code

Usage

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

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)

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)

Get GPT Completions Endpoint

Description

Get GPT Completions Endpoint

Usage

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

Arguments

prompt

The prompt to generate completions for.

openai_api_key

OpenAI's API key.

messages

Available variable, to send the needed messages list to ChatGPT.


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)

Parse OpenAI API Response

Description

Takes the raw response from the OpenAI API and extracts the text content from it.

Usage

parse_response(raw_responses)

Arguments

raw_responses

The raw response object returned by the OpenAI API.

Value

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


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)

Reset Chat Session

Description

This function is intended to be used with 'ask_chatgpt'. If we are using 'ask_chatgpt' to chat with ChatGPT, and we want to start a new conversation, we must call 'reset_chat_session'.

Usage

reset_chat_session(system_role = "You are a helpful assistant.")

Arguments

system_role

ChatGPT's role as an AI assistant.


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.


Ask ChatGPT

Description

Opens an interactive chat session with ChatGPT

Usage

run_addin_ask_chatgpt()