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

Google

Đối với Google endpoint, bạn có thể sử dụng Generative Language API (cho các mô hình Gemini), hoặc Vertex AI API (cho các mô hình Gemini, PaLM2 & Codey).

Generative Language API sử dụng một API key, bạn có thể lấy khóa này từ Google AI Studio.

Đối với Vertex AI, bạn cần có tệp khóa JSON của Service Account, với quyền truy cập thích hợp đã được cấu hình.

Hướng dẫn cho cả hai được cung cấp dưới đây.

Generative Language API (Gemini)

Xem tại đây để biết giá và giới hạn tốc độ của Gemini API

⚠️ Mặc dù các mô hình của Google là miễn phí, chúng sử dụng dữ liệu đầu vào/đầu ra của bạn để giúp cải thiện mô hình, với dữ liệu được loại bỏ định danh khỏi Tài khoản Google và khóa API của bạn. ⚠️ Trong khoảng thời gian này, tin nhắn của bạn “có thể được truy cập bởi các chuyên gia đánh giá đã qua đào tạo.”

Để sử dụng các mô hình Gemini thông qua Google AI Studio, bạn sẽ cần một API key. Nếu bạn chưa có, hãy tạo một key trong Google AI Studio.

Nhận API key tại đây: aistudio.google.com

Sau khi bạn đã có khóa của mình, hãy cung cấp khóa đó trong tệp .env, điều này cho phép tất cả người dùng trong instance của bạn sử dụng nó.

GOOGLE_KEY=mY_SeCreT_w9347w8_kEY

Hoặc, bạn có thể để người dùng tự cung cấp thông tin này từ giao diện người dùng bằng cách thiết lập như sau:

GOOGLE_KEY=user_provided

Một số reverse proxy không hỗ trợ header X-goog-api-key. Bạn có thể cấu hình LibreChat để sử dụng header Authorization thay thế:

GOOGLE_AUTH_HEADER=true

Vì việc lấy danh sách các model hiện chưa được hỗ trợ, bạn nên thiết lập các model mà bạn muốn sử dụng trong tệp .env.

Để thuận tiện cho bạn, đây là các model mới nhất tính đến ngày 18/5/24 có thể được sử dụng với 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

Ghi chú:

  • Một mô hình gemini-pro hoặc gemini-pro-vision là bắt buộc trong danh sách của bạn để đính kèm hình ảnh.
  • Khi sử dụng LibreChat, các mô hình PaLM2 và Codey chỉ có thể được truy cập thông qua Vertex AI, không phải thông qua Generative Language API.
    • Chỉ những model hỗ trợ phương thức generateContent mới có thể được sử dụng nguyên bản với LibreChat + Gen AI API.
  • Việc chọn gemini-pro-vision cho các tin nhắn có tệp đính kèm là không cần thiết vì nó sẽ được tự động chuyển đổi ở phía sau cho bạn.
  • gemini-pro-vision không chấp nhận các tin nhắn không có tệp đính kèm, các tin nhắn không có tệp đính kèm sẽ tự động được chuyển sang sử dụng gemini-pro, nếu không Google sẽ phản hồi kèm theo lỗi.
  • Với endpoint Google, bạn không thể sử dụng đồng thời cả Vertex AI và Generative Language API. Bạn phải chọn một trong hai.
  • Một số mô hình PaLM/Codey và gemini-pro-vision có thể gặp lỗi khi maxOutputTokens được đặt ở giá trị cao. Nếu bạn gặp vấn đề này, hãy thử giảm giá trị thông qua các tham số hội thoại.

Việc đặt GOOGLE_KEY=user_provided trong tệp .env của bạn sẽ thiết lập để cả tệp khóa JSON của Tài khoản Dịch vụ Vertex AI và khóa API Generative Language đều được cung cấp từ giao diện người dùng như sau:

image

URL Context

Công cụ URL Context của Google cho phép các mô hình Gemini được hỗ trợ đọc các URL có trong tin nhắn của người dùng, chẳng hạn như trang web, hình ảnh và tệp PDF. Trong LibreChat, hãy kích hoạt tính năng này bằng tham số url_context của endpoint Google.

preset:
  endpoint: google
  model: gemini-2.5-flash
  url_context: true

Bạn cũng có thể kích hoạt tính năng này cho một endpoint tùy chỉnh có cấu trúc giống Google bằng addParams hoặc các tham số mặc định:

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: true

url_context khả dụng trên các mô hình văn bản Gemini được hỗ trợ, bao gồm các mô hình Gemini 2.5+ và Gemini 3.x. Các liên kết YouTube được xử lý riêng biệt bằng khả năng hiểu video gốc của Gemini khi url_context được bật, vì công cụ URL Context của Google không hỗ trợ trực tiếp các URL YouTube.

