2025, Dec 09 06:01
Как включить веб‑поиск в Gemini через Python и google.genai
Пошагово показываем, как включить веб‑поиск в моделях Gemini через Python: переход на клиент google.genai, инструмент GoogleSearch и минимальный пример кода.
Как включить веб‑поиск в моделях Gemini через Python SDK
В экосистеме OpenAI подключить веб‑поиск к пайплайну LLM довольно просто, а вот с Gemini легко запутаться, если начинать со старого Python‑пакета. Главное — перейти на новый клиент и явно передать инструмент поиска. Ниже — краткая пошаговая инструкция с рабочими примерами.
С чего обычно начинают разработчики
В OpenAI веб‑поиск включается инструментом в запросе. Минимальный пример:
from openai import OpenAI
oa = OpenAI(api_key="...")
reply = oa.responses.create(
model="gpt-4o-mini",
input=[
{"role": "system", "content": "..."},
{"role": "user", "content": "..."},
],
tools=[{"type": "web_search_preview"}],
)
Попытка повторить тот же приём в пакете google-generativeai часто упирается в тупик: переключателя tools для поиска там не видно:
from google.generativeai import configure, GenerativeModel
configure(api_key="...")
gm = GenerativeModel("models/gemini-2.0-flash")
res = gm.generate_content(
"...",
generation_config={"temperature": 0.1},
# where to enable web search?
)
Что происходит на самом деле
В Gemini веб‑поиск доступен как инструмент в новом клиенте, а не через generation_config в старом пакете. Возможность появляется, когда вы используете обновлённую библиотеку и указываете инструмент GoogleSearch в конфигурации запроса.
Решение: перейти на новый клиент и добавить инструмент GoogleSearch
Переключитесь на клиент google.genai и добавьте GoogleSearch в GenerateContentConfig. Ниже — минимальный пример с веб‑поиском:
from google.genai import Client
from google.genai.types import GenerateContentConfig, GoogleSearch
gcli = Client(api_key="...")
out = gcli.models.generate_content(
model="gemini-2.5-pro-preview-06-05",
contents="...",
config=GenerateContentConfig(
temperature=0.1,
tools=[GoogleSearch],
),
)
Почему это важно
Если вам нужен доступ к актуальным данным, выбор пакета определяет, сможет ли модель действительно искать в вебе во время инференса. Правильный клиент и корректно переданный инструмент — это разница между статичным ответом и выводом, основанным на свежих результатах.
Итоги
Если вам нужен веб‑поиск в Gemini на Python, используйте новый клиент и явно передавайте GoogleSearch через конфигурацию запроса. Остальные параметры генерации настраивайте по своему усмотрению; ключевое — параметр tools. Эта небольшая правка сохраняет пайплайн простым и добавляет ответы с поддержкой поиска.