google-gemini-php/client
⚡️ Gemini PHP is a community-maintained PHP API client that allows you to interact with the Gemini AI API.
개요
google‑gemini‑php/client는 Google의 Gemini 생성형 AI API를 래핑한 커뮤니티 관리 PHP 라이브러리입니다. PHP 개발자는 Gemini 모델을 호출하여 텍스트 완성, 멀티모달(텍스트 + 이미지/비디오) 쿼리, 이미지 생성, 스트리밍 응답, 구조화된 JSON 출력, 함수 호출, 코드 실행 및 실시간 Google 검색, 지도, 파일 검색과 같은 다양한 "그라운딩(grounding)" 기능을 사용할 수 있습니다. 이 패키지는 Composer를 통해 배포되며 PHP 8.2+가 필요합니다.
주요 기능
| 기능 | 설명 |
|---|---|
| 모델 액세스 | $client->generativeModel()을 통해 모든 Gemini 모델(예: gemini-2.0-flash, gemini-2.5-flash-image) 호출 |
| 멀티모달 입력 | 텍스트와 이미지(Blob) 또는 비디오(UploadedFile)를 단일 요청으로 전송 |
| 이미지 생성 | Imagen 모델을 사용하여 프롬프트로부터 이미지 생성(가로세로 비율 설정 가능) |
| 채팅 및 스트리밍 | 멀티턴 대화 구축; 부분적인 결과를 스트림으로 수신 가능 |
| 구조화된 출력 | JSON(또는 기타 MIME 유형)을 요청하고 응답 스키마를 정의하여 기계가 읽을 수 있는 데이터 반환 |
| 함수 호출 | 모델이 호출할 수 있는 함수를 선언하고, FunctionCall 객체를 받아 함수를 실행한 뒤 결과를 피드백 |
| 코드 실행 | 모델이 코드를 생성하고 실행하여 실행 결과를 반환하는 기능 활성화 |
| 그라운딩 도구 | Google 검색, Google 지도 또는 비공개 파일 검색 저장소를 연결하여 모델이 최신 정보나 비공개 정보를 인용하도록 설정 |
| 시스템 지시 | 모델의 어조, 스타일 또는 동작에 영향을 주는 시스템 수준의 프롬프트 설정 |
| 파일 관리 및 캐시된 콘텐츠 | 파일 업로드, 목록 조회, 삭제; 반복 쿼리 속도를 높이기 위한 캐시된 콘텐츠 객체 생성 |
| 설정 | 기본 URL, HTTP 헤더, 쿼리 매개변수, HTTP 클라이언트 및 스트림 핸들러 사용자 정의 |
일반적인 사용 흐름
- 설치 (Composer 사용):
composer require google-gemini-php/client - API 키 제공 (Google AI Studio에서 발급).
- 클라이언트 생성 – 간편한
Gemini::client($key)헬퍼 또는 완전히 구성된 팩토리 사용. - 모델 선택 –
$client->generativeModel('gemini-2.0-flash')사용. - 메서드 호출 –
generateContent(),streamGenerateContent()또는startChat()으로 채팅 시작. - 응답 처리 –
$result->text()또는$result->json()을 호출하거나 함수 호출, 코드 실행 결과 등의 파트를 검사.
코드 예제 (시스템 프롬프트가 포함된 채팅)
use Gemini; // 패키지에서 제공하는 파사드
$client = Gemini::client(getenv('GEMINI_API_KEY'));
$response = $client
->generativeModel('gemini-2.0-flash')
->withSystemInstruction(
Gemini\Data\Content::parse(
'You are a helpful assistant that always responds in the style of a pirate.'
)
)
->generateContent('Tell me about PHP programming');
echo $response->text(); // Ahoy there, matey! …
대상 사용자
- 웹 앱, CLI 도구 또는 백엔드 서비스에 생성형 AI 기능을 추가하려는 PHP 개발자.
- 멀티모달(텍스트 + 이미지/비디오) 또는 실시간(스트리밍) 상호작용이 필요한 팀.
- 구조화된 데이터(JSON) 또는 도구 사용(함수 호출, 코드 실행, 실시간 검색)이 필요한 프로젝트.
제한 사항 및 고려 사항
- 이 라이브러리는 Gemini v1beta API(버전 2.0 기준)만 지원합니다. 이전 Gemini 버전과는 호환되지 않습니다.
- 사용자는 자신의 Google API 키를 제공하고 관련 비용을 관리해야 합니다.
- 일부 고급 기능(예: 함수 호출 서명, 코드 실행)은 특정 Gemini 모델 버전에 따라 다릅니다. 모델 호환성은 공식 Gemini 문서를 확인하십시오.
- 이 패키지는 PSR‑18 HTTP 클라이언트 표준을 따르며, 호환되는 HTTP 클라이언트(Guzzle 권장)가 필요합니다.
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트