对于 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 文件中,这将允许您实例的所有用户使用该密钥。
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-vision在maxOutputTokens设置为较高值时可能会失败。如果您遇到此问题,请尝试通过对话参数减小该值。
在 .env 文件中设置 GOOGLE_KEY=user_provided,即可将 Vertex AI 服务账号 JSON 密钥文件和 Generative Language API 密钥设置为由前端提供,具体如下:
URL Context
Google 的 URL Context 工具允许受支持的 Gemini 模型读取用户消息中包含的 URL,例如网页、图像和 PDF。在 LibreChat 中,可以通过 Google endpoint 参数 url_context 来启用它。
preset:
endpoint: google
model: gemini-2.5-flash
url_context: true您也可以通过 addParams 或参数默认值将其用于 Google 风格的自定义 endpoint:
custom:
- name: 'Google Gateway'
apiKey: '${GOOGLE_KEY}'
baseURL: 'https://gateway.example.com/v1'
models:
default: ['gemini-2.5-flash']
customParams:
defaultParamsEndpoint: google
addParams:
url_context: trueurl_context 可用于受支持的 Gemini 文本模型,包括 Gemini 2.5+ 和 Gemini 3.x 模型。当启用 url_context 时,YouTube 链接将通过 Gemini 原生的视频理解功能单独处理,因为 Google 的 URL Context 工具不支持直接处理 YouTube URL。
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 实例的所有用户使用它。
或者,您可以通过设置以下内容,让用户从前端提供它:
# 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.jsonGoogle 安全设置
要为 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 设置,您需要执行以下任一操作:
- (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。
这篇指南怎么样?