Base API Processor Class
Base API Processor Class
provider_nameName of the API provider
loggerUnified logger instance
base_urlCustom base URL for API endpoints
new()Initialize the base API processor
BaseAPIProcessor$new(provider_name, base_url = NULL)provider_nameName of the API provider (e.g., "openai", "anthropic")
base_urlOptional custom base URL for API endpoints
process_request()Main entry point for processing API requests
BaseAPIProcessor$process_request(prompt, model, api_key)promptInput prompt text
modelModel identifier
api_keyAPI key for authentication
Processed response as character vector
get_api_url()Get the API URL to use for requests
BaseAPIProcessor$get_api_url()API URL string
get_default_api_url()Abstract method to be implemented by subclasses for getting default API URL
BaseAPIProcessor$get_default_api_url()Default API URL string
make_api_call()Abstract method to be implemented by subclasses for making the actual API call
BaseAPIProcessor$make_api_call(chunk_content, model, api_key)chunk_contentContent for this chunk
modelModel identifier
api_keyAPI key
Raw API response
extract_response_content()Abstract method to be implemented by subclasses for extracting content from response
BaseAPIProcessor$extract_response_content(response, model)responseRaw API response
modelModel identifier
Extracted text content Validate input parameters
clone()The objects of this class are cloneable with this method.
BaseAPIProcessor$clone(deep = FALSE)deepWhether to make a deep clone.
Abstract base class for API processors that provides common functionality including unified logging, error handling, input processing, and response validation. This eliminates code duplication across all provider-specific processors.