Models Module#
- class isek.models.base.Model(id: str, name: str | None = None, provider: str | None = None)[source]#
Bases:
ABC
Ultra-simplified abstract base model class.
- abstractmethod async ainvoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Async invoke the model with messages.
- Parameters:
messages -- List of messages to send to the model
**kwargs -- Additional arguments
- Returns:
Raw response from the model
- async aresponse(messages: List[SimpleMessage], **kwargs) SimpleModelResponse [source]#
Generate an async response from the model.
- Parameters:
messages -- List of messages to send to the model
**kwargs -- Additional arguments
- Returns:
Parsed model response
- abstractmethod invoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Invoke the model with messages.
- Parameters:
messages -- List of messages to send to the model
**kwargs -- Additional arguments
- Returns:
Raw response from the model
- abstractmethod parse_provider_response(response: Any, **kwargs) SimpleModelResponse [source]#
Parse the raw response from the model provider.
- Parameters:
response -- Raw response from the model provider
**kwargs -- Additional arguments
- Returns:
Parsed model response
- response(messages: List[SimpleMessage], **kwargs) SimpleModelResponse [source]#
Generate a response from the model.
- Parameters:
messages -- List of messages to send to the model
**kwargs -- Additional arguments including: - tools: List of tool schemas for the model - toolkits: List of actual toolkits for execution
- Returns:
Parsed model response
- class isek.models.base.SimpleMessage(role: str, content: str | None = None, name: str | None = None, tool_call_id: str | None = None, tool_calls: list | None = None)[source]#
Bases:
object
Ultra-simplified message model.
- class isek.models.base.SimpleModel(id: str, name: str | None = None, provider: str | None = None)[source]#
Bases:
Model
Simple model implementation for testing.
- async ainvoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Simple async mock implementation.
- invoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Simple mock implementation.
- parse_provider_response(response: Any, **kwargs) SimpleModelResponse [source]#
Parse the mock response.
- class isek.models.base.SimpleModelResponse(content: str | None = None, role: str | None = None, tool_calls: List[Dict[str, Any]] | None = None, extra: Dict[str, Any] | None = None)[source]#
Bases:
object
Ultra-simplified model response.
- class isek.models.simpleModel.SimpleModel(model_id: str = 'simple-model')[source]#
Bases:
Model
Simple model implementation for testing that echoes user messages.
- async ainvoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Simple async mock implementation.
- invoke(messages: List[SimpleMessage], **kwargs) Any [source]#
Simple mock implementation.
- parse_provider_response(response: Any, **kwargs) SimpleModelResponse [source]#
Parse the mock response.
- class isek.models.openai.OpenAIModel(model_id: str | None = None, api_key: str | None = None, base_url: str | None = None)[source]#
Bases:
Model
Ultra-simplified OpenAI model implementation.
- async ainvoke(messages: List[SimpleMessage], **kwargs: Any) ChatCompletion [source]#
Async invoke the OpenAI model.
- Parameters:
messages -- List of messages to send
**kwargs -- Additional arguments for the API call
- Returns:
Raw ChatCompletion response
- invoke(messages: List[SimpleMessage], **kwargs: Any) ChatCompletion [source]#
Invoke the OpenAI model.
- Parameters:
messages -- List of messages to send
**kwargs -- Additional arguments for the API call
- Returns:
Raw ChatCompletion response
- parse_provider_response(response: ChatCompletion, **kwargs: Any) SimpleModelResponse [source]#
Parse the OpenAI response.
- Parameters:
response -- Raw ChatCompletion response
**kwargs -- Additional arguments
- Returns:
Parsed SimpleModelResponse
- class isek.models.litellm.LiteLLMModel(provider: str | None = None, model_id: str | None = None, api_key: str | None = None, base_url: str | None = None)[source]#
Bases:
Model
Ultra-simplified LiteLLM model implementation.
- async ainvoke(messages: List[SimpleMessage], **kwargs: Any) Any [source]#
Async invoke the LiteLLM model.
- Parameters:
messages -- List of messages to send
**kwargs -- Additional arguments for the API call
- Returns:
Raw ModelResponse
- invoke(messages: List[SimpleMessage], **kwargs: Any) Any [source]#
Invoke the LiteLLM model.
- Parameters:
messages -- List of messages to send
**kwargs -- Additional arguments for the API call
- Returns:
Raw ModelResponse
- parse_provider_response(response: Any, **kwargs: Any) SimpleModelResponse [source]#
Parse the LiteLLM response.
- Parameters:
response -- Raw ModelResponse
**kwargs -- Additional arguments
- Returns:
Parsed SimpleModelResponse