# ChatGPT Xblock SRS
## Ticket
https://youtrack.raccoongang.com/agiles/104-950/105-2554?issue=PRESALE_NET-379
https://youtrack.raccoongang.com/issue/STL-99
## Business requirements
- Інструктор
Може задавати параметри перевірки відповіді студента потипу:
Check the “student answer” based on XXX book and provide a detailed feedback (up to 200 words) with result output - “right or wrong”
- Студент
Може писати “student answer” на питання Інструктора в відкритому форматі.
тобто з сетингів хблока брати першу частину prompt’а, а з відповіді студента другу => отримати розгорнуту відповідь ChatGPT з result output “right/wrong” який використовувати для грейдингу.
## Resources
API Docs: https://platform.openai.com/docs/guides/chat
## WBS
1. Налаштування інтеграції
1. Обробка даунтайму чатжпт
1. На базі чого будувати - ора чи щось кастомне.
1. Як презентувати результат (якщо ора то асинхронно).
1. Інструктор має мати змогу виправити відповідь ChatGPT
1. Створення базового XBlock на базі ORA2.
1. Реалізація UI для повідомлення що відповідь обробляється. Подумати як і коли показувати результат.
1. Імплементувати фейковий процесс із затримкою відповіді.
1. Інтегрувати модуль взаємодії з чатжпт в іксблок.
Ну це я так всі думки накидав як можна декомпозувати задачу... @xArxUFkrRB6ru2Pa01f1WA fyi
## Limitations
ChatGPT API платне по кількості реквестів
## Estimation
Rough: 80-100h
## High-level design
