Skip to main content

LibreChat is joining ClickHouse. Learn more

LibreChat

Google

Google endpoint의 경우, Generative Language API(Gemini 모델용) 또는 Vertex AI API(Gemini, PaLM2 및 Codey 모델용)를 사용할 수 있습니다.

Generative Language API는 Google AI Studio에서 얻을 수 있는 API 키를 사용합니다.

Vertex AI의 경우, 적절한 액세스 권한이 구성된 서비스 계정(Service Account) JSON 키 파일이 필요합니다.

두 가지 모두에 대한 지침은 아래에 나와 있습니다.

Generative Language API (Gemini)

Gemini API 요금 및 사용량 제한은 여기를 참조하세요

⚠️ Google 모델은 무료이지만, 귀하의 Google 계정 및 API 키에서 식별 정보가 제거된 데이터를 사용하여 모델 개선에 도움을 줍니다. ⚠️ 이 기간 동안 귀하의 메시지는 "훈련된 검토자가 액세스할 수 있습니다."

Google AI Studio를 통해 Gemini 모델을 사용하려면 API 키가 필요합니다. 아직 API 키가 없다면 Google AI Studio에서 키를 생성하세요.

다음에서 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 모델은 Generative Language API가 아닌 Vertex AI를 통해서만 액세스할 수 있습니다.
    • 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 키를 모두 프론트엔드에서 다음과 같이 제공하도록 설정됩니다:

image

URL Context

Google의 URL Context 도구는 지원되는 Gemini 모델이 웹 페이지, 이미지, PDF와 같이 사용자 메시지에 포함된 URL을 읽을 수 있도록 합니다. 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: true

url_context는 Gemini 2.5+ 및 Gemini 3.x 모델을 포함하여 지원되는 Gemini 텍스트 모델에서 사용할 수 있습니다. url_context가 활성화되면 YouTube 링크는 Google의 URL Context 도구가 YouTube URL을 직접 지원하지 않기 때문에 Gemini의 기본 비디오 이해 기능을 통해 별도로 처리됩니다.

Vertex AI

Vertex API 가격 및 사용량 제한은 여기를 참조하세요

Google LLM(Google Cloud Vertex AI를 통해)을 설정하려면 먼저 Google Cloud에 가입하세요: cloud.google.com

일반적으로 $300의 시작 크레딧을 받을 수 있으며, 이를 통해 90일 동안 이 옵션을 무료로 사용할 수 있습니다.

  1. 가입이 완료되면, Google Cloud에서 Vertex AI API를 활성화하세요:
  2. Vertex AI 역할이 포함된 서비스 계정 생성:
    • 서비스 계정을 생성하려면 여기를 클릭하세요
    • 프로젝트를 선택하거나 생성하세요
    • 서비스 계정 ID를 입력하세요(필수). 이름과 설명은 선택 사항입니다.
      • image
    • "Create and Continue"을 클릭하여 최소한 "Vertex AI User" 역할을 부여하세요.
      • image
    • "Continue/Done"을 클릭하세요
  3. 프로젝트 디렉토리에 저장할 JSON 키 생성:
    • 서비스 계정 페이지로 돌아가기
    • 서비스 계정 선택
    • "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=

이는 OCR 기능과 같이 Vertex AI 인증이 필요한 기능에 특히 유용합니다.

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는 streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpoint를 포함하여 librechat.yaml 구성 파일을 통한 모든 Shared Endpoint Settings을 지원합니다.

이 가이드는 어떤가요?