nlp-agent

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

AI-powered NLP learning and teaching platform for dialogue, practice, knowledge content, and service observability.

README.md
Nova feature walkthrough

Nova is a teaching and learning assistant for NLP courses. A single deployment serves four roles — Learner, Teacher, Developer and Monitor — so one instance covers a whole class.

Teachers author topics, Markdown knowledge points and exercise blueprints. Students ask questions in plain language and get step-by-step explanations, auto-graded practice, and a review of each answer against the rubric their teacher defined. The Developer configures models and infrastructure, and the Monitor watches every turn across the pipeline.

Start here

You want to... Go to
Run it locally in minutes Quick Start
See what it looks like Four dedicated views
Understand the feature set Features
Configure models & database .env-example
Contribute or extend it CONTRIBUTING.md

Four dedicated views

Nova runs four role-based views over a single deployment, so a whole classroom works on one instance:

Learner

The Learner view is where students do their coursework.

  • Ask questions in plain language and follow step-by-step explanations.
  • Practise with auto-generated exercises that come from your teacher's blueprints.
  • Review every answer against the weighted rubric your teacher defined.

Learner view

Teacher

The Teacher view is where instructors author the course.

  • Write topics and Markdown knowledge points; each question is injected with exactly the scope it needs.
  • Design exercise blueprints that generate questions and grade answers against weighted rubrics.
  • Keep grading consistent across the class with one shared rubric.

Teacher view

Developer

The Developer view manages model and runtime configuration.

  • Add and rotate model providers and their API keys in one place.
  • Tune runtime settings for the web, worker and sandbox services.
  • Manage the sandbox that runs generated code, isolated from the host.

Developer view

Monitor

The Monitor view is the observability dashboard.

  • Watch live turns, traces and metrics across web, worker and sandbox.
  • Inspect task activity along the whole pipeline.
  • Trace a single question from the client all the way to the answer.

Monitor view

Features

  • Four role-based views: Learner, Teacher, Developer and Monitor, separated by access control so each role sees only what it should.
  • Guided learning: question-and-answer sessions that resolve a problem step by step instead of dumping a single answer.
  • Auto-graded exercises: teachers define blueprints that generate questions and grade each answer against weighted rubrics.
  • Knowledge-point catalogue: teachers write topics and Markdown knowledge points; each question is answered with exactly the scope it needs, nothing more.
  • Observability: a built-in monitor shows turns, traces and metrics across web, worker and sandbox.
  • Modular runtime: a coordinator/worker engine on LangGraph, with tools, memory and sandboxed code execution.
  • Web and CLI: chat from the browser or the terminal, so students and teachers aren't tied to one interface.

Quick Start

Prerequisites

  • Python 3.11 or newer, and uv.
  • A MySQL database, configured in .env.

[!NOTE]
Copy .env-example to .env and fill in the model service key and database connection before starting.

[!TIP]
For the full distributed stack (nginx, MySQL, Redis, web, worker, sandbox manager), use the provided compose.yaml.

Install and run

uv sync                                   # install dependencies
Copy-Item .env-example .env               # prepare config: model key & database
uv run python main.py bootstrap-db        # initialize the database
uv run python main.py bootstrap-developer # create the first account
uv run python main.py serve               # start the server

Once it starts, open http://127.0.0.1:8765.

Log in and explore

Log in with the account created by bootstrap-developer:

Or chat from the terminal:

uv run python main.py chat

For the observability monitor, run uv run python main.py monitor first, then open http://127.0.0.1:8766/.

Documentation


This repository is licensed under the MIT license.

Yorumlar (0)

Sonuc bulunamadi