Skip to content

Commit f61a980

Browse files
committed
updated readme
1 parent fcb516e commit f61a980

File tree

2 files changed

+47
-32
lines changed

2 files changed

+47
-32
lines changed

.github/assets/main-banner.png

189 KB
Loading

README.md

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
<div align="center">
2-
<a href="https://github.com/TechAtNYU/dev-team-spring-25">
3-
<img src=".github/assets/logo-text.png" width="520" alt="logo">
4-
</a>
5-
</div>
61

2+
# ClassroomLM
73
![ClassroomLM Banner](.github/assets/main-banner.png)
8-
ClassroomLM provides each of the many classrooms within an organization a specialized LLM assistant that is specific and accurate to the subject matter and resources of that particular classroom.
4+
5+
**ClassroomLM provides each of the many classrooms within an organization a specialized LLM assistant that is specific and accurate to the subject matter and resources of that particular classroom.**
96

107
???? add more to above about generating material, etc
118

@@ -27,27 +24,37 @@ Teachers can create classrooms, upload documents (PDFs, slides, handwritten note
2724

2825
### **Classroom-Specific AI Assistants**
2926

30-
Each classroom has access to an LLM assistant that is RAG-enabled, allowing it to be more specific and accurate, while also being more grounded and smarter at retrieving information from the class' resources unlocking greater potential for engaging learning, peer interaction, and more.
27+
Each classroom has access to an LLM assistant that is RAG-enabled, allowing it to be more specific and accurate, while also being more grounded and smarter at retrieving information from the class' resources, unlocking greater potential for engaging learning, peer interaction, and more.
3128

3229
![Personal Assistant Example](.github/assets/personal-example.png)
3330

3431
#### **Advantages over current user-facing AI assistant systems with use case examples**
3532

36-
????**More accurate, specific, and grounded**: The assistant can now operate in niche, specific, and even specially created context just for classrooms.
37-
> **Use case example**: An NYU Professor has a variation of assembly created specifically for the classroom, called E20. Putting the E20 manual into the shared classroom dataset gave all students within this classroom access to an assistant that is now specialized, knowledgeable, and with full context of this niche, not-seen-before language personally created by a professor. \
38-
> Comparing it to existing systems, they gave vague, non-specific, and non-accurate answers relevant to other assembly variants.
33+
**More accurate, specific, and grounded**: ClassroomLM's LLM assistant
34+
provides responses with full awareness and knowledge of the classroom's specific or niche context through the use of the instructor's documents, rather than operate in the default context of LLMs: "the entire world's knowledge."
35+
36+
> **Use case example**: An NYU Professor has a variation of assembly created specifically for the classroom, called E20. Putting the E20 manual into the shared classroom dataset gave all students within this classroom access to **an assistant that is now specialized, knowledgeable, and with full context of this niche, not-seen-before language personally created by a professor.** \
37+
> Compared to ClassroomLM, other user-facing assistant systems gave vague, nonspecific, and non-accurate answers relevant to other assembly variants.
38+
39+
---
3940

40-
**Logistical and practical benefits**: Created knowledge bases are shared across the entire classroom.
41+
**Logistical and practical benefits**: Created knowledge bases are shared across the entire classroom eliminating a need to individually upload.
4142

42-
Rather than an entire classroom's worth of students across all of their individual classes having to upload their documents individually, keep it up to date with new resources, and separate it from other classes, having a shared (but siloed) knowledge base for an entire classroom reduces the overhead, friction, and allows for superior use of resources.
43+
Rather than an entire classroom's worth of students having to upload their documents individually, keep it up to date with new resources, and separate it from other classes (and repeat all that across all classrooms in an org), **having a shared knowledge base for an entire classroom (but siloed from other classes) reduces the overhead, friction, and effort, while also allowing for superior use of those resources.**
4344

4445
> Implementing this core mechanism now provides a foundation for all the features that could benefit from having shared knowledge bases for subgroups.
4546
46-
**Diverse abilities and potential contexts**: Your imagination is the only limit on what is possible with your RAG-enabled LLM assistant ???
47+
---
4748

48-
> We use the existing power of LLMs and bring out their full potential for educators and students.
49-
The assistant can be used to generate exam questions, review material, interrogate the classroom documents, have a discussion about the content, judge and correct your understanding, etc. with many other abilities tested, and many more possible. And again, all of these will be more accurate and specific because of the grounding that comes from the classroom's resource dataset.\
50-
In terms of contexts, ClassroomLM was tested to be useful for subjects ranging from physics, different math topics, computer science, and also the humanities. For something like philosophy or other classes with many readings, ClassroomLM can shine because it's able to synthesize across the many readings, and without each student having to reupload all documents.
49+
**Powerful and highly flexible abilities**: Your imagination is the only limit on what is possible with your RAG-enabled LLM assistant.\
50+
**ClassroomLM brings out the full potential of LLM assistants for educators and students, so the existing, highly flexible powers and capabilities of LLMs that people expect are not only retained, but enhanced.**
51+
52+
The assistant can be used to generate exam questions, review material, interrogate the classroom documents, have a discussion about the content, judge and correct your own understanding, and many other tested abilities, and with even more possible.\
53+
And again, **in comparison to existing user-facing systems, all of these will be more accurate and specific because of the grounding that comes from the classroom's resource dataset.**
54+
55+
---
56+
**Tested in diverse contexts**:
57+
In terms of contexts, ClassroomLM was tested to be useful for subjects ranging from physics, different math topics, computer science, different topics within the humanities, etc. As an example, for something like philosophy or other classes with many readings, ClassroomLM shines because it's able to synthesize across the many readings, and without each student having to reupload all documents.
5158

5259
### **Collaborative AI Chats**
5360

@@ -56,28 +63,44 @@ Group chat support with other students the AI can participate with full chat con
5663
- Students can create multiple chatrooms per classroom and choose who to invite within each chatroom.
5764
- Within the chatroom, students can pull the LLM into the conversation in the manner of a group chat with the **`/ask [message]`** command.
5865
- The assistant in this case retains all the benefits described above for the personal chat, as it is also RAG enabled.
59-
???? can we move this out of quote
60-
> To be clear, this isn’t the common implementation of a "group chat with an assistant" very often found in company Slacks, etc. where the LLM is just responding to the message that triggered it. In that case, it's only more useful than just doing asking the LLM personally since the answer is visible to everyone. Instead here, when triggered with the `/ask` command the LLM will have knowledge of all the previous conversation and respond accordingly, as if it’s just part of the conversation.
66+
- To be clear, this isn’t the common implementation of a "group chat with an assistant" very often found in company Slacks, etc. where the LLM is just responding to the message that triggered it.\
67+
That case is only more useful than just asking the LLM personally since now everyone can benefit from seeing the answer.\
68+
Instead here, when triggered with the `/ask` command the LLM will have knowledge of all the previous conversation and respond accordingly, as if it’s just part of the conversation.
6169

6270
![Collaborative Chat Example](.github/assets/collab-full.png)
63-
??? add commentts to this
71+
72+
First, spots a correction to make many messages ago.
73+
74+
Proceeds to answer the question triggered with the /ask
75+
Note: answer is grounded in information from the knowledge base as seen in
6476

77+
<!-- <details>
78+
<summary>
79+
test
80+
</summary>
81+
-->
6582
![Collaborative chat with interactivity](.github/assets/example2-full.png)
66-
??? add commentts to this
83+
84+
??? add commentts to this, it comes from the main doc
85+
86+
<!-- </details> -->
6787

6888
## Technical Overview
6989

7090
![Technical overview](.github/assets/tech-overview.png)
7191

72-
**ClassroomLM builds on top of the [RAGFlow](https://github.com/infiniflow/ragflow) engine.** This is an open-source RAG (Retrieval-Augmented Generation) engine with the benefits of being polished, actively-maintained, and mature. \
92+
**ClassroomLM builds on top of the [RAGFlow](https://github.com/infiniflow/ragflow) engine.** This is an open-source RAG (Retrieval-Augmented Generation) engine with the benefits of being polished, actively-maintained, and mature. \
7393
This is especially true in terms of handling bugs and having a comprehensive and [well-documented HTTPS API](https://ragflow.io/docs/v0.19.0/http_api_reference) for the ClassroomLM application to utilize.
74-
As seen above in the diagram, the RAGFlow instance (note that this is self-hosted) is responsible for storing the documents within the knowledge base and handling the RAG functionality with the LLMs. **The application links the corresponding siloed datasets within RAGFlow to the correct classroom during all assistant functionality.**
94+
95+
### RAGFlow vs. ClassroomLM's responsibilities
96+
97+
As seen above in the diagram, the **RAGFlow** instance (note that this is self-hosted) **is responsible for storing the documents within knowledge bases and handling RAG functionality during LLM chats.\ ClassroomLM is responsible for the layer above this in terms of managing classrooms, collaborative chats, etc. For example, the ClassroomLM application is what links the siloed datasets within RAGFlow to the corresponding classroom for all LLM assistant functionality.**
7598

7699
### Repository contents
77100

78101
- `app`: Under the NextJS app router paradigm, everything within this directory matches the structure of the actual routes for the application.
79-
- `shared/components`: Components used multiple times within the app directory, including those from [ShadCN](https://ui.shadcn.com/)
80-
- `shared/lib`: Shared code for Supabase, an abstraction layer for RagFlow, and a React ContextProvider to give user and classroom information to pages
102+
- `shared/components`: Components used multiple times within the app directory, including those from [ShadCN](https://ui.shadcn.com/).
103+
- `shared/lib`: Shared code for Supabase, an abstraction layer for RagFlow, and a React ContextProvider to give user and classroom information to pages.
81104
- `shared/utils/supabase`: Used for the creation of different types of clients, typing Supabase calls, and handling middleware. Most code here is sourced from [Supabase's Server-Side Auth for NextJS reference](https://supabase.com/docs/guides/auth/server-side/nextjs?queryGroups=router&router=app).
82105

83106
## Usage
@@ -218,14 +241,6 @@ Then deploy:
218241
- `pnpm format` - Format code with Prettier
219242
- `pnpm format:check` - Check code formatting
220243

221-
## Development
222-
223-
- The project uses the Next.js App Router for routing
224-
- Components are styled using Tailwind CSS with shadcn/ui
225-
- TypeScript ensures type safety throughout the application
226-
- Git hooks (via Husky) ensure code quality before commits
227-
- Prettier and ESLint maintain consistent code style
228-
229244
## Credits
230245

231246
ClassroomLM was initially created by the first cohort of [Tech@NYU's](https://techatnyu.org) Dev Team Program in the Spring 2025 semester.

0 commit comments

Comments
 (0)