Что попадает в поиск

Какие виды содержимого инструменты делают доступными для поиска (текст, файлы, веб-страницы, голосовые, картинки), что нужно каждому и что не покидает ваш компьютер.

Узнайте до поиска, можно ли вообще найти то, что вы помните: фразу, PDF, голосовое, веб-страницу или фото. Каждый вид содержимого попадает в поиск по-своему. Что-то работает сразу, что-то требует одной команды, а часть выключена, пока вы её не включите. Индексирование идёт на вашем компьютере, индекс лежит в локальном архиве. Исключения названы там, где они есть.

Прежде чем начать

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

Что нужно каждому виду

СодержимоеЧто ищетсяЧто нужно
Текст сообщенийСлова, фразы, отправитель, чат, датаНичего: работает, как только сообщение сохранено
Текст файлов и документовСлова внутри файла (content:)Одна команда: attachments extract
Веб-страницы (файлы HTML)Слова основного текстаТа же команда
ГолосовыеСказанные слова (transcript:)Модель речи один раз, затем messages transcribe
Телефоны, почта, ссылкиСамо значение в любой записиНичего сверх этого: находятся в сообщениях, тексте файлов и расшифровках
Картинки по окружениюСмысл чата вокруг фотоТекстовая модель один раз, затем conversations embed
Картинки по тому, что на нихАнглийские слова, например "dog on a beach"Настройка, скачивание модели и images embed
Сканы и фото с текстомСлова из текстаАгент читает изображение и сохраняет текст

Для каждой строки верно одно. Файлы и картинки читаются на вашем компьютере и не меняются. Во внешний сервис они уходят, только если вы его выбрали: сервис моделей для массового распознавания сканов (ниже) или удалённая модель для поиска по смыслу.

Текст сообщений

Текст каждого сохранённого сообщения индексируется вместе с отправителем, чатом, датой, ссылками и данными о вложениях. Поиск по словам находит и другие формы слова. Для точной фразы используйте exact:. Как работает сопоставление: Как работает поиск.

tg personal search messages invoice
max personal search messages 'exact:"final invoice"'

has:text оставляет сообщения с текстом. С NOT находит те, где текста нет, например фото без подписи:

tg personal search messages 'has:photo NOT has:text'

Файлы и документы

attachments extract читает текст скачанных файлов и сохраняет его в архиве. После этого content: ищет внутри них. Чтение идёт на вашем компьютере.

tg personal attachments extract --chat "Book club" --download --output-dir ./files
tg personal search messages 'content:invoice'

Есть читатели для:

  • Простой текст: .txt, .md, .markdown, .json, .log, в том числе в распространённых старых кодировках.
  • Таблицы: .csv, .tsv, .xlsx, .ods, с листом, строкой и столбцом.
  • Документы и презентации: .pdf с текстовым слоем, .docx, .doc, .rtf, .odt, .pptx, .odp, .epub.
  • Веб-страницы: .html, .htm, .xhtml.

Веб-страница читается ради основного текста, а не разметки. Меню, подвалы и баннеры о cookie отбрасываются, из интернета ничего не загружается. Заголовки, списки, таблицы и текст ссылок остаются.

Файлы, которые нельзя прочитать как текст, например сканы и фото, попадают в список «нужен текст». Текст, который для них написал ваш агент, считается текстом файла, и content: его находит.

Сканы и фото с текстом

Агент читает изображение своими средствами зрения и сохраняет слова:

tg personal attachments list --chat "Book club" --needs-text
tg personal attachments text set "Book club" 204 --text-file ./scan.txt

Для многих сканов можно выбрать сервис моделей. Это единственное место, где файлы покидают компьютер: attachments extract --ocr отправляет изображения и страницы отсканированных PDF в настроенный вами сервис. Без --ocr никакая модель не вызывается.

Голосовые

Голосовое становится доступным для поиска, когда у него есть расшифровка. Инструмент сохраняет её и находит по обычному слову или по transcript:.

max personal models audio download gigaam-v3
max personal messages transcribe "Book club" 204
max personal search messages 'transcript:invoice'
  • Модель речи работает на вашем компьютере. Запись его не покидает. Модель скачивается один раз командой models audio download; сама она не скачивается.
  • Модели: parakeet-v3 знает 25 языков, gigaam-v3 лучше всех для русского.
  • tg может использовать и расшифровку самого Telegram, если она есть у вашего аккаунта (transcribeWith: auto, messenger или local). max всегда использует модель на вашем компьютере.
  • Локальная расшифровка читает полную запись Ogg Opus. Длинным записям нужно больше памяти и времени.
  • Расшифровка не мгновенна. --transcribe у messages list расшифровывает показанные голосовые, у которых ещё нет текста.

