Skip to main content

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:

  1. Web Orchestrator
  2. 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
}
],
}
}
]
}
NameTypeRequiredDescription
submitted_atdateYESSubmission time of assessment
assessor_iduuidYESID of the user taking the assessment
assessee_iduuidYESID of the user being assessed
competency_iduuidYESCompetency of the ID for which the assessment was taken
player_iduuidYESPlayer which was used to take the assessment
levelstringYESLevel for which the assessment was taken.
trackstringYESTrack for which the assessment was taken.
gradestringYESResultant grade of the user.
assessment_typestringType of the asssessment
statusstringYESStatus of the assessment results
identifierstringYESQuestion Identifier
start_timetimestampYESStart time of the assessment
end_timetimestampYESEnd time of the assessment
resultsobjectYESPlayer specific results objects