Гайд · TNWS AI

Как использовать embeddings GigaChat для поиска похожих текстов

2 мин

Embeddings GigaChat: вектор из 1024 координат, окно 512 токенов, косинусное сходство, чанкинг и проверка качества поиска.

Преобразуйте документы и запрос одной embedding-моделью, сохраните векторы и ищите ближайшие по косинусному сходству. В официальной карточке базовых Embeddings указаны контекст 512 токенов и размерность 1024; поэтому длинный документ надо делить на осмысленные фрагменты, а не обрезать молча.

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

function cosine(a,b){
 let dot=0, aa=0, bb=0;
 for(let i=0;i<a.length;i++){dot+=a[i]*b[i];aa+=a[i]*a[i];bb+=b[i]*b[i]}
 return dot/(Math.sqrt(aa)*Math.sqrt(bb));
}

// Проверка до записи в БД
if (embedding.length !== 1024) throw new Error("unexpected dimension");

Проверенные факты

  • Вектор базовой модели содержит 1024 координаты; поле vector в БД должно иметь совпадающую размерность.
  • Контекст 512 токенов требует чанкинга длинных страниц. Токен не равен слову или символу.
  • Векторы разных моделей нельзя смешивать в одном индексе без версии модели.
  • Косинусное сходство ранжирует семантическую близость, но порог релевантности подбирается на размеченных запросах.

Порядок действий

  1. Очистите навигацию и повторяющиеся футеры, сохранив заголовок раздела.
  2. Разделите текст по абзацам с небольшим перекрытием и метаданными source/page/version.
  3. Получите embeddings одной моделью для чанков и запроса.
  4. Выберите top-k, затем отфильтруйте документы по правам пользователя.
  5. Передайте найденные фрагменты генеративной модели с требованием ссылаться на источник.

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

Соберите 30 реальных запросов и отметьте правильные фрагменты. Измерьте recall@k: долю случаев, когда нужный кусок попал в первые k. Добавьте отрицательные запросы без ответа — система должна уметь отказаться.

Ограничения

Числа 512 и 1024 относятся к модели, описанной в официальной карточке; у других embedding-моделей параметры могут отличаться. Семантическое сходство не подтверждает факт и не заменяет контроль доступа.

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

  • Не обрезайте все документы до первых 512 токенов.
  • Не смешивайте векторы разных версий.
  • Не выбирайте порог по одному красивому примеру.

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

Какой размер вектора?

Для базовой карточки Embeddings — 1024 координаты.

Какой контекст?

512 токенов для указанной модели.

Что такое top-k?

Количество ближайших фрагментов, передаваемых дальше.

Нужен ли тест качества?

Да, минимум на размеченных реальных запросах.

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

Проверено 12 сентября 2026 года: https://developers.sber.ru/docs/ru/gigachat/models/embeddings

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

Комментарии

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