Learn R Programming

mLLMCelltype (version 1.3.2)

BaseAPIProcessor: Base API Processor Class

Description

Base API Processor Class

Base API Processor Class

Arguments

Public fields

provider_name

Name of the API provider

logger

Unified logger instance

base_url

Custom base URL for API endpoints

Methods


Method new()

Initialize the base API processor

Usage

BaseAPIProcessor$new(provider_name, base_url = NULL)

Arguments

provider_name

Name of the API provider (e.g., "openai", "anthropic")

base_url

Optional custom base URL for API endpoints


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 get_api_url()

Get the API URL to use for requests

Usage

BaseAPIProcessor$get_api_url()

Returns

API URL string


Method get_default_api_url()

Abstract method to be implemented by subclasses for getting default API URL

Usage

BaseAPIProcessor$get_default_api_url()

Returns

Default API URL string


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.

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.