对于 Google endpoint,你可以使用 Generative Language API(适用于 Gemini 模型),或者 Vertex AI API(适用于 Gemini、PaLM2 和 Codey 模型)。
Generative Language API 使用 API 密钥,您可以从 Google AI Studio 获取该密钥。
对于 Vertex AI,你需要一个已配置适当访问权限的 Service Account JSON 密钥文件。
以下提供了两者的说明。
Generative Language API (Gemini)
⚠️ 虽然 Google 模型是免费的,但它们会使用您的输入/输出内容来帮助改进模型,且数据已从您的 Google 账户和 API key 中去标识化。 ⚠️ 在此期间,您的消息“可能会被经过培训的审核人员访问”。
要通过 Google AI Studio 使用 Gemini 模型,你需要一个 API key。如果你还没有,请在 Google AI Studio 中创建一个 key。
在此处获取 API 密钥:aistudio.google.com
获取密钥后,请将其填入您的 .env 文件中,这将允许您实例的所有用户使用该密钥。
或者,您可以通过设置以下内容,让用户从前端提供它:
某些反向代理不支持 X-goog-api-key 请求头。您可以配置 LibreChat 改为使用 Authorization 请求头:
由于目前尚不支持获取模型列表,您应该在 .env 文件中设置您想要使用的模型。
为了方便起见,以下是截至 2024 年 5 月 18 日可与 Generative Language API 一起使用的最新模型:
注意:
- 若要附加图片,您的列表中必须包含 gemini-pro 模型或
gemini-pro-vision。 - 在 LibreChat 中,PaLM2 和 Codey 模型只能通过 Vertex AI 访问,而不能通过 Generative Language API 访问。
- 只有支持
generateContent方法的模型才能与 LibreChat + Gen AI API 原生配合使用。
- 只有支持
- 对于带有附件的消息,无需选择
gemini-pro-vision,系统会在后台为您自动切换。 - 由于
gemini-pro-vision不接受无附件的消息,因此不带附件的消息会自动切换为使用gemini-pro,否则 Google 会返回错误。 - 使用 Google endpoint 时,你不能同时使用 Vertex AI 和 Generative Language API。你必须二选一。
- 某些 PaLM/Codey 模型和
gemini-pro-vision在maxOutputTokens设置为较高值时可能会失败。如果遇到此问题,请尝试通过对话参数减小该值。
在 .env 文件中设置 GOOGLE_KEY=user_provided,即可将 Vertex AI 服务账号 JSON 密钥文件和 Generative Language API 密钥设置为由前端提供,具体如下:
Vertex AI
要设置 Google LLMs(通过 Google Cloud Vertex AI),首先,请注册 Google Cloud:cloud.google.com
你通常可以获得 $300 的初始额度,这使得该选项在 90 天内免费。
- 注册完成后,在 Google Cloud 上启用 Vertex AI API:
- 前往 Google Cloud 控制台上的 Vertex AI 页面
- 如果出现提示,请点击
Enable API
- 创建一个具有 Vertex AI 角色的服务账号:
- 点击此处创建服务账号
- 选择或创建一个项目
- 输入服务账号 ID(必填),名称和描述为选填。
- 点击“创建并继续”以至少授予“Vertex AI User”角色
- 点击“继续/完成”
- 创建一个 JSON 密钥并保存到您的项目目录中:
- 返回 Service Accounts 页面
- 选择您的服务账号
- 点击“Keys”
- 点击“Add Key”,然后点击“Create new key”
- 选择 JSON 作为密钥类型,然后点击“Create”
- 下载密钥文件并将其重命名为 'auth.json'
- 将其保存在项目目录下的
/api/data/中
替代方案:使用 GOOGLE_SERVICE_KEY_FILE
除了将密钥文件保存到 /api/data/auth.json 之外,您还可以使用 GOOGLE_SERVICE_KEY_FILE 环境变量来指定服务账号密钥文件的路径。这为您管理凭据提供了更大的灵活性。有关更多详细信息,请参阅下方的环境变量部分。
将您的 JSON 密钥文件保存在项目目录中,这将允许您的 LibreChat 实例的所有用户使用它。
或者,您可以通过设置以下内容,让用户从前端提供它:
您也可以使用 GOOGLE_SERVICE_KEY_FILE 环境变量来指定服务账号密钥文件:
这对于需要 Vertex AI 身份验证的功能(例如 OCR 功能)特别有用。
您也可以为 Vertex AI API 请求指定 Google Cloud 位置:
由于目前尚不支持获取模型列表,您应该在 .env 文件中设置您想要使用的模型。
为了方便起见,以下是截至 2024 年 5 月 18 日可与 Generative Language API 一起使用的最新模型:
如果您正在使用 Docker
如果您正在使用 Docker 并希望提供 auth.json 文件,则还需要在 docker-compose.override.yml 中挂载该卷。
Google 安全设置
要为 Vertex AI 和 Generative Language API 设置安全设置,您可以在 .env 文件中设置以下内容:
您也可以通过在 .env 文件中设置以下内容来排除安全设置,这将使用提供商的默认设置。如果您在使用特定的安全设置时遇到问题,这可能会有所帮助。
注意:默认情况下,您无法访问 BLOCK_NONE 设置。
要使用此受限的 HarmBlockThreshold 设置,您需要执行以下任一操作:
- (a) 通过您的 Google 账户团队获取允许列表 (allowlist) 访问权限
- (b) 按照此说明将您的账户类型切换为月度发票结算: https://cloud.google.com/billing/docs/how-to/invoiced-billing
注意:
- Google endpoint 支持通过
librechat.yaml配置文件使用所有 Shared Endpoint Settings,包括streamRate、headers、titleModel、titleMethod、titlePrompt、titlePromptTemplate和titleEndpoint。
这篇指南怎么样?