From: luozheng <1732036298@qq.com> Date: Thu, 17 Jul 2025 02:59:00 +0000 (+0800) Subject: 添加4g多模型ai修改 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=27fe289880264a2bcc2359a7c62c80fdfa8bf8ac;p=mirrors%2FFD230.git 添加4g多模型ai修改 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h index 19f8f05c6..2809b0734 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h @@ -91,6 +91,7 @@ namespace OHOS void SetAiAnswerStrStr(std::string str); void SetAiAnswerStrStr(std::string str,uint8_t type); uint8_t GetCurUsingAiModelType(void); + uint8_t GetCurUsing4GAiModelType(void); // 文件检查和AI状态管理 void CheckFileAndSendAIIsReady(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp index dd924dd6d..a31d56ba3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp @@ -174,7 +174,7 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetSelect4gorbt() == AI_SELECT_4G"); if (GetInit_4gai_task()) { - uapi_UI_start_asr(AI_TYPE_JIU); + uapi_UI_start_asr(GetCurUsing4GAiModelType()); } else { @@ -199,6 +199,23 @@ namespace OHOS return 0; } + uint8_t AiVoiceModel::GetCurUsing4GAiModelType(void) + { + int value = GetSelectAiModel(); + //写一个map + std::map> selectAiModelToAiModelType = { + {0, {STR_DEEPSEEK, AI_TYPE_DE}}, + {1, {STR_JIUTIAN, AI_TYPE_JIU}}, + {2, {STR_AIMODELS_DOUBAO, AI_TYPE_DOU}}, + {3, {STR_AIMODES_WENXINYIYAN, AI_TYPE_WEN}}, + {4, {STR_AIMODES_KIMI, AI_TYPE_KIMI}}, + {5, {STR_AIMODES_CHATGPT, AI_TYPE_0}}, + }; + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetCurUsing4GAiModelType = %d", selectAiModelToAiModelType[value].second); + return selectAiModelToAiModelType[value].second; + } + /*取消当前AI对话*/ void AiVoiceModel::CancelCurAIChat(void) { @@ -1487,7 +1504,7 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "4gAi服务初始化成功"); bool state = true; SendMsgToUIService(UI_4G_AI_INIT_STAUS, 0, &state, sizeof(bool)); - uapi_UI_start_asr(AI_TYPE_JIU); + uapi_UI_start_asr(AiVoiceModel::GetInstance().GetCurUsing4GAiModelType()); AiVoiceModel::GetInstance().stop_ai4g_connect_timer(); p_AiVoicePresenter->ChangeViewAndLogicOperator(AIVOICE_4GSERVICECON_VIEW, AIVOICE_AIMODE_CONNECTING); } @@ -1851,11 +1868,11 @@ namespace OHOS int textId = 0; selectAiModelToTextId = { {0, {STR_DEEPSEEK, 4}}, - {1, {STR_AIMODES_CHATGPT, 1}}, + {1, {STR_JIUTIAN, 5}}, {2, {STR_AIMODELS_DOUBAO, 3}}, {3, {STR_AIMODES_WENXINYIYAN, 0}}, {4, {STR_AIMODES_KIMI, 2}}, - {5, {STR_IFLYTEK_SPARK, 5}}, + {5, {STR_AIMODES_CHATGPT, 1}}, }; textId = STR_DEEPSEEK; diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp index 22a3ecf8c..2d30825d0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp @@ -98,7 +98,7 @@ namespace OHOS add_4GAI_vote(); // 4g投票 uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH_AI); - Audio::AudioManager::GetInstance().SetVolume(AUDIO_STREAM_VOICE_ASSISTANT, 100); + Audio::AudioManager::GetInstance().SetVolume(AUDIO_STREAM_VOICE_ASSISTANT, 100); } // 页面已经展示后的调用逻辑 @@ -411,7 +411,7 @@ namespace OHOS // usleep(50000); set_clear_queue_stream(1); LOS_Msleep(100); - uapi_UI_start_asr(AI_TYPE_JIU); + uapi_UI_start_asr(AiVoiceModel::GetInstance().GetCurUsing4GAiModelType()); ChangeViewAndLogicOperator(AIVOICE_RETURN_RESULT_TEXT_VIEWID, AIVOICE_AIMODE_CONNECTING); return true; } @@ -485,9 +485,14 @@ namespace OHOS { // 使用4G model->SetSelect4gorbt(AI_SELECT_4G); + if (model->GetAiModelTextId() == STR_AIMODES_CHATGPT) // 如果当前是在chatgpt模型*/ + { + ChangeViewAndLogicOperator(model->GetCurView(), AIVOICE_NOTSETAPIKEYS); /*开始对话界面->API Keys notset界面*/ + return true; + } if (!model->GetInit_4gai_task()) { - init_ai_task(AI_TYPE_JIU); + init_ai_task(AiVoiceModel::GetInstance().GetCurUsing4GAiModelType()); model->start_ai4g_connect_timer(); ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_4GSERVICECON_VIEW); // LOADING } @@ -512,9 +517,14 @@ namespace OHOS { // 通过4G调用大模型 model->SetSelect4gorbt(AI_SELECT_4G); + if (model->GetAiModelTextId() == STR_AIMODES_CHATGPT) // 如果当前是在chatgpt模型*/ + { + ChangeViewAndLogicOperator(model->GetCurView(), AIVOICE_NOTSETAPIKEYS); /*开始对话界面->API Keys notset界面*/ + return true; + } if (!model->GetInit_4gai_task()) { - init_ai_task(AI_TYPE_JIU); + init_ai_task(AiVoiceModel::GetInstance().GetCurUsing4GAiModelType()); model->start_ai4g_connect_timer(); ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_4GSERVICECON_VIEW); // LOADING } @@ -546,9 +556,14 @@ namespace OHOS { // 通过4G调用大模型 model->SetSelect4gorbt(AI_SELECT_4G); + if (model->GetAiModelTextId() == STR_AIMODES_CHATGPT) // 如果当前是在chatgpt模型*/ + { + ChangeViewAndLogicOperator(model->GetCurView(), AIVOICE_NOTSETAPIKEYS); /*开始对话界面->API Keys notset界面*/ + return true; + } if (!model->GetInit_4gai_task()) { - init_ai_task(AI_TYPE_JIU); + init_ai_task(AiVoiceModel::GetInstance().GetCurUsing4GAiModelType()); model->start_ai4g_connect_timer(); ChangeViewAndLogicOperator(model->GetCurView(), AIVOICE_4GSERVICECON_VIEW); // LOADING } diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.h b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.h index 0c94c6851..ff5b62495 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.h +++ b/code/sdk/drivers/peripheral/slip/cat1Service/cat1_ws.h @@ -21,11 +21,11 @@ void uapi_UI_stop_start_asr_timeout(void); typedef enum { AI_TYPE_0=0, - AI_TYPE_JIU, - AI_TYPE_DE, - AI_TYPE_DOU, - AI_TYPE_WEN, - AI_TYPE_KIMI + AI_TYPE_JIU, //九天 + AI_TYPE_DE, //deepseek + AI_TYPE_DOU,//豆包 + AI_TYPE_WEN,//文心一言 + AI_TYPE_KIMI,//KIMI }G_AI_TYPE;