Gemini
TL;DR
bash
ONGRID_GEMINI_API_KEY=...
ONGRID_GEMINI_MODEL=gemini-2.5-pro # default
ONGRID_GEMINI_BASE_URL= # defaults to generativelanguage.googleapis.com OAI modeProvider id: gemini. SDK 어댑터: Google generativelanguage API 의 OpenAI 호환 모드.
환경 변수
| Var | Default | Notes |
|---|---|---|
ONGRID_GEMINI_API_KEY | — | 비어 있음 = provider 제거 |
ONGRID_GEMINI_MODEL | gemini-2.5-pro | 기본 모델 |
ONGRID_GEMINI_BASE_URL | https://generativelanguage.googleapis.com/v1beta/openai | OpenAI 호환 엔드포인트 |
ONGRID_GEMINI_MODELS | gemini-3.5-flash,gemini-2.5-pro,gemini-2.5-flash | 카탈로그 리스트 |
기본 카탈로그
gemini-3.5-flash— frontier; 빠르고 놀랍게 저렴.gemini-2.5-pro— 카탈로그 기본; 균형.gemini-2.5-flash— 저렴한 것.
왜 OAI 호환 엔드포인트
Gemini 는 두 API 표면 가짐:
- Google 의 네이티브
generativelanguage.googleapis.com/v1beta/— OpenAI 와 구별되는generateContent형태. .../v1beta/openai/의 OpenAI 호환 레이어 — OpenAI 스타일chat/completions요청 수락, OpenAI 형태 응답 반환.
Ongrid 는 #2 사용. 호환 레이어는 eino-openai 어댑터가 변경 없이 동작함을 의미하며 tool call / system 메시지 / 스트리밍 모두 다른 provider 의 슬롯처럼 동작. 특별한 처리 없음.
OAI 호환 표면이 노출하지 않는 Gemini 전용 기능 (예: OAI 형태가 표현할 수 없는 미디어 입력) 이 필요하면 커스텀 어댑터 드롭인 — 그것은 지원되는 구성 밖.
Gemini 를 기본으로 만들기
bash
ONGRID_LLM_DEFAULT_PROVIDER=geminiBaseURL
기본은 generativelanguage.googleapis.com 으로 라우팅. BaseURL 오버라이드 사용:
- Vertex AI 프록시 엔드포인트 (보통
us-central1-aiplatform...). - 사내 Google Cloud relay.
Settings UI 의 이 필드에 표시되는 힌트는 "Google generativelanguage.googleapis.com (OpenAI compatibility mode)".
특이점
- 지역 제한 — 일부 Gemini 모델은 모든 지역에서 가용하지 않음. 업스트림의 403 은 채팅 대화 로그에 일반 API 에러로 안착; 이것을 얻으면 provider 의 지역 매트릭스 확인.
- 안전 필터 — Google 의 콘텐츠 필터가
finishReason: SAFETY와 함께 빈 메시지를 반환할 수 있음. Ongrid 어댑터는 이를 빈 답 대신 채팅에 명시적 "blocked by safety filter" 메시지로 렌더링. - 비전 — 이미지 입력은 표준
image_url콘텐츠 블록을 사용해 OAI 호환 레이어에서 동작; BaseTool 표면은 아직 이미지 params 를 노출하지 않음.