Android使用Gemini API遇ServerException:模型名称格式异常
解决Gemini API Android开发中的"unexpected model name format"错误
你遇到的错误:
com.google.ai.client.generativeai.type.ServerException: * GenerateContentRequest.model: unexpected model name format
原因是代码里的modelName参数使用了文档占位符"MODEL_NAME",这不是Gemini API认可的有效模型标识,导致服务器无法识别。
修复步骤
将
modelName替换为Gemini提供的合法模型名称,常用选项包括:- 轻量型多模态/文本模型:
gemini-1.5-flash - 高性能多模态/文本模型:
gemini-1.5-pro - 纯文本专属模型:
gemini-1.0-pro
- 轻量型多模态/文本模型:
修改后的完整代码示例:
@Composable fun Greeting(name: String, modifier: Modifier = Modifier) { val generativeModel = GenerativeModel( // 替换为有效模型名称 modelName = "gemini-1.5-flash", apiKey = dreambig.apps.aiexpriments.BuildConfig.GOOGLE_AI_API_KEY ) var story: String by remember { mutableStateOf("") } Column(modifier = Modifier .fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Text( text = "Hello $name!", modifier = modifier ) Button(onClick = { val prompt = "Write a story about a backpack." GlobalScope.launch { val response = generativeModel.generateContent(prompt) print(response.text) story = response.text.toString() } }) { Text("Tell me a story") } Spacer(modifier = Modifier.padding(16.dp)) Text(story) } }
额外提示
- 选择模型时要匹配业务场景:需处理图片等多模态内容就选支持多模态的模型,纯文本生成选文本专属模型即可。
- 确保Build Config中的API密钥已正确配置,且该密钥拥有对应模型的调用权限。
内容的提问来源于stack exchange,提问作者Badr Bujbara
相关产品推荐
相关产品推荐

