Unverified Commit c536f85b authored by takatost's avatar takatost Committed by GitHub

fix: compatibility issues with the tongyi model. (#1310)

parent b1352ff8
...@@ -18,7 +18,6 @@ class TongyiModel(BaseLLM): ...@@ -18,7 +18,6 @@ class TongyiModel(BaseLLM):
def _init_client(self) -> Any: def _init_client(self) -> Any:
provider_model_kwargs = self._to_model_kwargs_input(self.model_rules, self.model_kwargs) provider_model_kwargs = self._to_model_kwargs_input(self.model_rules, self.model_kwargs)
del provider_model_kwargs['max_tokens']
return EnhanceTongyi( return EnhanceTongyi(
model_name=self.name, model_name=self.name,
max_retries=1, max_retries=1,
...@@ -58,7 +57,6 @@ class TongyiModel(BaseLLM): ...@@ -58,7 +57,6 @@ class TongyiModel(BaseLLM):
def _set_model_kwargs(self, model_kwargs: ModelKwargs): def _set_model_kwargs(self, model_kwargs: ModelKwargs):
provider_model_kwargs = self._to_model_kwargs_input(self.model_rules, model_kwargs) provider_model_kwargs = self._to_model_kwargs_input(self.model_rules, model_kwargs)
del provider_model_kwargs['max_tokens']
for k, v in provider_model_kwargs.items(): for k, v in provider_model_kwargs.items():
if hasattr(self.client, k): if hasattr(self.client, k):
setattr(self.client, k, v) setattr(self.client, k, v)
......
...@@ -24,12 +24,12 @@ class TongyiProvider(BaseModelProvider): ...@@ -24,12 +24,12 @@ class TongyiProvider(BaseModelProvider):
if model_type == ModelType.TEXT_GENERATION: if model_type == ModelType.TEXT_GENERATION:
return [ return [
{ {
'id': 'qwen-v1', 'id': 'qwen-turbo',
'name': 'qwen-v1', 'name': 'qwen-turbo',
}, },
{ {
'id': 'qwen-plus-v1', 'id': 'qwen-plus',
'name': 'qwen-plus-v1', 'name': 'qwen-plus',
} }
] ]
else: else:
...@@ -58,16 +58,16 @@ class TongyiProvider(BaseModelProvider): ...@@ -58,16 +58,16 @@ class TongyiProvider(BaseModelProvider):
:return: :return:
""" """
model_max_tokens = { model_max_tokens = {
'qwen-v1': 1500, 'qwen-turbo': 6000,
'qwen-plus-v1': 6500 'qwen-plus': 6000
} }
return ModelKwargsRules( return ModelKwargsRules(
temperature=KwargRule[float](enabled=False), temperature=KwargRule[float](min=0.01, max=1, default=1, precision=2),
top_p=KwargRule[float](min=0, max=1, default=0.8, precision=2), top_p=KwargRule[float](min=0.01, max=0.99, default=0.5, precision=2),
presence_penalty=KwargRule[float](enabled=False), presence_penalty=KwargRule[float](enabled=False),
frequency_penalty=KwargRule[float](enabled=False), frequency_penalty=KwargRule[float](enabled=False),
max_tokens=KwargRule[int](min=10, max=model_max_tokens.get(model_name), default=1024, precision=0), max_tokens=KwargRule[int](enabled=False, max=model_max_tokens.get(model_name)),
) )
@classmethod @classmethod
...@@ -84,7 +84,7 @@ class TongyiProvider(BaseModelProvider): ...@@ -84,7 +84,7 @@ class TongyiProvider(BaseModelProvider):
} }
llm = EnhanceTongyi( llm = EnhanceTongyi(
model_name='qwen-v1', model_name='qwen-turbo',
max_retries=1, max_retries=1,
**credential_kwargs **credential_kwargs
) )
......
...@@ -3,5 +3,19 @@ ...@@ -3,5 +3,19 @@
"custom" "custom"
], ],
"system_config": null, "system_config": null,
"model_flexibility": "fixed" "model_flexibility": "fixed",
"price_config": {
"qwen-turbo": {
"prompt": "0.012",
"completion": "0.012",
"unit": "0.001",
"currency": "RMB"
},
"qwen-plus": {
"prompt": "0.14",
"completion": "0.14",
"unit": "0.001",
"currency": "RMB"
}
}
} }
\ No newline at end of file
...@@ -44,7 +44,7 @@ readabilipy==0.2.0 ...@@ -44,7 +44,7 @@ readabilipy==0.2.0
google-search-results==2.4.2 google-search-results==2.4.2
replicate~=0.9.0 replicate~=0.9.0
websocket-client~=1.6.1 websocket-client~=1.6.1
dashscope~=1.5.0 dashscope~=1.11.0
huggingface_hub~=0.16.4 huggingface_hub~=0.16.4
transformers~=4.31.0 transformers~=4.31.0
stripe~=5.5.0 stripe~=5.5.0
......
...@@ -44,7 +44,7 @@ def decrypt_side_effect(tenant_id, encrypted_api_key): ...@@ -44,7 +44,7 @@ def decrypt_side_effect(tenant_id, encrypted_api_key):
@patch('core.helper.encrypter.decrypt_token', side_effect=decrypt_side_effect) @patch('core.helper.encrypter.decrypt_token', side_effect=decrypt_side_effect)
def test_get_num_tokens(mock_decrypt): def test_get_num_tokens(mock_decrypt):
model = get_mock_model('qwen-v1') model = get_mock_model('qwen-turbo')
rst = model.get_num_tokens([ rst = model.get_num_tokens([
PromptMessage(type=MessageType.HUMAN, content='Who is your manufacturer?') PromptMessage(type=MessageType.HUMAN, content='Who is your manufacturer?')
]) ])
...@@ -55,7 +55,7 @@ def test_get_num_tokens(mock_decrypt): ...@@ -55,7 +55,7 @@ def test_get_num_tokens(mock_decrypt):
def test_run(mock_decrypt, mocker): def test_run(mock_decrypt, mocker):
mocker.patch('core.model_providers.providers.base.BaseModelProvider.update_last_used', return_value=None) mocker.patch('core.model_providers.providers.base.BaseModelProvider.update_last_used', return_value=None)
model = get_mock_model('qwen-v1') model = get_mock_model('qwen-turbo')
rst = model.run( rst = model.run(
[PromptMessage(content='Human: Are you Human? you MUST only answer `y` or `n`? \nAssistant: ')], [PromptMessage(content='Human: Are you Human? you MUST only answer `y` or `n`? \nAssistant: ')],
stop=['\nHuman:'], stop=['\nHuman:'],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment