Base API Processor Class
Base API Processor Class
Details
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.
Public fields
provider_name
Name of the API provider
logger
Unified logger instance
Methods
Method new()
Initialize the base API processor
Arguments
provider_name
Name of the API provider (e.g., "openai", "anthropic")
Method process_request()
Main entry point for processing API requests
Usage
BaseAPIProcessor$process_request(prompt, model, api_key)
Arguments
prompt
Input prompt text
model
Model identifier
api_key
API key for authentication
Returns
Processed response as character vector
Method make_api_call()
Abstract method to be implemented by subclasses for making the actual API call
Usage
BaseAPIProcessor$make_api_call(chunk_content, model, api_key)
Arguments
chunk_content
Content for this chunk
model
Model identifier
api_key
API key
Abstract method to be implemented by subclasses for extracting content from response
Usage
BaseAPIProcessor$extract_response_content(response, model)
Arguments
response
Raw API response
model
Model identifier
Returns
Extracted text content
Validate input parameters
Method clone()
The objects of this class are cloneable with this method.
Usage
BaseAPIProcessor$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.