kimi_model_provider.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # coding=utf-8
  2. """
  3. @project: maxkb
  4. @Author:虎
  5. @file: kimi_model_provider.py
  6. @date:2024/3/28 16:26
  7. @desc:
  8. """
  9. import os
  10. from common.utils.common import get_file_content
  11. from models_provider.base_model_provider import IModelProvider, ModelProvideInfo, ModelInfo, \
  12. ModelTypeConst, ModelInfoManage
  13. from models_provider.impl.kimi_model_provider.credential.llm import KimiLLMModelCredential
  14. from models_provider.impl.kimi_model_provider.model.llm import KimiChatModel
  15. from maxkb.conf import PROJECT_DIR
  16. kimi_llm_model_credential = KimiLLMModelCredential()
  17. moonshot_v1_8k = ModelInfo('moonshot-v1-8k', '', ModelTypeConst.LLM, kimi_llm_model_credential,
  18. KimiChatModel)
  19. moonshot_v1_32k = ModelInfo('moonshot-v1-32k', '', ModelTypeConst.LLM, kimi_llm_model_credential,
  20. KimiChatModel)
  21. moonshot_v1_128k = ModelInfo('moonshot-v1-128k', '', ModelTypeConst.LLM, kimi_llm_model_credential,
  22. KimiChatModel)
  23. model_info_manage = ModelInfoManage.builder().append_model_info(moonshot_v1_8k).append_model_info(
  24. moonshot_v1_32k).append_default_model_info(moonshot_v1_128k).append_default_model_info(moonshot_v1_8k).build()
  25. class KimiModelProvider(IModelProvider):
  26. def get_model_info_manage(self):
  27. return model_info_manage
  28. def get_dialogue_number(self):
  29. return 3
  30. def get_model_provide_info(self):
  31. return ModelProvideInfo(provider='model_kimi_provider', name='Kimi', icon=get_file_content(
  32. os.path.join(PROJECT_DIR, "apps", 'models_provider', 'impl', 'kimi_model_provider', 'icon',
  33. 'kimi_icon_svg')))