В файлах и расшифровках слово ищется в точной форме. Другие формы слова ищутся только в тексте сообщений.

Телефоны, почта и ссылки

Инструменты находят телефонные номера, адреса почты, ссылки, ссылки на документы Google и имена знакомых вам людей в тексте сообщений, файлов и расшифровок. Каждое такое значение хранится как упоминание. Поиск находит его в любой записи:

tg personal search messages 'phone:"+1 555 010 0100"'
tg personal search messages 'email:"[email protected]"'
tg personal search messages 'domain:example.com'

phone: находит +1 555 010 0100 и 15550100100 одинаково. domain: находит все ссылки и адреса этого сайта. Упоминания ищутся по правилам, без модели. Отклонённое упоминание остаётся отклонённым.

Картинки

Картинки ищутся двумя способами. Выбирайте по тому, что вы помните.

По окружению картинки

Вы помните, о чём говорили, когда пришло фото. conversations embed делает для каждого фото кусок текста: подпись, до 3 сообщений до и после него в пределах 10 минут, название чата и отправитель. Поиск по смыслу затем находит сообщение с фото на любом языке.

tg personal models text download e5-small
tg personal conversations build --chat "Book club"
tg personal conversations embed --chat "Book club"
tg personal search conversations "photos from the trip" --chat "Book club"

Фото без подписи и без сообщений рядом куска не получает. Чтобы найти его, используйте следующий способ. О поиске по смыслу вообще: Поиск по теме.

По тому, что на картинке

Вы помните, как выглядит картинка. Это выключено, пока вы не включите, и включается для одного профиля. Функция есть в последних релизах tg и max; проверьте свою версию командой images --help. По порядку:

  1. config set picture_search true
  2. images models download clip-b32
  3. images embed --chat "Book club" --limit 100
  4. Ищите словами, например search messages "dog on a beach"

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

  • Модель: CLIP ViT-B/32, около 155 МБ, скачивается один раз и общая для всех профилей.
  • images embed скачивает каждую сохранённую картинку через мессенджер, по одной, и ничего не отмечает прочитанным. Он хранит короткий список чисел (вектор) и хеш картинки, затем удаляет файл. Картинка не читается дважды. Запустите команду снова, чтобы продолжить.
  • Поиск сообщений по словам затем добавляет список pictures рядом с обычными результатами. Он сортируется отдельно и не меняет текстовые результаты. Слабые совпадения отбрасываются. При выключенной настройке списка нет. Если настройка включена, а модели нет, ответ содержит picturesSkipped.
  • Пишите запрос по-английски. Модель знает только английский. Ваш агент сначала переводит вопрос: «чек из магазина» превращается в "a shop receipt".

Картинки не покидают ваш компьютер.

Чем различаются инструменты

ИнструментСообщенияФайлыГолосовыеКартинки
tgДаДаРасшифровка Telegram или локальная модельПо окружению и по содержимому
maxДаДаТолько локальная модельПо окружению и по содержимому
memoЕщё почта и заметки, через search allПапки заметок: текст, таблицы, PDF, Word, презентацииНетНет
driveНетDocs, загруженный текст, Sheets, PDF, Word, Excel, CSVНетПо содержимому, изображения до 25 МБ

Drive оставляет сканы PDF, Slides, аудио и видео только по имени: слово из имени файла их находит, а в результате указана причина, почему текста нет. Подробнее: поиск в Drive, заметки Memo, поиск в Telegram, поиск в MAX.

Ограничения

  • Файл больше 50 МиБ не читается как текст. Измените это через MESSAGING_ATTACHMENT_MAX_MIB.
  • Из одного файла читается не больше 2 000 000 символов текста.
  • Архивы Office (.odt, .ods, .xlsx, .pptx, .epub) ограничены 1000 частями и 50 МиБ после распаковки. Файл сверх лимита помечается как слишком большой.
  • Сканы PDF для сервиса моделей: 20 страниц на документ.
  • Поиск по содержимому картинок понимает только английский.
  • Memo хранит не больше 200 000 символов каждого файла заметок или вложения письма.
  • Слова голосового можно найти только после расшифровки. Содержимое картинки можно найти только после того, как для неё создан вектор.

Проверьте результат

Найдите слово, которое точно есть в файле, голосовом или в чате рядом с картинкой, и посмотрите, где оно найдено. Каждый результат поиска сообщений говорит, откуда совпадение: из текста сообщения, расшифровки, имени файла или текста файла. Если какой-то вид содержимого не находится, проверьте единственный шаг, который ему нужен, в таблице выше.

Дальше: Поиск для обычных запросов или язык запросов для Telegram и MAX.