Models
Camel.models.openai model
OpenAIModel
OpenAI API in a unified BaseModelBackend interface.
Parameters:
- model_type (Union[ModelType, str]): Model for which a backend is created, one of GPT_* series.
- model_config_dict (Optional[Dict[str, Any]], optional): A dictionary that will be fed into:obj:
openai.ChatCompletion.create()
. If :obj:None
, :obj:ChatGPTConfig().as_dict()
will be used. (default: :obj:None
) - api_key (Optional[str], optional): The API key for authenticating with the OpenAI service. (default: :obj:
None
) - url (Optional[str], optional): The url to the OpenAI service. (default: :obj:
None
) - token_counter (Optional[BaseTokenCounter], optional): Token counter to use for the model. If not provided, :obj:
OpenAITokenCounter
will be used. (default: :obj:None
) - timeout (Optional[float], optional): The timeout value in seconds for API calls. If not provided, will fall back to the MODEL_TIMEOUT environment variable or default to 180 seconds. (default: :obj:
None
)
init
_sanitize_config
Sanitize the model configuration for O1 models.
_adapt_messages_for_o1_models
Adjust message roles to comply with O1 model requirements by converting ‘system’ or ‘developer’ to ‘user’ role.
Parameters:
- messages (List[OpenAIMessage]): Message list with the chat history in OpenAI API format.
Returns:
processed_messages (List[OpenAIMessage]): Return a new list of messages to avoid mutating input.
token_counter
Returns:
BaseTokenCounter: The token counter following the model’s tokenization style.
_run
Runs inference of OpenAI chat completion.
Parameters:
- messages (List[OpenAIMessage]): Message list with the chat history in OpenAI API format.
- response_format (Optional[Type[BaseModel]]): The format of the response.
- tools (Optional[List[Dict[str, Any]]]): The schema of the tools to use for the request.
Returns:
Union[ChatCompletion, Stream[ChatCompletionChunk]]:
ChatCompletion
in the non-stream mode, or
Stream[ChatCompletionChunk]
in the stream mode.
_request_chat_completion
_request_parse
check_model_config
stream
Returns:
bool: Whether the model is in stream mode.