Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Semantic Caching

Семантическое кэширование возвращает сохранённый ответ LLM на новый запрос, если он означает то же, что и предыдущий: сравнивает эмбеддинги, пропускает вызовы модели и снижает расходы.

Семантическое кэширование сохраняет ответы большой языковой модели (LLM) или другой генеративной модели и повторно использует их для новых запросов с тем же смыслом, даже если формулировки различаются. Кэш преобразует каждый промпт в эмбеддинг, находит наиболее похожий сохранённый промпт и возвращает соответствующий ответ, если сходство превышает порог. При попадании в кэш вызов модели полностью пропускается, поэтому задержка сокращается до миллисекунд и запрос не расходует токены. Поскольку сопоставление учитывает смысл, запросы «Я забыл пароль» и «Как сбросить пароль?» используют один сохранённый ответ; кэшу точных совпадений, индексируемому по тексту промпта, пришлось бы хранить оба ответа отдельно. В 2023 году Zilliz выпустила библиотеку с открытым исходным кодом GPTCache для такого подхода; теперь эту функцию также предлагают векторные базы данных и шлюзы API.

Как работает семантический кэш#

Модель эмбеддингов предложений кодирует входящий промпт, а векторный поиск сравнивает его с эмбеддингами промптов, на которые уже были даны ответы, обычно с помощью косинусного сходства. Небольшие кэши помещаются в память, а большие хранятся в векторной базе данных с индексом приближённого поиска ближайших соседей. Если совпадения нет, модель генерирует новый ответ, а эмбеддинг нового промпта и ответ сохраняются вместе, обычно с указанием срока действия.

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

Выбор порога сходства#

Порог определяет, насколько могут отличаться два промпта, чтобы им всё ещё соответствовал один ответ. В этом примере модель all-MiniLM-L6-v2 из Sentence Transformers используется для кодирования записей кэша из трёх элементов:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

# Earlier prompts whose answers are already stored in the cache
cached = ["How do I reset my password?", "What are your opening hours?", "How do I cancel my subscription?"]
cached_embeddings = model.encode(cached)

# Each new prompt reuses the closest cached answer if it clears the threshold
queries = ["I forgot my password, how can I change it?", "When does the store open?", "How do I cancel my order?"]
for query in queries:
    query_embedding = model.encode(query)
    scores = model.similarity(query_embedding, cached_embeddings)[0]
    best = scores.argmax().item()
    status = "hit" if scores[best] >= 0.7 else "miss"
    print(f"{query} -> {cached[best]} ({scores[best]:.2f}, {status})")

Перефразированный запрос о пароле получает оценку 0,89 и правильно находит ответ. Перефразированный запрос о часах работы получает всего 0,61 и не находит совпадения. Запрос «Как отменить заказ?» получает оценку 0,71 по отношению к запросу «Как отменить подписку?» и выдаст неверную инструкцию. Сходство эмбеддингов отражает общность формулировок и темы, поэтому единого порога, разделяющего эти три случая, нет. В производственных кэшах эту проблему решают, дообучая кодировщик на парах перефразировок из собственного трафика, задавая пороги для отдельных категорий или передавая каждое потенциальное совпадение переранжировщику, который сравнивает два промпта перед выдачей ответа из кэша.

Где применяют семантическое кэширование#

Семантическое кэширование полезно там, где многие пользователи задают одни и те же вопросы, а ответы меняются редко: в службе поддержки, чат-ботах, внутренних справочных службах и ассистентах генерации с дополненной извлечением (RAG), работающих со стабильной документацией. Персонализированные, актуальные по времени или творческие запросы почти ничего не выигрывают от кэширования: повторно использованный ответ окажется неверным или шаблонным.

При обслуживании LLM работают ещё два типа кэша, но на других уровнях:

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

Семантический поиск использует такой же поиск по эмбеддингам для извлечения документов по запросу, а семантический кэш — для извлечения готовых ответов. Часто он работает внутри шлюза ИИ, который связывает приложения с поставщиками моделей.

Изображения можно использовать для индексирования кэша таким же образом. embed() в Ultralytics YOLO возвращает вектор признаков для каждого изображения, поэтому модель YOLO26, обученная для классификации изображений, может создавать ключи поиска, позволяющие повторно использовать предыдущее описание мультимодальной модели для почти идентичных кадров с камеры.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

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

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения