(примерно столько сообщений), "размечены" по задающему вопросы и отвечающему (грубо - клиент: оператор), можно ли как-то использовать чат-ГПТ для построения по этим данным вопрос-ответной системы? или это скорее нереально
в диалогах в том числе есть общего характера реплики типа приветствия/прощания и т.п., то есть незначащие.
Как вариант (1) заранее батчем прогнать все вопросы человека в embeddings и сохранить в векторную БД вместе с ответами (использовать SBERT или аналоги) (2) когда человек задает вопрос, вытаскиваем из базы наиболее похожие вопросы и ответы по смыслу (через embeddings) и подсовываем в ChatGPT/LLM как дополнительный контекст, который модель может использовать для ответа (3) можно улучшить качество, если у ChatGPT/LLM просить привести вопрос человека к более стандартному для поиска по векторной БД (иногда улучшает качество) (4) бенчмаркать и бенчмаркать
спасибо! правильно ли я понимаю, что по сути мы используем сначала "обычный" семантический поиск нескольких подходящих вариантов, а потом условная чат-ГПТ использует результаты поиска в качестве контекста и формулирует уже конечный ответ грубо говоря своими словами
Да, именно. По пути можно еще добавлять промежуточные шаги для улучшения качества. Например, (1) отдельно спрашивать у GPT, насколько каждый из найденных вариантов релевантен для данного вопроса (чтобы формулировать ответ только на наиболее подходящих) (2) после ответа сразу спрашивать у пользователя, зашел ли он. Если зашел - сразу добавлять в базу
Обсуждают сегодня