Base API Processor Class
Base API Processor Class
provider_name
Name of the API provider
logger
Unified logger instance
base_url
Custom base URL for API endpoints
new()
Initialize the base API processor
BaseAPIProcessor$new(provider_name, base_url = NULL)
provider_name
Name of the API provider (e.g., "openai", "anthropic")
base_url
Optional custom base URL for API endpoints
process_request()
Main entry point for processing API requests
BaseAPIProcessor$process_request(prompt, model, api_key)
prompt
Input prompt text
model
Model identifier
api_key
API 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_content
Content for this chunk
model
Model identifier
api_key
API 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)
response
Raw API response
model
Model identifier
Extracted text content Validate input parameters
clone()
The objects of this class are cloneable with this method.
BaseAPIProcessor$clone(deep = FALSE)
deep
Whether 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.