| @@ -16,7 +16,7 @@ model_templates = { | |||
| }, | |||
| 'model_config': { | |||
| 'provider': 'openai', | |||
| 'model_id': 'text-davinci-003', | |||
| 'model_id': 'gpt-3.5-turbo-instruct', | |||
| 'configs': { | |||
| 'prompt_template': '', | |||
| 'prompt_variables': [], | |||
| @@ -30,7 +30,7 @@ model_templates = { | |||
| }, | |||
| 'model': json.dumps({ | |||
| "provider": "openai", | |||
| "name": "text-davinci-003", | |||
| "name": "gpt-3.5-turbo-instruct", | |||
| "completion_params": { | |||
| "max_tokens": 512, | |||
| "temperature": 1, | |||
| @@ -104,7 +104,7 @@ demo_model_templates = { | |||
| 'mode': 'completion', | |||
| 'model_config': AppModelConfig( | |||
| provider='openai', | |||
| model_id='text-davinci-003', | |||
| model_id='gpt-3.5-turbo-instruct', | |||
| configs={ | |||
| 'prompt_template': "Please translate the following text into {{target_language}}:\n", | |||
| 'prompt_variables': [ | |||
| @@ -140,7 +140,7 @@ demo_model_templates = { | |||
| pre_prompt="Please translate the following text into {{target_language}}:\n", | |||
| model=json.dumps({ | |||
| "provider": "openai", | |||
| "name": "text-davinci-003", | |||
| "name": "gpt-3.5-turbo-instruct", | |||
| "completion_params": { | |||
| "max_tokens": 1000, | |||
| "temperature": 0, | |||
| @@ -222,7 +222,7 @@ demo_model_templates = { | |||
| 'mode': 'completion', | |||
| 'model_config': AppModelConfig( | |||
| provider='openai', | |||
| model_id='text-davinci-003', | |||
| model_id='gpt-3.5-turbo-instruct', | |||
| configs={ | |||
| 'prompt_template': "请将以下文本翻译为{{target_language}}:\n", | |||
| 'prompt_variables': [ | |||
| @@ -258,7 +258,7 @@ demo_model_templates = { | |||
| pre_prompt="请将以下文本翻译为{{target_language}}:\n", | |||
| model=json.dumps({ | |||
| "provider": "openai", | |||
| "name": "text-davinci-003", | |||
| "name": "gpt-3.5-turbo-instruct", | |||
| "completion_params": { | |||
| "max_tokens": 1000, | |||
| "temperature": 0, | |||
| @@ -17,6 +17,7 @@ from core.model_providers.models.entity.model_params import ModelMode, ModelKwar | |||
| from models.provider import ProviderType, ProviderQuotaType | |||
| COMPLETION_MODELS = [ | |||
| 'gpt-3.5-turbo-instruct', # 4,096 tokens | |||
| 'text-davinci-003', # 4,097 tokens | |||
| ] | |||
| @@ -31,6 +32,7 @@ MODEL_MAX_TOKENS = { | |||
| 'gpt-4': 8192, | |||
| 'gpt-4-32k': 32768, | |||
| 'gpt-3.5-turbo': 4096, | |||
| 'gpt-3.5-turbo-instruct': 4096, | |||
| 'gpt-3.5-turbo-16k': 16384, | |||
| 'text-davinci-003': 4097, | |||
| } | |||
| @@ -40,6 +40,10 @@ class OpenAIProvider(BaseModelProvider): | |||
| ModelFeature.AGENT_THOUGHT.value | |||
| ] | |||
| }, | |||
| { | |||
| 'id': 'gpt-3.5-turbo-instruct', | |||
| 'name': 'GPT-3.5-Turbo-Instruct', | |||
| }, | |||
| { | |||
| 'id': 'gpt-3.5-turbo-16k', | |||
| 'name': 'gpt-3.5-turbo-16k', | |||
| @@ -128,6 +132,7 @@ class OpenAIProvider(BaseModelProvider): | |||
| 'gpt-4': 8192, | |||
| 'gpt-4-32k': 32768, | |||
| 'gpt-3.5-turbo': 4096, | |||
| 'gpt-3.5-turbo-instruct': 4096, | |||
| 'gpt-3.5-turbo-16k': 16384, | |||
| 'text-davinci-003': 4097, | |||
| } | |||
| @@ -30,6 +30,12 @@ | |||
| "unit": "0.001", | |||
| "currency": "USD" | |||
| }, | |||
| "gpt-3.5-turbo-instruct": { | |||
| "prompt": "0.0015", | |||
| "completion": "0.002", | |||
| "unit": "0.001", | |||
| "currency": "USD" | |||
| }, | |||
| "gpt-3.5-turbo-16k": { | |||
| "prompt": "0.003", | |||
| "completion": "0.004", | |||
| @@ -14,6 +14,9 @@ class EnhanceOpenAI(OpenAI): | |||
| max_retries: int = 1 | |||
| """Maximum number of retries to make when generating.""" | |||
| def __new__(cls, **data: Any): # type: ignore | |||
| return super(EnhanceOpenAI, cls).__new__(cls) | |||
| @root_validator() | |||
| def validate_environment(cls, values: Dict) -> Dict: | |||
| """Validate that api key and python package exists in environment.""" | |||
| @@ -11,7 +11,7 @@ flask-cors==3.0.10 | |||
| gunicorn~=21.2.0 | |||
| gevent~=22.10.2 | |||
| langchain==0.0.250 | |||
| openai~=0.27.8 | |||
| openai~=0.28.0 | |||
| psycopg2-binary~=2.9.6 | |||
| pycryptodome==3.17 | |||
| python-dotenv==1.0.0 | |||
| @@ -42,7 +42,7 @@ def decrypt_side_effect(tenant_id, encrypted_openai_api_key): | |||
| @patch('core.helper.encrypter.decrypt_token', side_effect=decrypt_side_effect) | |||
| def test_get_num_tokens(mock_decrypt): | |||
| openai_model = get_mock_openai_model('text-davinci-003') | |||
| openai_model = get_mock_openai_model('gpt-3.5-turbo-instruct') | |||
| rst = openai_model.get_num_tokens([PromptMessage(content='you are a kindness Assistant.')]) | |||
| assert rst == 6 | |||
| @@ -61,7 +61,7 @@ def test_chat_get_num_tokens(mock_decrypt): | |||
| def test_run(mock_decrypt, mocker): | |||
| mocker.patch('core.model_providers.providers.base.BaseModelProvider.update_last_used', return_value=None) | |||
| openai_model = get_mock_openai_model('text-davinci-003') | |||
| openai_model = get_mock_openai_model('gpt-3.5-turbo-instruct') | |||
| rst = openai_model.run( | |||
| [PromptMessage(content='Human: Are you Human? you MUST only answer `y` or `n`? \nAssistant: ')], | |||
| stop=['\nHuman:'], | |||