Важно, чтобы клиенты могли легко и быстро находить продукты, которые они ищут. Часто клиенты не знают точное название продукта, что может привести к фрустрации, если они не могут найти его. В этом руководстве вы узнаете, как реализовать нечеткий поиск продуктов с помощью API OpenAI. Мы используем трюк, чтобы гарантировать, что даже похожие или ошибочные наименования продуктов успешно приводят к правильным продуктам.
Основные моменты
- Стандартный поиск требует точного соответствия наименований продуктов.
- Нечеткий поиск продуктов можно реализовать, возвращая все наименования продуктов, если точное совпадение не удается.
- Затем ИИ может выбирать правильное из похожих наименований продуктов и возвращать соответствующее описание продукта.
Пошаговое руководство
Чтобы создать нечеткий поиск продуктов, следуй этим шагам.
Шаг 1: Определение проблемы
Сначала нам нужно распознать основную проблему: поиск продукта слишком точный. Если наименование продукта, введенное клиентом, не соответствует точно тому, что есть в базе данных, продукт не будет найден. В предыдущем примере мы видели, что при вводе "en77" продукт не был найден, потому что его настоящее название было "Nice en 77". Здесь поможет снимок экрана с этой ошибкой.
Шаг 2: Изменение логики поиска
Для решения этой проблемы с логикой описания продуктов. Мы модифицируем функцию «найти продукт» так, чтобы она возвращала все доступные наименования продуктов, если точное совпадение не удается. Таким образом обеспечивается автономное поиск ИИ ближайшего подходящего наименования. Добавьте следующий код в описание функции: «если продукт не найден под точным именем, эта функция вернет все доступные наименования продуктов». Этот шаг поможет ИИ найти правильное совпадение, если точного наименования не существует.
Шаг 3: Обновление описания параметра
После изменения логики важно также обновить описание параметра. Используйте следующую формулировку: «название продукта или модели, чтобы найти». Это явно показывает, что функция также может искать похожие наименования, если точного совпадения нет.
Шаг 4: Изменение вызовов функций
Необходимо изменить обработку вызовов функций. Если наименование продукта успешно найдено и у нас есть идентификатор продукта, возврат описания происходит как ранее. Однако, если наименование продукта не найдено непосредственно, мы создаем массив наименований продуктов, включающий все ключи в базе данных. Этот массив затем используется для показа возможных наименований продуктов ИИ, который затем может определить желаемое совпадение.
Шаг 5: Проверка новой логики
После реализации изменений следует протестировать новую логику. Например, введите "У вас есть en77" без пробелов и полного наименования. Это позволит вам проверить, способна ли функция теперь найти правильный продукт. Результат должен указывать на доступность продукта "Nice en77". Это значительный прогресс, поскольку теперь поиск также работает на неточных вводах.
Шаг 6: Запрос описания продукта
Теперь можно проверить, правильно ли возвращается описание продукта. Запросите у ИИ дополнительную информацию, сказав: "пожалуйста, дайте мне больше информации об этой гитаре". Затем ИИ должен вернуть соответствующее описание на основе найденного наименования продукта. Здесь видно, что логика работает и предоставляет правильную информацию.
Шаг 7: Добавление в корзину
Получив описание, вы можете попробовать добавить продукт в корзину. Используйте команду: "add my Shopping Card". Эта функция должна работать без проблем, и продукт должен быть правильно добавлен в корзину. Это также показывает, что вся коммуникационная структура функционирует правильно.
Шаг 8: Завершение и перспективы
Используя эту технику, вы успешно реализовали нечеткий поиск продуктов, который позволяет ИИ лучше обрабатывать пользовательские запросы. В нашем простом примере у нас было только ограниченное количество продуктов, что упростило их сопоставление. Однако, при наличии базы данных с более чем 1000 продуктов может потребоваться исследование дополнительных техник, таких как embedding, для более точного учета сходства. Это поможет нам искать эффективно даже в больших наборах данных.
Итог
Это руководство показывает, как с помощью четкого процесса вы можете реализовать нечеткий поиск продуктов, чтобы упростить пользователям поиск продуктов, даже если они не уверены, как именно называется продукт. Изменения в логике поиска и настройки параметров позволяют создать эффективное решение, легкое в реализации и улучшающее пользовательский опыт.
Часто задаваемые вопросы
Как работает нечеткий поиск продуктов?Нечеткий поиск продуктов возвращает все имена продуктов, когда точных результатов не найдено, чтобы ИИ мог выбрать правильное название.
Что мне нужно изменить в функции "find product"?Вам нужно изменить логику так, чтобы она возвращала все имена продуктов, если точного совпадения не найдено.
Как протестировать новую логику поиска?Введите нечеткое название продукта, например "do you have the en77", и убедитесь, что правильный продукт найден.
Как ИИ обрабатывает сотни продуктов?ИИ способен обрабатывать сотни продуктов, пока не превышены предельные лимиты токенов, однако при большем объеме данных embedding могут быть лучшим вариантом.
Работает ли поиск даже в больших базах продуктов?Да, базовая логика работает даже в больших базах продуктов, однако может потребоваться использование дополнительных техник для обеспечения эффективности и точности.