Skip to contents

Core internal functions for interacting with OpenAI's Responses API. These are typically not called directly by users; instead use the higher-level functions like [openai_with_tools()] or the artwork analysis functions.

Usage

openai_responses(
  msgs,
  ml = NULL,
  temp = 1,
  json_schema = NULL,
  resp_fmt = NULL,
  timeout = 60,
  tools = NULL,
  store = FALSE,
  prev_resp_id = NULL,
  max_tokens = NULL
)

..api_openai_key()

.get_openai_cfg()

.normalize_responses_messages(msgs)

.extract_responses_content(parsed)

.make_request_with_retry(make_request, max_retries = 2)

.validate_response(resp)

Arguments

msgs

List. Messages in OpenAI format with `role` ("user", "system", "assistant") and `content` (text or multipart for images). Built automatically by higher-level functions.

ml

Character. Model ID to use (e.g., "gpt-5.1", "gpt-4o"). If NULL (default), uses `ART_OPENAI_MODEL` env var. See README for available models.

temp

Numeric. Temperature setting (0-2). Lower values produce deterministic output; higher values produce varied responses. Default 1.

json_schema

List. JSON schema for structured output. When provided, response is validated against this schema. Use for reliable structured data extraction.

resp_fmt

List. Response format specification for JSON mode. Use `list(type = "json_object")` for unstructured JSON output.

timeout

Numeric. Request timeout in seconds. Default 60. Increase for complex queries or slow networks.

tools

List. Tools to enable (e.g., web_search). Created with tool helper functions.

store

Logical. Whether to store conversation for continuation. When TRUE, the response can be continued with `prev_resp_id`. Default FALSE.

prev_resp_id

Character. ID of previous response to continue. Enables multi-turn conversations without resending history. Obtain from previous response.

max_tokens

Numeric. Maximum output token cap for the Responses API. If NULL, uses `ART_OPENAI_MAX_OUTPUT_TOKENS` (default 4096). Increase for longer outputs, decrease for cost control.

Functions

  • openai_responses(): Low-level OpenAI Responses API call

  • ..api_openai_key(): get openai api key

  • .get_openai_cfg(): get openai configuration

  • .normalize_responses_messages(): [TODO]

  • .extract_responses_content(): Helper to extract content from Responses API response

  • .make_request_with_retry(): Helper for request retry logic

  • .validate_response(): Helper to validate HTTP response