各位好,下午好!
希望您一切顺利!
我正在使用 AI 插件,目前同时使用 Gemini 模型进行生成式语言处理和嵌入(embeddings)。然而,在谷歌方面进行了一些更改后,似乎 Discourse 论坛在连接 Gemini API 时出现了一些错误——我目前无法让论坛成功连接 Gemini 以获取嵌入数据。
嵌入配置
我之前在 Gemini 嵌入模型的配置中使用了以下 URL(但出现了错误):
https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent
查阅网上的文档后,我发现 URL 应该遵循如下模式:
https://{zone}-aiplatform.googleapis.com/v1/projects/{google cloud project reference}/locations/{zone}/publishers/google/models/gemini-embedding-001:embedContent
我遇到的问题表现
- 我收到以下错误:
Trying to contact the model returned this error: { "error": { "code": 401, "message": "API keys are not supported by this API. Expected OAuth2 access token or other authentication credentials that assert a principal. See https://cloud.google.com/docs/authentication", "status": "UNAUTHENTICATED", "details": \[ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "CREDENTIALS_MISSING", "domain": "googleapis.com", "metadata": { "method": "google.cloud.aiplatform.v1.PredictionService.EmbedContent", "service": "aiplatform.googleapis.com" } } \] } } - 新创建的主题似乎没有嵌入数据,因此帖子下方的 AI 驱动部分显示的不再是“相关主题”,而是“新发布和未读主题”——这仅针对新创建的主题,因为出现了错误。
这表明我们可能需要传递除 API 密钥之外的其他信息?我有点不知所措。
补充信息
- 我拥有一个正常运行的 Google Cloud 项目,因为我用于生成内容(如摘要主题、聊天机器人等)的 API 在我的论坛上运行完美——我的问题仅出现在嵌入功能上。
- 我使用相同的 API 进行内容生成和嵌入——在谷歌方面进行了一些更改后,似乎目前唯一可用的 API 是用于所有模型的“Gemini API”。
- 我可能找到了一篇讨论此问题的文章(不确定是否完全相关):Gemini CLI Vertex AI Authentication Bug - CREDENTIALS_MISSING Despite Valid Service Account · Issue #15823 · google-gemini/gemini-cli · GitHub
我的问题
- 我是否遗漏了什么?
- 是否有其他人成功配置了使用 Gemini 模型的 AI,并且不得不改用服务账号(service principals)进行配置?
- Gemini 嵌入模型正确的嵌入服务 URL 是什么?
非常感谢您的宝贵帮助和建议。
祝好。