|
LOCAL_MODELS = { |
|
"Writer/camel-5b-hf": 2048, |
|
"mosaicml/mpt-7b-instruct": 2048, |
|
"mosaicml/mpt-30b-instruct": 8192, |
|
} |
|
|
|
GPT4_MODELS = { |
|
|
|
|
|
|
|
"gpt-4": 8192, |
|
"gpt-4-32k": 32768, |
|
|
|
|
|
"gpt-4-0613": 8192, |
|
"gpt-4-32k-0613": 32768, |
|
|
|
"gpt-4-0314": 8192, |
|
"gpt-4-32k-0314": 32768, |
|
} |
|
|
|
AZURE_TURBO_MODELS = { |
|
"gpt-35-turbo-16k": 16384, |
|
"gpt-35-turbo": 4096, |
|
} |
|
|
|
TURBO_MODELS = { |
|
|
|
|
|
|
|
"gpt-3.5-turbo": 4096, |
|
|
|
"gpt-3.5-turbo-16k": 16384, |
|
|
|
|
|
"gpt-3.5-turbo-0613": 4096, |
|
"gpt-3.5-turbo-16k-0613": 16384, |
|
|
|
"gpt-3.5-turbo-0301": 4096, |
|
|
|
"gpt-3.5-turbo-instruct": 4096 |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
GPT3_MODELS = { |
|
"text-ada-001": 2049, |
|
"text-babbage-001": 2040, |
|
"text-curie-001": 2049, |
|
"ada": 2049, |
|
"babbage": 2049, |
|
"curie": 2049, |
|
"davinci": 2049, |
|
} |
|
|
|
ALL_AVAILABLE_MODELS = { |
|
**GPT4_MODELS, |
|
**TURBO_MODELS, |
|
|
|
**GPT3_MODELS, |
|
**LOCAL_MODELS, |
|
} |
|
|
|
CHAT_MODELS = { |
|
**GPT4_MODELS, |
|
**TURBO_MODELS, |
|
**AZURE_TURBO_MODELS, |
|
} |
|
|
|
|
|
DISCONTINUED_MODELS = { |
|
"code-davinci-002": 8001, |
|
"code-davinci-001": 8001, |
|
"code-cushman-002": 2048, |
|
"code-cushman-001": 2048, |
|
} |
|
|
|
|
|
def kron_openai_modelname_to_contextsize(modelname: str) -> int: |
|
"""Calculate the maximum number of tokens possible to generate for a model. |
|
|
|
Args: |
|
modelname: The modelname we want to know the context size for. |
|
|
|
Returns: |
|
The maximum context size |
|
|
|
Example: |
|
.. code-block:: python |
|
|
|
max_tokens = openai.modelname_to_contextsize("text-davinci-003") |
|
|
|
Modified from: |
|
https://github.com/hwchase17/langchain/blob/master/langchain/llms/openai.py |
|
""" |
|
|
|
if "ft-" in modelname: |
|
modelname = modelname.split(":")[0] |
|
|
|
if modelname in DISCONTINUED_MODELS: |
|
raise ValueError( |
|
f"OpenAI model {modelname} has been discontinued. " |
|
"Please choose another model." |
|
) |
|
|
|
context_size = ALL_AVAILABLE_MODELS.get(modelname, None) |
|
|
|
if context_size is None: |
|
raise ValueError( |
|
f"Unknown model: {modelname}. Please provide a valid OpenAI model name." |
|
"Known models are: " + ", ".join(ALL_AVAILABLE_MODELS.keys()) |
|
) |
|
|
|
return context_size |