Type: | Package |
Title: | Interface to 'ChatGPT' from R |
Version: | 0.2.3 |
Maintainer: | Juan Cruz Rodriguez <jcrodriguez@unc.edu.ar> |
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 |
Packaged: | 2023-05-05 15:07:13 UTC; jcrodriguez |
Author: | Juan Cruz Rodriguez [aut, cre] |
Repository: | CRAN |
Date/Publication: | 2023-05-05 23:00:06 UTC |
'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 jcrodriguez@unc.edu.ar
See Also
Useful links:
Report bugs at https://github.com/jcrodriguez1989/chatgpt/issues
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()