На курсе в рамках изучения Sandbox + Structured Output + CoT я включил такую практическую задачку.
Нужно написать скрипт, который позволит задавать text-to-sql вопросы по базам данных (вот тестовая SQLite из этого задания - DB1). Это тестовое задание, поэтому весь пайплайн можно собрать на коленке в Jupyter Notebook или PyCharm. Строчек 100 Python тут хватит.
Весь скрипт - это просто последовательность шагов, которая реализует простой паттерн:
(1) передаем вопрос пользователя c контекстом в LLM, просим написать SQL
(2) выполняем SQL по базе
(3) возвращаем ответ DB на экран
Есть набор тестовых вопросов с каноническими ответами (я их докину в комментарии), по которым можно посчитать accuracy score. И все задание состоит в вопросах:
(1) Посчитать accuracy score для каждого варианта БД.
(2) Почему оно такое низкое/высокое?
(3) Как можно улучшить качество?
(4) А что будет, если спросить у вашей системы "How many firemen work at the company?"? Что именно нагаллюцинирует система, и как этого избежать?
Если кто-то захочет попробовать решить эту задачку - в комментариях к этому посту я выложу список из вопросов для БД c правильными ответами.
Можно попробовать собрать свой pipeline и поделиться полученным числом правильных ответов. Да, и что именно отвечает ваша система на вопрос "How many women work at the company?"
Ваш, @llm_under_hood 🤗
PS: А еще в этом практическом задании специально зарыто несколько грабель. На одни из них можно наступить просто выполняя это задание. А на другие только сегодня утром в учебных условиях наступил победитель Enteprise RAG Challenge (просто они его еще не стукнули 😈).
Лучше на подобные грабли наступать в учебных условиях, чем, как я, тратить на них 2-3 дня жизни проекта перед его сдачей.
Нужно написать скрипт, который позволит задавать text-to-sql вопросы по базам данных (вот тестовая SQLite из этого задания - DB1). Это тестовое задание, поэтому весь пайплайн можно собрать на коленке в Jupyter Notebook или PyCharm. Строчек 100 Python тут хватит.
Весь скрипт - это просто последовательность шагов, которая реализует простой паттерн:
(1) передаем вопрос пользователя c контекстом в LLM, просим написать SQL
(2) выполняем SQL по базе
(3) возвращаем ответ DB на экран
Есть набор тестовых вопросов с каноническими ответами (я их докину в комментарии), по которым можно посчитать accuracy score. И все задание состоит в вопросах:
(1) Посчитать accuracy score для каждого варианта БД.
(2) Почему оно такое низкое/высокое?
(3) Как можно улучшить качество?
(4) А что будет, если спросить у вашей системы "How many firemen work at the company?"? Что именно нагаллюцинирует система, и как этого избежать?
Если кто-то захочет попробовать решить эту задачку - в комментариях к этому посту я выложу список из вопросов для БД c правильными ответами.
Можно попробовать собрать свой pipeline и поделиться полученным числом правильных ответов. Да, и что именно отвечает ваша система на вопрос "How many women work at the company?"
Ваш, @llm_under_hood 🤗
PS: А еще в этом практическом задании специально зарыто несколько грабель. На одни из них можно наступить просто выполняя это задание. А на другие только сегодня утром в учебных условиях наступил победитель Enteprise RAG Challenge (просто они его еще не стукнули 😈).
Лучше на подобные грабли наступать в учебных условиях, чем, как я, тратить на них 2-3 дня жизни проекта перед его сдачей.