class OpenAICompatibleModel(BaseModelBackend):
openai.ChatCompletion.create()
. If :obj:None
, :obj:{}
will be used. (default: :obj:None
)OpenAITokenCounter( ModelType.GPT_4O_MINI)
will be used. (default: :obj:None
)None
)3
) **kwargs (Any): Additional arguments to pass to the OpenAI client initialization. These can include parameters like ‘organization’, ‘default_headers’, ‘http_client’, etc.def __init__(
self,
model_type: Union[ModelType, str],
model_config_dict: Optional[Dict[str, Any]] = None,
api_key: Optional[str] = None,
url: Optional[str] = None,
token_counter: Optional[BaseTokenCounter] = None,
timeout: Optional[float] = None,
max_retries: int = 3,
**kwargs: Any
):
def _run(
self,
messages: List[OpenAIMessage],
response_format: Optional[Type[BaseModel]] = None,
tools: Optional[List[Dict[str, Any]]] = None
):
ChatCompletion
in the non-stream mode, or
Stream[ChatCompletionChunk]
in the stream mode.
ChatCompletionStreamManager[BaseModel]
for
structured output streaming.
def _request_chat_completion(
self,
messages: List[OpenAIMessage],
tools: Optional[List[Dict[str, Any]]] = None
):
def _request_parse(
self,
messages: List[OpenAIMessage],
response_format: Type[BaseModel],
tools: Optional[List[Dict[str, Any]]] = None
):
def _request_stream_parse(
self,
messages: List[OpenAIMessage],
response_format: Type[BaseModel],
tools: Optional[List[Dict[str, Any]]] = None
):
def token_counter(self):
def stream(self):
def check_model_config(self):