Google Programmable Search Engine

Google Programmable Search Engine (PSE)

Google PSE(커스텀 검색 엔진)를 LiteLLM /search 엔드포인트에서 사용하는 방법을 안내할게요. 검색 엔진을 만들고 API 키를 받아 설정해야 해요.

출처: 문서

본문

API 키 받기: Google Cloud Console 검색 엔진 만들기: Programmable Search Engine

설정

  • Google Developers Programmable Search Engine에 가서 로그인하거나 계정을 만들어요.
  • 제어판에서 Add 버튼을 클릭해요.
  • 검색 엔진 이름을 입력하고 속성을 구성해요:
    • 검색할 사이트를 선택해요 (전체 웹 또는 특정 사이트).
    • 언어와 기타 환경설정을 설정해요.
  • 로봇이 아님을 확인해요.
  • Create 버튼을 클릭해요.
  • 생성되면 다음을 볼 수 있어요:
    • 검색 엔진 ID (cx) - 이것을 GOOGLE_PSE_ENGINE_ID에 복사해요.
    • API 키를 얻는 방법.
  • API 키 생성:
    • Google Cloud Console - Credentials로 이동해요.
    • 새 API 키를 만들거나 기존 것을 사용해요.
    • 프로젝트에 Custom Search API를 활성화해요.
    • API 키를 GOOGLE_PSE_API_KEY에 복사해요.

LiteLLM Python SDK

Google PSE Search

import os
from litellm import search

os.environ["GOOGLE_PSE_API_KEY"] = "AIza..."
os.environ["GOOGLE_PSE_ENGINE_ID"] = "your-search-engine-id"

response = search(
    query="latest AI developments",
    search_provider="google_pse",
    max_results=10
)

LiteLLM AI Gateway

1. config.yaml 설정

config.yaml

model_list:
  - model_name: gpt-5.6-terra
    litellm_params:
      model: gpt-5.6-terra
      api_key: os.environ/OPENAI_API_KEY

search_tools:
  - search_tool_name: google-search
    litellm_params:
      search_provider: google_pse
      api_key: os.environ/GOOGLE_PSE_API_KEY
      search_engine_id: os.environ/GOOGLE_PSE_ENGINE_ID

2. 프록시 시작

litellm --config /path/to/config.yaml

# RUNNING on http://0.0.0.0:4000

3. 검색 엔드포인트 테스트

Test Request

curl http://0.0.0.0:4000/v1/search/google-search \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "latest AI developments",
    "max_results": 10
  }'

제공자별 파라미터

Google PSE Search with Provider-specific Parameters

import os
from litellm import search

os.environ["GOOGLE_PSE_API_KEY"] = "AIza..."
os.environ["GOOGLE_PSE_ENGINE_ID"] = "your-search-engine-id"

response = search(
    query="latest AI research papers",
    search_provider="google_pse",
    max_results=10,
    search_domain_filter=["arxiv.org"],
    # Google PSE-specific parameters (use actual Google PSE API parameter names)
    dateRestrict="m6",               # 'm6' = last 6 months, 'd7' = last 7 days
    lr="lang_en",                    # Language restriction (e.g., 'lang_en', 'lang_es')
    safe="active",                   # Search safety level ('active' or 'off')
    exactTerms="machine learning",   # Phrase that all documents must contain
    fileType="pdf"                   # File type to restrict results to
)

더 알아보기 (Learn more)