| from langchain.chat_models import ChatOpenAI | |
| from environs import Env | |
| import typing | |
| def load_open_ai_llm(model_loading_kwargs: typing.Optional[dict] = None) -> ChatOpenAI: | |
| """Load the openai language model | |
| Args: | |
| model_loading_kwargs (typing.Optional[dict], optional): Keyword arguments for loading the model. | |
| These are passed to the ChatOpenAI class. Defaults to None. | |
| Returns: | |
| ChatOpenAI: ChatOpenAI language model | |
| """ | |
| env = Env() | |
| env.read_env() | |
| openai_api_key = env.str("OPENAI_API_KEY") | |
| openai_organization = env.str("OPENAI_ORGANIZATION") | |
| # Create the default model kwargs | |
| default_model_kwargs = dict( | |
| model_name="gpt-3.5-turbo", | |
| temperature=0.0, | |
| openai_api_key=openai_api_key, | |
| openai_organization=openai_organization, | |
| ) | |
| # Update the default model kwargs with the provided model loading kwargs | |
| if model_loading_kwargs: | |
| default_model_kwargs.update(model_loading_kwargs) | |
| # Load the model | |
| openai_llm = ChatOpenAI(**default_model_kwargs) | |
| return openai_llm | |