codekingpro/portable-devtools
114k
1from __future__ import annotations2 3from typing import Any, Dict4 5from langchain_community.llms.openai import BaseOpenAI6from langchain_community.utils.openai import is_openai_v17 8 9class OpenLLM(BaseOpenAI):10 """OpenAI's compatible API client for OpenLLM server11 12 .. versionchanged:: 0.2.1113 14 Changed in 0.2.11 to support OpenLLM 0.6. Now behaves similar to OpenAI wrapper.15 """16 17 @classmethod18 def is_lc_serializable(cls) -> bool:19 return False20 21 @property22 def _invocation_params(self) -> Dict[str, Any]:23 """Get the parameters used to invoke the model."""24 25 params: Dict[str, Any] = {26 "model": self.model_name,27 **self._default_params,28 "logit_bias": None,29 }30 if not is_openai_v1():31 params.update(32 {33 "api_key": self.openai_api_key,34 "api_base": self.openai_api_base,35 }36 )37 38 return params39 40 @property41 def _llm_type(self) -> str:42 return "openllm"43 