Vertex AI

Xem tại đây để biết giá và giới hạn tốc độ của Vertex API

Để thiết lập các LLM của Google (thông qua Google Cloud Vertex AI), trước tiên, hãy đăng ký Google Cloud tại: cloud.google.com

Bạn thường có thể nhận được $300 tín dụng khởi đầu, giúp tùy chọn này miễn phí trong 90 ngày.

  1. Sau khi đăng ký, hãy Bật Vertex AI API trên Google Cloud:
  2. Tạo một Service Account với vai trò Vertex AI:
    • Nhấp vào đây để tạo Tài khoản Dịch vụ
    • Chọn hoặc tạo một dự án
    • Nhập ID tài khoản dịch vụ (bắt buộc), tên và mô tả là tùy chọn
      • image
    • Nhấp vào "Create and Continue" để cấp ít nhất vai trò "Vertex AI User"
      • image
    • Nhấp vào "Continue/Done"
  3. Tạo một khóa JSON để Lưu trong Thư mục Dự án của bạn:
    • Quay lại trang Service Accounts
    • Chọn tài khoản dịch vụ của bạn
    • Nhấp vào "Keys"
      • image
    • Nhấp vào "Add Key" và sau đó là "Create new key"
      • image
    • Chọn JSON làm loại khóa và nhấp vào "Create"
    • Tải xuống tệp khóa và đổi tên thành 'auth.json'
    • Lưu nó vào trong thư mục dự án, tại /api/data/
      • image

Thay thế: Sử dụng GOOGLE_SERVICE_KEY_FILE

Thay vì lưu tệp khóa vào /api/data/auth.json, bạn có thể sử dụng biến môi trường GOOGLE_SERVICE_KEY_FILE để chỉ định đường dẫn đến tệp khóa tài khoản dịch vụ của mình. Điều này mang lại sự linh hoạt hơn trong cách bạn quản lý thông tin xác thực của mình. Xem phần biến môi trường bên dưới để biết thêm chi tiết.

Lưu tệp khóa JSON của bạn trong thư mục dự án, điều này cho phép tất cả người dùng phiên bản LibreChat của bạn sử dụng nó.

Ngoài ra, bạn có thể để người dùng tự cung cấp thông tin này từ giao diện người dùng bằng cách thiết lập như sau:

# 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

Bạn cũng có thể chỉ định tệp khóa tài khoản dịch vụ bằng biến môi trường 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=

Điều này đặc biệt hữu ích cho các tính năng yêu cầu xác thực Vertex AI, chẳng hạn như các khả năng OCR.

Bạn cũng có thể chỉ định vị trí Google Cloud cho các yêu cầu Vertex AI API:

# Google Cloud region for Vertex AI
GOOGLE_LOC=us-central1

# Alternative region for Gemini Image Generation (defaults to global)
GOOGLE_CLOUD_LOCATION=global

Vì việc lấy danh sách các model hiện chưa được hỗ trợ, bạn nên thiết lập các model mà bạn muốn sử dụng trong tệp .env.

Để thuận tiện cho bạn, đây là các model mới nhất tính đến ngày 18/5/24 có thể được sử dụng với 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

Nếu bạn đang sử dụng Docker

If you're using docker and want to provide the auth.json file, you will need to also mount the volume in docker-compose.override.yml

version: '3.4'

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

Cài đặt an toàn của Google

Để thiết lập các cài đặt an toàn cho cả Vertex AI và Generative Language API, bạn có thể thiết lập các mục sau trong tệp .env của mình:

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

Bạn cũng có thể loại trừ các cài đặt an toàn bằng cách thiết lập các mục sau trong tệp .env của bạn, điều này sẽ sử dụng các cài đặt mặc định của nhà cung cấp. Việc này có thể hữu ích nếu bạn đang gặp sự cố với các cài đặt an toàn cụ thể.

GOOGLE_EXCLUDE_SAFETY_SETTINGS=true

LƯU Ý: Theo mặc định, bạn không có quyền truy cập vào cài đặt BLOCK_NONE. Để sử dụng cài đặt HarmBlockThreshold bị hạn chế này, bạn sẽ cần thực hiện một trong các cách sau:

  • (a) Nhận quyền truy cập thông qua danh sách cho phép (allowlist) từ nhóm quản lý tài khoản Google của bạn
  • (b) Chuyển loại tài khoản của bạn sang thanh toán theo hóa đơn hàng tháng bằng cách làm theo hướng dẫn sau: https://cloud.google.com/billing/docs/how-to/invoiced-billing

Ghi chú:

  • endpoint Google hỗ trợ tất cả Shared Endpoint Settings thông qua tệp cấu hình librechat.yaml, bao gồm streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplatetitleEndpoint

Hướng dẫn này thế nào?