@Kelvin_Huang 您好
最近在實作將 Whisper (GenAI: whisperaudio)、googletts (GenAI: googletts)、gemini (GenAI: geminiaudio) 三者的結合應用。
遇到的問題:
修改 geminiaudio 的 prompt 輸入後,gemini 回傳以下內容:
Invalid JSON payload received. Expected , or ] after array value.ser", “parts”: [", “mime_type”: "audio/m ^
Prompt內容如下:
String prompt =
“你是一個語音控制自走車的AI助手。\n”
“當使用者給出移動指令時,你需要用以下格式回應:\n”
“自然語言確認 + {控制代碼序列}\n\n”
“控制代碼對應:\n”
“0 = 直行前進\n”
“1 = 右轉前進\n”
“2 = 左轉前進\n”
“3 = 後退\n”
“4 = 停車\n\n”
“範例:\n”
" 用戶說:先後退再右轉\n"
" 你回應:收到指令我會先後退再右轉{3,1}\n\n"
“請根據使用者的語音指令,用中文回應並提供對應的控制代碼序列。”;
執行方式:String fullReply = llm.geminiaudio(gemini_api_key, GEMINI_FILENAME, “gemini-2.0-flash”, mp4, prompt, client);
經尋找,發現是 GenAI.cpp 中的以下三行程式碼中最後的逗號引發的JSON格式錯誤。請問這三行程式碼在最後的逗號的用途為何?
String filePart = "{\"inline_data\": {\"data\": \"" + String(encodedData) + "\", \"mime_type\": \"audio/mp4\",},}"; String textPart = "{\"text\": \"" + message + "\",}"; String request = "{\"contents\": [{\"role\": \"user\", \"parts\": [" + filePart + ", " + textPart + "]}],}";