deepseek_model_provider.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3. """
  4. @Project :MaxKB
  5. @File :deepseek_model_provider.py
  6. @Author :Brian Yang
  7. @Date :5/12/24 7:40 AM
  8. """
  9. import os
  10. from common.utils.common import get_file_content
  11. from models_provider.base_model_provider import IModelProvider, ModelProvideInfo, ModelInfo, ModelTypeConst, \
  12. ModelInfoManage
  13. from models_provider.impl.deepseek_model_provider.credential.llm import DeepSeekLLMModelCredential
  14. from models_provider.impl.deepseek_model_provider.model.llm import DeepSeekChatModel
  15. from maxkb.conf import PROJECT_DIR
  16. from django.utils.translation import gettext as _
  17. deepseek_llm_model_credential = DeepSeekLLMModelCredential()
  18. deepseek_reasoner = ModelInfo('deepseek-reasoner', '', ModelTypeConst.LLM,
  19. deepseek_llm_model_credential, DeepSeekChatModel
  20. )
  21. deepseek_chat = ModelInfo('deepseek-chat', _('Good at common conversational tasks, supports 32K contexts'),
  22. ModelTypeConst.LLM,
  23. deepseek_llm_model_credential, DeepSeekChatModel
  24. )
  25. deepseek_coder = ModelInfo('deepseek-coder', _('Good at handling programming tasks, supports 16K contexts'),
  26. ModelTypeConst.LLM,
  27. deepseek_llm_model_credential,
  28. DeepSeekChatModel)
  29. model_info_manage = ModelInfoManage.builder().append_model_info(deepseek_reasoner).append_model_info(deepseek_chat).append_model_info(
  30. deepseek_coder).append_default_model_info(
  31. deepseek_coder).build()
  32. class DeepSeekModelProvider(IModelProvider):
  33. def get_model_info_manage(self):
  34. return model_info_manage
  35. def get_model_provide_info(self):
  36. return ModelProvideInfo(provider='model_deepseek_provider', name='DeepSeek', icon=get_file_content(
  37. os.path.join(PROJECT_DIR, "apps", 'models_provider', 'impl', 'deepseek_model_provider', 'icon',
  38. 'deepseek_icon_svg')))