如何解决 Gemini 嵌入的 401 错误

各位好,下午好!
希望您一切顺利!

我正在使用 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

我遇到的问题表现

  1. 我收到以下错误:
    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" } } \] } }
  2. 新创建的主题似乎没有嵌入数据,因此帖子下方的 AI 驱动部分显示的不再是“相关主题”,而是“新发布和未读主题”——这仅针对新创建的主题,因为出现了错误。

这表明我们可能需要传递除 API 密钥之外的其他信息?我有点不知所措。

补充信息

我的问题

  1. 我是否遗漏了什么?
  2. 是否有其他人成功配置了使用 Gemini 模型的 AI,并且不得不改用服务账号(service principals)进行配置?
  3. Gemini 嵌入模型正确的嵌入服务 URL 是什么?

非常感谢您的宝贵帮助和建议。
祝好。

[quote=“m_terenui, post:1, topic:407828”]
我曾在模型配置中使用以下 URL 来通过 Gemini 进行嵌入(但遇到了错误):
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
[/quote]\n
这是 Google AI StudioGemini 企业智能体平台(前身为 Vertex AI) 的区别。

对于嵌入功能,我们仅兼容前者。

我们刚刚收到一个 PR,使我们的 LLM 推理功能也能兼容后者,因为此前我们在 LLM 方面也只兼容前者。

非常感谢您的信息,现在清楚了。我转而使用 AI Studio API 进行嵌入,确实现在一切正常。一旦 LLM 推理兼容,我会再回到企业代理平台。

祝好。