class_docstr: Reference: https://platform.openai.com/docs/api-reference/chat/create
  
  The class `OpenAIConfig` provides configuration for the OpenAI's Chat API interface. Below are the parameters:
  
  - `frequency_penalty` (number or null): Defaults to 0. Allows a value between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, thereby minimizing repetition.
  
  - `function_call` (string or object): This optional parameter controls how the model calls functions.
  
  - `functions` (array): An optional parameter. It is a list of functions for which the model may generate JSON inputs.
  
  - `logit_bias` (map): This optional parameter modifies the likelihood of specified tokens appearing in the completion.
  
  - `max_tokens` (integer or null): This optional parameter helps to set the maximum number of tokens to generate in the chat completion.
  
  - `n` (integer or null): This optional parameter helps to set how many chat completion choices to generate for each input message.
  
  - `presence_penalty` (number or null): Defaults to 0. It penalizes new tokens based on if they appear in the text so far, hence increasing the model's likelihood to talk about new topics.
  
  - `stop` (string / array / null): Specifies up to 4 sequences where the API will stop generating further tokens.
  
  - `temperature` (number or null): Defines the sampling temperature to use, varying between 0 and 2.
  
  - `top_p` (number or null): An alternative to sampling with temperature, used for nucleus sampling.
class_docstr_tok: ["Reference",":","https",":","\/\/platform.openai.com\/docs\/api-reference\/chat\/create","The","class","`","OpenAIConfig","`","provides","configuration","for","the","OpenAI","'s","Chat","API","interface",".","Below","are","the","parameters",":","-","`","frequency_penalty","`","(","number","or","null",")",":","Defaults","to","0",".","Allows","a","value","between","-2.0","and","2.0",".","Positive","values","penalize","new","tokens","based","on","their","existing","frequency","in","the","text","so","far",",","thereby","minimizing","repetition",".","-","`","function_call","`","(","string","or","object",")",":","This","optional","parameter","controls","how","the","model","calls","functions",".","-","`","functions","`","(","array",")",":","An","optional","parameter",".","It","is","a","list","of","functions","for","which","the","model","may","generate","JSON","inputs",".","-","`","logit_bias","`","(","map",")",":","This","optional","parameter","modifies","the","likelihood","of","specified","tokens","appearing","in","the","completion",".","-","`","max_tokens","`","(","integer","or","null",")",":","This","optional","parameter","helps","to","set","the","maximum","number","of","tokens","to","generate","in","the","chat","completion",".","-","`","n","`","(","integer","or","null",")",":","This","optional","parameter","helps","to","set","how","many","chat","completion","choices","to","generate","for","each","input","message",".","-","`","presence_penalty","`","(","number","or","null",")",":","Defaults","to","0",".","It","penalizes","new","tokens","based","on","if","they","appear","in","the","text","so","far",",","hence","increasing","the","model","'s","likelihood","to","talk","about","new","topics",".","-","`","stop","`","(","string","\/","array","\/","null",")",":","Specifies","up","to","4","sequences","where","the","API","will","stop","generating","further","tokens",".","-","`","temperature","`","(","number","or","null",")",":","Defines","the","sampling","temperature","to","use",",","varying","between","0","and","2",".","-","`","top_p","`","(","number","or","null",")",":","An","alternative","to","sampling","with","temperature",",","used","for","nucleus","sampling","."]
code: def get_config(cls):
      return {
          k: v
          for k, v in cls.__dict__.items()
          if not k.startswith("__")
          and not isinstance(
              v,
              (
                  types.FunctionType,
                  types.BuiltinFunctionType,
                  classmethod,
                  staticmethod,
              ),
          )
          and v is not None
      }
  
imports: from typing import Optional, Union, Any
  import types, time, json
  import httpx
  from .base import BaseLLM
  from litellm.utils import ModelResponse, Choices, Message, CustomStreamWrapper, convert_to_model_response_object, Usage
  from typing import Callable, Optional
  import aiohttp, requests
  import litellm
  from .prompt_templates.factory import prompt_factory, custom_prompt
  from openai import OpenAI, AsyncOpenAI
label_desc: Use image node_id 2 for calling the OpenAIConfig obj's underlying member method code with example usage: obj.get_config(cls) and returns: unknown