Skip to contents

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

Usage

BaseAPIProcessor$new(provider_name)

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

Returns

Raw API response


Method extract_response_content()

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.