Проблема в том, что простого предоставления схемы недостаточно для ChatGPT. Необходимо предоставить ему детали о таких вещах, как:
- что означают целочисленные коды
req_typeв таблицеapplication_requests - для чего используется столбец
user_idв таблицеtopics - что означают коды
action_typeв таблицеuser_actionsи в чём разница между столбцамиuser_id,target_user_idиacting_user_idв этой таблице
При наличии таких деталей GPT 3.5, похоже, справляется хорошо без дополнительного обучения. Однако возникает проблема: предоставление такого уровня детализации для всей базы данных приведёт к превышению лимита токенов в промпте ChatGPT (4096 токенов, включая как текст промпта, так и сгенерированный вывод). Если использовать такой подход, потребуется механизм ограничения того, что включается в промпт, в зависимости от того, какую информацию пользователь хочет получить из запроса Data Explorer.