clara.agent package
Submodules
clara.agent.open_router module
OpenRouter Integration and Agent Orchestration Module.
This module provides the OpenRouterClient and helper classes to
communicate with the OpenRouter API for large language model inference,
streaming responses, prompt formatting, and multi-turn agent interactions.
- class clara.agent.open_router.Message(role, content, name=None)[source]
Bases:
objectRepresents a single chat message in a conversation thread.
- Parameters:
role (str)
content (str)
name (str | None)
- role
The role of the message author (e.g., ‘system’, ‘user’).
- Type:
str
- content
The textual content of the message.
- Type:
str
- name
Optional author name or function name.
- Type:
Optional[str]
- class clara.agent.open_router.ModelResponse(content, model, raw_response=None, usage=None)[source]
Bases:
objectStructured response container from OpenRouter completion calls.
- Parameters:
content (str)
model (str)
raw_response (Dict[str, Any] | None)
usage (Dict[str, Any] | None)
- content
The primary generated text response from the model.
- Type:
str
- model
The model identifier that fulfilled the request.
- Type:
str
- raw_response
Full JSON response dictionary.
- Type:
Dict[str, Any]
- usage
Token usage metrics for the call.
- Type:
Dict[str, Any]
- class clara.agent.open_router.OpenRouterClient(api_key=None, default_model=None, base_url=None, site_url=None, site_name=None, timeout=60.0)[source]
Bases:
objectClient for querying LLM models through the OpenRouter unified API.
Handles authentication, payload construction, retry logic, tool specifications, and completions.
- Parameters:
api_key (str | None)
default_model (str | None)
base_url (str | None)
site_url (str | None)
site_name (str | None)
timeout (float)
- api_key
OpenRouter API bearer token.
- Type:
str
- default_model
Default LLM model identifier.
- Type:
str
- base_url
OpenRouter API base endpoint URL.
- Type:
str
- site_url
Optional app URL for OpenRouter rankings.
- Type:
Optional[str]
- site_name
Optional app title for OpenRouter rankings.
- Type:
Optional[str]
Example
>>> client = OpenRouterClient(api_key="sk-or-v1-...") >>> response = client.generate_completion( ... messages=[{"role": "user", "content": "Hello, Clara!"}], ... model="openai/gpt-4o" ... ) >>> print(response.content)
- DEFAULT_BASE_URL: str = 'https://openrouter.ai/api/v1'
- DEFAULT_MODEL: str = 'openai/gpt-4o-mini'
- generate_completion(messages, model=None, temperature=0.7, max_tokens=None, tools=None, **kwargs)[source]
Sends a synchronous chat completion request to OpenRouter.
- Parameters:
messages (List[Dict[str, Any] | Message]) – Sequence of message turns representing history.
model (str | None) – Model identifier override.
temperature (float) – Sampling temperature between 0.0 and 2.0.
max_tokens (int | None) – Maximum number of completion tokens to generate.
tools (List[Dict[str, Any]] | None) – Optional tool/function definitions.
**kwargs (Any) – Additional parameters for OpenRouter API.
- Returns:
Parsed model response.
- Return type:
- Raises:
RuntimeError – If the HTTP request fails.
- async a_generate_completion(messages, model=None, temperature=0.7, max_tokens=None, tools=None, **kwargs)[source]
Asynchronously sends a chat completion request to OpenRouter.
- Parameters:
messages (List[Dict[str, Any] | Message]) – Sequence of message turns representing history.
model (str | None) – Model identifier override.
temperature (float) – Sampling temperature.
max_tokens (int | None) – Maximum tokens to generate.
tools (List[Dict[str, Any]] | None) – Optional tool definitions.
**kwargs (Any) – Extra parameters for OpenRouter payload.
- Returns:
Parsed model response.
- Return type:
- Raises:
RuntimeError – If the HTTP request fails.
Module contents
Agent orchestration and LLM provider interfaces for Clara Core.
This subpackage contains modules responsible for interacting with large language models, orchestrating agent reasoning steps, managing conversation context, and handling external model providers such as OpenRouter.