Gemini CLI 프로바이더
Gemini CLI 프로바이더
ai-sdk-provider-gemini-cli 커뮤니티 프로바이더를 사용하면 @google/gemini-cli-core 라이브러리를 통해 Google의 Gemini 모델을 사용할 수 있어요. 기존 Gemini Code Assist 구독이나 API 키 인증을 사용하려는 개발자에게 유용해요.
출처: 문서
본문
버전 호환성 (Version Compatibility)
| 프로바이더 버전 | AI SDK 버전 | NPM 태그 | 상태 |
|---|---|---|---|
| 2.x | v6 | latest |
안정 (Stable) |
| 1.x | v5 | ai-sdk-v5 |
유지보수 (Maintenance) |
| 0.x | v4 | ai-sdk-v4 |
레거시 (Legacy) |
# AI SDK v6 (기본값)
npm install ai-sdk-provider-gemini-cli ai
# AI SDK v5
npm install ai-sdk-provider-gemini-cli@ai-sdk-v5 ai@^5.0.0
# AI SDK v4
npm install ai-sdk-provider-gemini-cli@ai-sdk-v4 ai@^4.0.0
설정 (Setup)
프로바이더 인스턴스 (Provider Instance)
createGeminiProvider를 임포트하고 인증 설정으로 프로바이더 인스턴스를 만들어요:
import { createGeminiProvider } from 'ai-sdk-provider-gemini-cli';
// OAuth 인증 (authType 생략 시 기본값)
const gemini = createGeminiProvider({ authType: 'oauth-personal' });
// API 키 인증
const gemini = createGeminiProvider({
authType: 'api-key', // 또는 'gemini-api-key'
apiKey: proces...KEY,
});
// Vertex AI 인증
const gemini = createGeminiProvider({
authType: 'vertex-ai',
vertexAI: {
projectId: 'my-project',
location: 'us-central1',
},
});
// Google Auth Library
const gemini = createGeminiProvider({
authType: 'google-auth-library',
googleAuth: myGoogleAuthInstance,
});
인증 옵션:
- authType 'oauth' | 'oauth-personal' | 'api-key' | 'gemini-api-key' | 'vertex-ai' | 'google-auth-library' - 선택 사항. 기본값은
'oauth-personal'이에요. - apiKey string -
'api-key'/'gemini-api-key'에 필요해요. - vertexAI \{ projectId, location \} -
'vertex-ai'에 필요해요. - googleAuth GoogleAuth -
'google-auth-library'에 필요해요. - cacheDir string - OAuth 자격 증명 캐시용 선택 디렉토리.
- proxy string - HTTP/HTTPS 프록시 URL.
언어 모델 (Language Models)
프로바이더 인스턴스를 사용해 CLI를 통해 Gemini를 호출하는 모델을 만들어요:
const model = gemini('gemini-2.5-pro');
지원 모델:
- gemini-3.1-pro-preview: 향상된 추론을 갖춘 최신 모델 (
thinkingLevel지원) - gemini-3-flash-preview: 빠른 Gemini 3 모델 (
thinkingLevel지원) - gemini-3.1-flash-lite-preview: 향상된 추론을 갖춘 최신 모델 (
thinkingLevel지원) - gemini-2.5-pro: 64K 출력 토큰을 갖춘 프로덕션 준비 모델 (
thinkingBudget지원) - gemini-2.5-flash: 64K 출력 토큰을 갖춘 빠르고 효율적인 모델 (
thinkingBudget지원)
예시 (Example)
import { createGeminiProvider } from 'ai-sdk-provider-gemini-cli';
import { generateText } from 'ai';
const gemini = createGeminiProvider({
authType: 'oauth-personal',
});
const { text } = await generateText({
model: gemini('gemini-2.5-pro'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});
모델 설정 (Model Settings)
const model = gemini('gemini-3.1-pro-preview', {
temperature: 0.7,
topP: 0.95,
topK: 40,
maxOutputTokens: 8192,
thinkingConfig: {
thinkingLevel: 'medium', // 'low' | 'medium' | 'high' | 'minimal'
},
verbose: true, // 디버그 로깅 활성화
logger: customLogger, // 커스텀 로거 (또는 비활성화하려면 false)
});
모델 기능 (Model Capabilities)
| 모델 | 이미지 입력 | 객체 생성 | 도구 사용 | 도구 스트리밍 |
|---|---|---|---|---|
gemini-3.1-pro-preview |
||||
gemini-3-pro-preview |
||||
gemini-3-flash-preview |
||||
gemini-2.5-pro |
||||
gemini-2.5-flash |
참고: 이미지는 base64로 인코딩된 데이터로 제공해야 해요. 이미지 URL은 지원되지 않아요.
인증 (Authentication)
OAuth 인증 (권장)
Gemini CLI를 전역으로 설치하고 인증하세요:
npm install -g @google/gemini-cli
gemini # 대화형 인증 설정 진행
그런 다음 코드에서 authType: 'oauth-personal'로 OAuth 인증을 사용하세요.
API 키 인증 (API Key Authentication)
- Google AI Studio에서 API 키를 생성하세요.
- 환경 변수로 설정하세요:
export GEMINI_API_KEY="YOUR_API_KEY" - 키와 함께
authType: 'api-key'를 사용하세요.
요구 사항 (Requirements)
- Node.js 22 이상
- OAuth 인증을 위한 전역 설치 Gemini CLI
- 유효한 Google 계정 또는 Gemini API 키
자세한 내용은 프로바이더 문서를 참고하세요.