llm.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # coding=utf-8
  2. """
  3. @project: maxkb
  4. @Author:虎
  5. @file: llm.py
  6. @date:2024/4/18 15:28
  7. @desc:
  8. """
  9. from typing import Dict
  10. from common.config.tokenizer_manage_config import TokenizerManage
  11. from models_provider.base_model_provider import MaxKBBaseModel
  12. from models_provider.impl.base_chat_open_ai import BaseChatOpenAI
  13. def custom_get_token_ids(text: str):
  14. tokenizer = TokenizerManage.get_tokenizer()
  15. return tokenizer.encode(text)
  16. class TencentCloudChatModel(MaxKBBaseModel, BaseChatOpenAI):
  17. @staticmethod
  18. def is_cache_model():
  19. return False
  20. @staticmethod
  21. def new_instance(model_type, model_name, model_credential: Dict[str, object], **model_kwargs):
  22. optional_params = MaxKBBaseModel.filter_optional_params(model_kwargs)
  23. azure_chat_open_ai = TencentCloudChatModel(
  24. model=model_name,
  25. openai_api_base=model_credential.get('api_base'),
  26. openai_api_key=model_credential.get('api_key'),
  27. custom_get_token_ids=custom_get_token_ids,
  28. **optional_params,
  29. )
  30. return azure_chat_open_ai