Гайд · TNWS AI

Как подключить File Search в Gemini API и отвечать по своим документам

WindowsmacOSLinuxGemini#Gemini API#File Search#RAG
2 мин

Создание хранилища File Search, загрузка документов, запрос с цитатами, metadata-фильтры и тесты против выдуманных ответов.

Создайте File Search store, загрузите документы, дождитесь завершения индексации и передайте имя хранилища инструменту file_search. В ответе сохраняйте annotations: они связывают утверждение с файлом и метаданными. Если подтверждения нет, интерфейс должен честно показать, что источник не найден.

Рабочий пример

const interaction = await ai.interactions.create({
  model: "gemini-3.8-flash",
  input: "По внутренним документам назови срок гарантии и источник.",
  tools: [{
    type: "file_search",
    file_search_store_names: [process.env.FILE_SEARCH_STORE]
  }]
});

console.log(interaction.output_text);
for (const step of interaction.steps ?? []) {
  console.dir(step, {depth: 6}); // ищем annotations
}

Что означает каждая важная часть

  • Хранилище создаётся и наполняется заранее; запрос не должен стартовать до окончания обработки файла.
  • file_search_store_names ограничивает поиск конкретными хранилищами. Не подключайте общий store с документами разных клиентов.
  • Annotations могут содержать имя файла, источник и custom metadata. Их нужно выводить рядом с утверждением, а не прятать в техническом объекте.
  • В Gemini 3 File Search можно сочетать со Structured Outputs, что удобно для извлечения суммы и валюты по схеме.

Порядок внедрения

  1. Разделите документы по правам доступа и жизненному циклу, затем создайте отдельные stores.
  2. При загрузке добавьте metadata: продукт, версия, дата действия и владелец.
  3. Дождитесь статуса готовности индекса; ошибочный файл отправьте в отдельную очередь.
  4. Перед запросом проверьте, что пользователь имеет доступ ко всем указанным stores.
  5. Разберите steps и annotations, сформируйте кликабельные ссылки на разрешённые оригиналы.

Как проверить результат

Загрузите документ с контрольной фразой и документ с устаревшим конфликтующим значением. Запросите факт на актуальную дату. Система должна показать источник и учитывать metadata версии. Затем спросите о факте, которого нет: корректный результат — отсутствие подтверждения, а не правдоподобная догадка.

Ограничения

Поиск извлекает релевантные фрагменты, но не гарантирует полноту. Плохая структура, сканы и противоречивые версии мешают ответу. Результаты нельзя показывать пользователю, который не имел доступа к исходному документу.

Чего не делать

  • Не смешивайте документы разных организаций в одном доступном store.
  • Не публикуйте ответ без annotations для важных фактов.
  • Не оставляйте устаревшие версии без даты и статуса.

Частые вопросы

Можно ли использовать пример в production?

Как основу — да, но добавьте авторизацию, таймауты, обработку ошибок, лимиты и тесты из статьи.

Где проверять актуальное имя модели?

В официальном каталоге Gemini API и Google AI Studio непосредственно перед развёртыванием.

Нужно ли доверять ответу без проверки?

Нет. Формат проверяется кодом, а важные факты — источником или вашей базой данных.

Что делать при изменении API?

Зафиксировать версию SDK, прочитать release notes и прогнать сохранённый набор интеграционных тестов.

Официальный источник

Документация Google, проверена 11 сентября 2026 года: https://ai.google.dev/gemini-api/docs/file-search

Читайте также

Комментарии

Пока тихо. Скажите первое слово