Гайд · TNWS AI
Как использовать embeddings GigaChat для поиска похожих текстов
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 токенов требует чанкинга длинных страниц. Токен не равен слову или символу.
- Векторы разных моделей нельзя смешивать в одном индексе без версии модели.
- Косинусное сходство ранжирует семантическую близость, но порог релевантности подбирается на размеченных запросах.
Порядок действий
- Очистите навигацию и повторяющиеся футеры, сохранив заголовок раздела.
- Разделите текст по абзацам с небольшим перекрытием и метаданными source/page/version.
- Получите embeddings одной моделью для чанков и запроса.
- Выберите top-k, затем отфильтруйте документы по правам пользователя.
- Передайте найденные фрагменты генеративной модели с требованием ссылаться на источник.
Как проверить результат
Соберите 30 реальных запросов и отметьте правильные фрагменты. Измерьте recall@k: долю случаев, когда нужный кусок попал в первые k. Добавьте отрицательные запросы без ответа — система должна уметь отказаться.
Ограничения
Числа 512 и 1024 относятся к модели, описанной в официальной карточке; у других embedding-моделей параметры могут отличаться. Семантическое сходство не подтверждает факт и не заменяет контроль доступа.
Чего не делать
- Не обрезайте все документы до первых 512 токенов.
- Не смешивайте векторы разных версий.
- Не выбирайте порог по одному красивому примеру.
Частые вопросы
Какой размер вектора?
Для базовой карточки Embeddings — 1024 координаты.
Какой контекст?
512 токенов для указанной модели.
Что такое top-k?
Количество ближайших фрагментов, передаваемых дальше.
Нужен ли тест качества?
Да, минимум на размеченных реальных запросах.
Официальный источник
Проверено 12 сентября 2026 года: https://developers.sber.ru/docs/ru/gigachat/models/embeddings
Читайте также
Как сделать семантический поиск через Ollama embeddings локально
Локальный поиск по смыслу через Ollama embeddings: чанки, API, cosine similarity и тест релевантности.
Как создать embeddings для поиска по текстам: чанки, векторы и проверка выдачи
Практический семантический поиск через embeddings: подготовка фрагментов, вызов API, cosine similarity и тест качества.
Как подключить File Search в Gemini API и отвечать по своим документам
Создание хранилища File Search, загрузка документов, запрос с цитатами, metadata-фильтры и тесты против выдуманных ответов.
Комментарии
Пока тихо. Скажите первое слово