Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Google

对于 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)

点击此处查看 Gemini API 定价和速率限制

⚠️ 虽然 Google 模型是免费的,但它们会使用您的输入/输出内容来帮助改进模型,且数据已从您的 Google 账户和 API key 中去标识化。 ⚠️ 在此期间,您的消息“可能会被经过培训的审核人员访问”。

要通过 Google AI Studio 使用 Gemini 模型,你需要一个 API key。如果你还没有,请在 Google AI Studio 中创建一个 key。

在此处获取 API 密钥:aistudio.google.com

获取密钥后,请将其填入您的 .env 文件中,这将允许您实例的所有用户使用该密钥。

GOOGLE_KEY=mY_SeCreT_w9347w8_kEY

或者,您可以通过设置以下内容,让用户从前端提供它:

GOOGLE_KEY=user_provided

某些反向代理不支持 X-goog-api-key 请求头。您可以配置 LibreChat 改为使用 Authorization 请求头:

GOOGLE_AUTH_HEADER=true

由于目前尚不支持获取模型列表,您应该在 .env 文件中设置您想要使用的模型。

为了方便起见,以下是截至 2024 年 5 月 18 日可与 Generative Language API 一起使用的最新模型:

GOOGLE_MODELS=gemini-1.5-flash-latest,gemini-1.0-pro,gemini-1.0-pro-001,gemini-1.0-pro-latest,gemini-1.0-pro-vision-latest,gemini-1.5-pro-latest,gemini-pro,gemini-pro-vision

注意:

  • 若要附加图片,您的列表中必须包含 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-visionmaxOutputTokens 设置为较高值时可能会失败。如果遇到此问题,请尝试通过对话参数减小该值。

在 .env 文件中设置 GOOGLE_KEY=user_provided,即可将 Vertex AI 服务账号 JSON 密钥文件和 Generative Language API 密钥设置为由前端提供,具体如下:

image

Vertex AI

点击此处查看 Vertex API 定价和速率限制

要设置 Google LLMs(通过 Google Cloud Vertex AI),首先,请注册 Google Cloud:cloud.google.com

你通常可以获得 $300 的初始额度,这使得该选项在 90 天内免费。

  1. 注册完成后,在 Google Cloud 上启用 Vertex AI API:
  2. 创建一个具有 Vertex AI 角色的服务账号:
    • 点击此处创建服务账号
    • 选择或创建一个项目
    • 输入服务账号 ID(必填),名称和描述为选填。
      • image
    • 点击“创建并继续”以至少授予“Vertex AI User”角色
      • image
    • 点击“继续/完成”
  3. 创建一个 JSON 密钥并保存到您的项目目录中:
    • 返回 Service Accounts 页面
    • 选择您的服务账号
    • 点击“Keys”
      • image
    • 点击“Add Key”,然后点击“Create new key”
      • image
    • 选择 JSON 作为密钥类型,然后点击“Create”
    • 下载密钥文件并将其重命名为 'auth.json'
    • 将其保存在项目目录下的 /api/data/
      • image

替代方案:使用 GOOGLE_SERVICE_KEY_FILE

除了将密钥文件保存到 /api/data/auth.json 之外,您还可以使用 GOOGLE_SERVICE_KEY_FILE 环境变量来指定服务账号密钥文件的路径。这为您管理凭据提供了更大的灵活性。有关更多详细信息,请参阅下方的环境变量部分。

将您的 JSON 密钥文件保存在项目目录中,这将允许您的 LibreChat 实例的所有用户使用它。

或者,您可以通过设置以下内容,让用户从前端提供它:

# Note: this configures both the Vertex AI Service Account JSON key file
# and the Generative Language API key to be provided from the frontend.
GOOGLE_KEY=user_provided

您也可以使用 GOOGLE_SERVICE_KEY_FILE 环境变量来指定服务账号密钥文件:

# Path to the service account JSON key file
GOOGLE_SERVICE_KEY_FILE=/path/to/auth.json
 
# Or provide as a URL
GOOGLE_SERVICE_KEY_FILE=https://example.com/path/to/auth.json
 
# Or provide as stringified JSON
GOOGLE_SERVICE_KEY_FILE='{"type":"service_account","project_id":"your-project",...}'
 
# Or provide as base64 encoded JSON
GOOGLE_SERVICE_KEY_FILE=eyJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsICJwcm9qZWN0X2lkIjogInlvdXItcHJvamVjdC1pZCIsIC4uLn0=

这对于需要 Vertex AI 身份验证的功能(例如 OCR 功能)特别有用。

您也可以为 Vertex AI API 请求指定 Google Cloud 位置:

# Google Cloud region for Vertex AI
GOOGLE_LOC=us-central1
 
# Alternative region for Gemini Image Generation (defaults to global)
GOOGLE_CLOUD_LOCATION=global

由于目前尚不支持获取模型列表,您应该在 .env 文件中设置您想要使用的模型。

为了方便起见,以下是截至 2024 年 5 月 18 日可与 Generative Language API 一起使用的最新模型:

GOOGLE_MODELS=gemini-1.5-flash-preview-0514,gemini-1.5-pro-preview-0514,gemini-1.0-pro-vision-001,gemini-1.0-pro-002,gemini-1.0-pro-001,gemini-pro-vision,gemini-1.0-pro

如果您正在使用 Docker

如果您正在使用 Docker 并希望提供 auth.json 文件,则还需要在 docker-compose.override.yml 中挂载该卷。

version: '3.4'
 
services:
  api:
    volumes:
      - type: bind
        source: ./api/data/auth.json
        target: /app/api/data/auth.json

Google 安全设置

要为 Vertex AI 和 Generative Language API 设置安全设置,您可以在 .env 文件中设置以下内容:

GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH

您也可以通过在 .env 文件中设置以下内容来排除安全设置,这将使用提供商的默认设置。如果您在使用特定的安全设置时遇到问题,这可能会有所帮助。

GOOGLE_EXCLUDE_SAFETY_SETTINGS=true

注意:默认情况下,您无法访问 BLOCK_NONE 设置。 要使用此受限的 HarmBlockThreshold 设置,您需要执行以下任一操作:

注意:

  • Google endpoint 支持通过 librechat.yaml 配置文件使用所有 Shared Endpoint Settings,包括 streamRateheaderstitleModeltitleMethodtitlePrompttitlePromptTemplatetitleEndpoint

这篇指南怎么样?