OllamaClient

OllamaClient(**kwargs)

Client for Ollama’s API.

Note that no api_key or environment variable is required for Ollama.

Parameters:
NameDescription
**kwargs

Class Attributes

TOOL_CALL_MANUAL_INSTRUCTION



TOOL_CALL_MANUAL_STEP1



TOOL_CALL_MANUAL_STEP2



create



Static Methods

get_usage

get_usage(response) -> dict

Return usage summary of the response using RESPONSE_USAGE_KEYS.

Parameters:
NameDescription
response

Instance Methods

cost

cost(self, response) -> float
Parameters:
NameDescription
response

message_retrieval

message_retrieval(self, response) -> list

Retrieve and return a list of strings or a list of Choice.Message from the response.

NOTE: if a list of Choice.Message is returned, it currently needs to contain the fields of OpenAI’s ChatCompletion Message object, since that is expected for function or tool calling in the rest of the codebase at the moment, unless a custom agent is being used.

Parameters:
NameDescription
response

oai_messages_to_ollama_messages

oai_messages_to_ollama_messages(
    self,
    messages: list[dict[str, Any]],
    tools: list
) -> list[dict[str, typing.Any]]

Convert messages from OAI format to Ollama’s format. We correct for any specific role orders and types, and convert tools to messages (as Ollama can’t use tool messages)

Parameters:
NameDescription
messagesType: list[dict[str, Any]]
toolsType: list

parse_params

parse_params(self, params: dict[str, Any]) -> dict[str, typing.Any]

Loads the parameters for Ollama API from the passed in parameters and returns a validated set. Checks types, ranges, and sets defaults

Parameters:
NameDescription
paramsType: dict[str, Any]