Execution
Nipun SahAIyak is a platform to augment education with AI. More info about Nipun SahAIyak here.
Execution is the step of Bharat SahAIyak's AI augmentation for assessment flows where the generated and ingested assessments are shown to the end user and assessments are undertaken.
Platforms
Nipun SahAIyak supports 2 execution platforms currently:
- Web Orchestrator
- Android Orchestrator
Web Orchestrator
The web orchestrator displays the assessments configured from the NisAI backend on the web. Mobile responsiveness is a 1st class citizen of the NisAI web orchestrator. Ease of integration and cross platform support is the core focus of the NisAI web orchestrator. Integrators can easily embed the Web Orchestrator into their mobile apps (Android or iOS) to run assessments in their existing apps.
See the code here: web-orchestrator
Android Orchestrator
The Android orchestrator displays the assessments configured from the NisAI backend on native Android. Performance & complete Offline support is the core focus of the Android Orchestrator. Integrators can easily embed the NisAI Android Orchestrator into their Android apps.
See the code here: android-nisai-orchestrator
Verbal Assessments
Nipun SahAIyak consists of a Verbal Executor which can be embedded into clients to power verbal assessments generated and ingested in the previous phases. The current players are:
- BSTT Player
- GRA Player
If you have a different rendering framework to support kindly reach out to us or considering submitting a pull request.
BSTT Player
Clients can pass along the passage or the identifier of the passage to be read and the preferred model (optional). The BSTT Player intelligently records audio samples and sends it to the best model for assessment responses. It exposes the words per minute as well as the correct words spoken by the assessee. The BSTT Player internally uses the BhasAI S2T Service.
GRA Player
Clients can use Google Read Along to run assessments using NisAI. You need to pass the book_id
and NisAI GRA Player would take care of opening the book, processing the result and sending it back to you.
Non - Verbal Assessments
To render the Non - Verbal assessments Nipun SahAIyak contains the Question Executor which can be used across Android or Web to render the questions generated and ingested in the previous phases. The renderer contains players to render the content in the different formats created by the ingester. The current players are:
- ODK Player
If you have a different rendering framework to support kindly reach out to us or considering submitting a pull request.
ODK Player
The ODK rendering adapter of Nipun SahAIyak renders the ODK forms generated and ingested in the previous steps. It uses ODK Collect Extensions on Android and Workflow on the web, both of which are modules of Bharat SahAIyak. ODK Collect Extensions is an extension of ODK Collect while workflow is an extension of Enketo.
Embedding clients need to pass the competency id or the form identifier to the orchestrator. ODK player opens the necessary forms, allows the user to undertake the assessment and passes the result back to the client in a json.
Assessment Result
The orchestrator layer of Nipun SahAIyak send back a standardized Assessment Result to the integrating clients. Irrespective of verbal or non-verbal assessments, the same result would be exposed.
Below is a sample Assessment Result:
{
"data": [
{
"submitted_at": "2016-09-18T17:36:02.666Z",
"assessor_id": "a65fbddb-f146-4c41-b666-f51f99236280",
"assessee_id": "cd1d7e0f-7ad5-4d0e-94f9-efcfbe380b0f",
"competency_id": "9eae03c9-0ff3-412c-acfc-508b141ccc9b",
"player_id": "8898211c-01af-4c82-9346-27dee819f51e",
"level": 1,
"track": "English",
"grade": "Pass",
"assessment_type": "verbal",
"status": "APPROVED",
"identifier": "vRjSt213e",
"start_time": 1714638425867,
"end_time": 1714638425867,
"results": {
"correct_words_count": 9,
"total_words": 18,
"tts": 40,
"wpm": 9,
"correct_words": [],
"incorrect_words": [],
}
},
{
"submitted_at": "2016-10-18T17:36:02.666Z",
"assessor_id": "a65fbddb-f146-4c41-b666-f51f99236280",
"assessee_id": "cd1d7e0f-7ad5-4d0e-94f9-efcfbe380b0f",
"competency_id": "b5b2a68a-3ddd-462c-a79a-382a3b1ea3be",
"player_id": "e992e520-570d-444a-b0ac-603cbd89a160",
"level": 1,
"track": "Maths",
"grade": "A",
"assessment_type": "non-verbal",
"status": "APPROVED",
"identifier": "Vnhjy12dwe",
"start_time": 1714638425867,
"end_time": 1714638425867,
"results": {
"group_id": "32hj65dwe",
"max_score": 4,
"scored": 4,
"answers": [
{
"question_id": "V3tyvjgh3",
"answer_selected": [],
"score": 1
}
],
}
}
]
}
Name | Type | Required | Description |
---|---|---|---|
submitted_at | date | YES | Submission time of assessment |
assessor_id | uuid | YES | ID of the user taking the assessment |
assessee_id | uuid | YES | ID of the user being assessed |
competency_id | uuid | YES | Competency of the ID for which the assessment was taken |
player_id | uuid | YES | Player which was used to take the assessment |
level | string | YES | Level for which the assessment was taken. |
track | string | YES | Track for which the assessment was taken. |
grade | string | YES | Resultant grade of the user. |
assessment_type | string | Type of the asssessment | |
status | string | YES | Status of the assessment results |
identifier | string | YES | Question Identifier |
start_time | timestamp | YES | Start time of the assessment |
end_time | timestamp | YES | End time of the assessment |
results | object | YES | Player specific results objects |