Adapters
ractogateway.adapters — LLM Provider Adapters.
Implements the Adapter Design Pattern to normalize API differences across LLM providers. Each adapter translates tool schemas, handles request formatting, and standardizes response parsing.
- class ractogateway.adapters.BaseLLMAdapter(model, *, api_key=None, **kwargs)[source]
Bases:
ABCAbstract base class that every provider adapter must implement.
- Parameters:
- abstractmethod async arun(prompt, user_message, *, tools=None, temperature=0.0, max_tokens=4096, **kwargs)[source]
Async variant of
run().- Return type:
- class ractogateway.adapters.FinishReason(*values)[source]
-
Why the model stopped generating.
- CONTENT_FILTER = 'content_filter'
- ERROR = 'error'
- LENGTH = 'length'
- STOP = 'stop'
- TOOL_CALL = 'tool_call'
- class ractogateway.adapters.LLMResponse(**data)[source]
Bases:
BaseModelUnified, provider-agnostic response envelope.
Every adapter’s
run()method returns one of these, regardless of whether the underlying provider is OpenAI, Gemini, or Anthropic.- finish_reason: FinishReason
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- tool_calls: list[ToolCallResult]