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 클라이언트 및 스트림 핸들러 사용자 정의

일반적인 사용 흐름

  1. 설치 (Composer 사용):
    composer require google-gemini-php/client
    
  2. API 키 제공 (Google AI Studio에서 발급).
  3. 클라이언트 생성 – 간편한 Gemini::client($key) 헬퍼 또는 완전히 구성된 팩토리 사용.
  4. 모델 선택 – $client->generativeModel('gemini-2.0-flash') 사용.
  5. 메서드 호출 – generateContent(), streamGenerateContent() 또는 startChat()으로 채팅 시작.
  6. 응답 처리 – $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에서 직접 가져온 것이며, 추가적인 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트