This project is a FastAPI-based server application for managing classes and students. It provides endpoints to create, read, and delete classes, as well as group students based on similarities using text embeddings.
- Create a new class
- Read details of a specific class, including its students
- List all classes with pagination
- Delete a class
- Group students based on similarities
- Additional functionalities for managing student data
- Update student embeddings when information is added or updated
- Generate groups for a class based on student embeddings
POST /users/
: Create a new userGET /users/{email}
: Read user details by emailPUT /users/{email}/info
: Update user information and embeddingsGET /users/
: List all users with paginationDELETE /users/{email}
: Delete a user by email
POST /classes/
: Create a new classGET /classes/{class_id}
: Read class details by class IDGET /classes/
: List all classes with paginationDELETE /classes/{class_id}
: Delete a class by class ID
POST /group/groups
: Generate groups for a class based on student embeddings
When a user adds or updates their information, the application will automatically update their embeddings.
To generate groups for a class, use the /group/groups
endpoint. This will create groups based on the student embeddings for the specified class.