| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- # coding=utf-8
- """
- @project: maxkb
- @Author:虎
- @file: azure_model_provider.py
- @date:2023/10/31 16:19
- @desc:
- """
- import os
- from common.utils.common import get_file_content
- from models_provider.base_model_provider import IModelProvider, ModelProvideInfo, ModelInfo, \
- ModelTypeConst, ModelInfoManage
- from models_provider.impl.azure_model_provider.credential.embedding import AzureOpenAIEmbeddingCredential
- from models_provider.impl.azure_model_provider.credential.image import AzureOpenAIImageModelCredential
- from models_provider.impl.azure_model_provider.credential.llm import AzureLLMModelCredential
- from models_provider.impl.azure_model_provider.credential.stt import AzureOpenAISTTModelCredential
- from models_provider.impl.azure_model_provider.credential.tti import AzureOpenAITextToImageModelCredential
- from models_provider.impl.azure_model_provider.credential.tts import AzureOpenAITTSModelCredential
- from models_provider.impl.azure_model_provider.model.azure_chat_model import AzureChatModel
- from models_provider.impl.azure_model_provider.model.embedding import AzureOpenAIEmbeddingModel
- from models_provider.impl.azure_model_provider.model.image import AzureOpenAIImage
- from models_provider.impl.azure_model_provider.model.stt import AzureOpenAISpeechToText
- from models_provider.impl.azure_model_provider.model.tti import AzureOpenAITextToImage
- from models_provider.impl.azure_model_provider.model.tts import AzureOpenAITextToSpeech
- from maxkb.conf import PROJECT_DIR
- from django.utils.translation import gettext_lazy as _
- base_azure_llm_model_credential = AzureLLMModelCredential()
- base_azure_embedding_model_credential = AzureOpenAIEmbeddingCredential()
- base_azure_image_model_credential = AzureOpenAIImageModelCredential()
- base_azure_tti_model_credential = AzureOpenAITextToImageModelCredential()
- base_azure_tts_model_credential = AzureOpenAITTSModelCredential()
- base_azure_stt_model_credential = AzureOpenAISTTModelCredential()
- default_model_info = [
- ModelInfo('Azure OpenAI', '', ModelTypeConst.LLM,
- base_azure_llm_model_credential, AzureChatModel, api_version='2024-02-15-preview'
- ),
- ModelInfo('gpt-4', '', ModelTypeConst.LLM,
- base_azure_llm_model_credential, AzureChatModel, api_version='2024-02-15-preview'
- ),
- ModelInfo('gpt-4o', '', ModelTypeConst.LLM,
- base_azure_llm_model_credential, AzureChatModel, api_version='2024-02-15-preview'
- ),
- ModelInfo('gpt-4o-mini', '', ModelTypeConst.LLM,
- base_azure_llm_model_credential, AzureChatModel, api_version='2024-02-15-preview'
- ),
- ]
- embedding_model_info = [
- ModelInfo('text-embedding-3-large', '', ModelTypeConst.EMBEDDING,
- base_azure_embedding_model_credential, AzureOpenAIEmbeddingModel, api_version='2023-05-15'
- ),
- ModelInfo('text-embedding-3-small', '', ModelTypeConst.EMBEDDING,
- base_azure_embedding_model_credential, AzureOpenAIEmbeddingModel, api_version='2023-05-15'
- ),
- ModelInfo('text-embedding-ada-002', '', ModelTypeConst.EMBEDDING,
- base_azure_embedding_model_credential, AzureOpenAIEmbeddingModel, api_version='2023-05-15'
- ),
- ]
- image_model_info = [
- ModelInfo('gpt-4o', '', ModelTypeConst.IMAGE,
- base_azure_image_model_credential, AzureOpenAIImage, api_version='2023-05-15'
- ),
- ModelInfo('gpt-4o-mini', '', ModelTypeConst.IMAGE,
- base_azure_image_model_credential, AzureOpenAIImage, api_version='2023-05-15'
- ),
- ]
- tti_model_info = [
- ModelInfo('dall-e-3', '', ModelTypeConst.TTI,
- base_azure_tti_model_credential, AzureOpenAITextToImage, api_version='2023-05-15'
- ),
- ]
- tts_model_info = [
- ModelInfo('tts', '', ModelTypeConst.TTS,
- base_azure_tts_model_credential, AzureOpenAITextToSpeech, api_version='2023-05-15'
- ),
- ]
- stt_model_info = [
- ModelInfo('whisper', '', ModelTypeConst.STT,
- base_azure_stt_model_credential, AzureOpenAISpeechToText, api_version='2023-05-15'
- ),
- ]
- model_info_manage = (
- ModelInfoManage.builder()
- .append_default_model_info(default_model_info[0])
- .append_model_info_list(default_model_info)
- .append_model_info_list(embedding_model_info)
- .append_default_model_info(embedding_model_info[0])
- .append_model_info_list(image_model_info)
- .append_default_model_info(image_model_info[0])
- .append_model_info_list(stt_model_info)
- .append_default_model_info(stt_model_info[0])
- .append_model_info_list(tts_model_info)
- .append_default_model_info(tts_model_info[0])
- .append_model_info_list(tti_model_info)
- .append_default_model_info(tti_model_info[0])
- .build()
- )
- class AzureModelProvider(IModelProvider):
- def get_model_info_manage(self):
- return model_info_manage
- def get_model_provide_info(self):
- return ModelProvideInfo(provider='model_azure_provider', name='Azure OpenAI', icon=get_file_content(
- os.path.join(PROJECT_DIR, "apps", 'models_provider', 'impl', 'azure_model_provider', 'icon',
- 'azure_icon_svg')))
|