У меня возникают трудности с получением результатов от семантического AI-поиска, поэтому я хотел бы обсудить это со всеми и узнать, есть ли у кого-то идеи о том, что может быть не так.
Если взять простой пример и выполнить поиск по запросу «shopify», видно, что обычные результаты есть в достатке, но результатов от AI нет. Если сравнить это с поиском по запросу «shopify» в сообществе Discourse Meta, то видно, что там есть как множество обычных результатов, так и множество результатов от AI. Я пробовал более сложные и конкретные вопросы, но всё равно не получаю никаких результатов.
Что касается нашей настройки: мы используем gpt-4o-mini, и она правильно настроена в разделе LLM. Функция «Включить семантический поиск с AI-эмбеддингами» активирована. Для эмбеддингов мы используем «text-embedding-ada-002».
При первичном просмотре я обнаружил одну проблему в текущей конфигурации вашего сайта: хотя вы используете модель text-embedding-ada-002, вы заполнили настройки эмбеддингов для подсказок (prompts), которые не поддерживаются этой моделью. Я убрал заданные вами инструкции в этом разделе и заново сгенерировал эмбеддинги на вашем сайте.
Также я обновляю всплывающую подсказку для этих настроек, чтобы в будущем избежать подобной путаницы:
В остальном я попробовал выполнить поиск по запросу «shopify integration» и получил следующий гипотетический документ поиска:
Это соответствует нашим ожиданиям.
Не могли бы вы попробовать выполнить поиск сейчас и поделиться своими впечатлениями?
@Falco, это работает намного лучше, спасибо! Я добавил промпты в конфигурацию встраивания, пытаясь улучшить результат, но, конечно, это не имело никакого эффекта.
@Falco, возможно, я поспешил с выводами. Теперь при любом поиске ИИ всегда показывает ровно 40 найденных результатов, независимо от запроса. Многие из этих результатов также не совсем релевантны (например, предлагаются темы об этой категории).
В этом случае я ожидаю 0 результатов поиска и 0 результатов ИИ. Мы поддерживаем ES6/ECMAScript2015 JS (да, это уже очень старая версия), но пока что об этом нет ни одного сообщения в сообществе.
А, теперь я понял. В данном случае это не сработает.
Наш текущий поиск на базе ИИ работает следующим образом:
Принимает ввод пользователя
Создаёт новый пост на его основе, учитывая описание форума
Возвращает темы, наиболее семантически близкие к этому вводу
У нас нет порога расстояния, при котором поиск прекращается, так как определить универсальный порог, подходящий для тысяч экземпляров Discourse, — задача нетривиальная. Это обсуждается здесь: Setting a similarity threshold for semantic search.
Мы работаем над внедрением нового подхода, который будет использовать более стандартный поиск LLM + RAG и возвращать разговорный ответ, где можно настроить промпт так, чтобы он выдавал «результатов не найдено». Это появится в ближайшие недели; я напишу вам здесь, когда вы сможете протестировать новую версию.
Это было бы отлично. Я как раз пытался сделать это, добавив промпты в раздел эмбеддингов. Раз уж сейчас нельзя установить порог, поэтому ли мы всегда видим около 40 результатов?
Сегодня AI-поиск работает как система резервного копирования, когда стандартный поиск не находит результатов, действуя как сверхмощный словарь синонимов. Однако в вашем случае запрос поиска не имеет никаких возможных результатов во всём форуме, что не является тем случаем использования, для которого он был разработан.
Следите за обновлениями следующей версии поиска; она будет ближе к тому, что вы хотите.
Да, я хотел бы протестировать это на нашем сайте. Я уже проверил это на вашем сайте и также увидел существующий переключатель «Скрытие 50 результатов, найденных с помощью ИИ» при полном поиске. Использует ли этот переключатель всё ещё предыдущий поиск HyDE?
Новая функция вообще не использует переключатель. Она отображает диалоговый ответ над стандартным поиском и работает в тандеме с существующим ключевым и семантическим поиском.
Можно ли привязать к этому персону пользовательский инструмент? Я думаю, что это может стать способом извлечения релевантной документации из нашей внешней базы знаний для отображения её в результатах поиска без взаимодействия с ботом.