Skip to content

The Learning App is designed to provide a personalized educational experience. Users can input links to resources they want to learn from, and the LLM will update its knowledge base accordingly. The app offers various features, including reading generated pages, learning through video lectures, taking tests, and chatting with the AI.

Notifications You must be signed in to change notification settings

shivam6862/cleverchat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cleverchat

Contributors Forks Stargazers Issues MIT License


Cleverchat

AI-driven app with smart navigation, interactive chatbot, insightful videos, and personalized assessments.

Report Bug · Request Feature

About The Project

The Learning App is designed to provide a personalized educational experience. Users can input links to resources they want to learn from, and the LLM will update its knowledge base accordingly. The app offers various features, including reading generated pages, learning through video lectures, taking tests, and chatting with the AI.

(back to top)

Built With

  • react
  • next
  • typescript
  • django
  • VisualStudioCode

(back to top)

Getting Started

So as to run our project locally, you need to follow the steps below.

Installation

  1. Clone the repository:

    https://github.com/Sar2580P/cleverchat.git
    cd cleverchat
  2. Install dependencies for the frontend (Next.js):

    cd web
    npm install
  3. Install dependencies for the backend (Django):

    cd ../api
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
  4. Run the development servers:

    • For Next.js (frontend):
      cd web
      npm run build
      npm start
    • For Django (backend):
      cd ../api
      python manage.py runserver
  5. Open your browser and navigate to http://localhost:3000 for the frontend and http://127.0.0.1:8000/api for the backend admin interface.

(back to top)

Description

The Learning App is designed to provide a personalized educational experience. Users can input links to resources they want to learn from, and the LLM will update its knowledge base accordingly. The app offers various features, including reading generated pages, learning through video lectures, taking tests, and chatting with the AI.

Problem

  • Un-Interactive Bots: Many service bots today only respond in plain text, which can make interactions feel less engaging.

  • Upper-Bound on Agent Tools: Having too many tools available can overwhelm agents and potentially degrade their performance.

  • Reading is Tough: Users often prefer engaging content formats, such as videos or interactive media, over lengthy text-based content like blogs.

  • Maintenance of Tools: Agents are provided with a static list of tools for each query, which can lead to inefficiencies if the tools are not updated or optimized based on the query's context.

  • Increasing Context Length Unnecessarily: Expanding the context length without necessity can negatively impact the system's performance and efficiency.

Solution

Solution

Directed Acyclic Graph (DAG) for Queries

  • Each query is a directed acyclic graph (DAG) in itself.
  • Certain parts of the query contribute to answering other parts.
  • This idea allows segmenting the query into directed sub-tasks.
  • Solve and get the final response for each task topologically, enriching each segment with metadata like associated images, web-links, etc.
  • Serve the final response as a concatenation of enriched responses from each node in the graph.

Approach

Approach

Agent Hierarchy

  • Each agent has a set of agents and tools available to it, similar to how a prime minister has a set of ministers under them.
  • This hierarchical structure helps manage tasks efficiently.

DAG Module

  • Each agent has a module for creating a directed acyclic graph.
  • The DAG module establishes the relationship between the input/output of tools and agents.

Agent Runner

  • After exploring connectivity using the DAG module, each tool is run in a topological manner.
  • The output of a parent tool node is available to children as context in their prompt.

Node-Level Response

  • Each node in the graph is either a tool or another agent itself.
  • Each node handles contrastive parts of the original query and returns a response along with metadata (image-links, etc.).

A Tool: Teacher

Teacher

Knowledge Ingestion

  • Just provide the sources to build knowledge from, such as PDFs or web-links.

Making Lecture Notes

  • Performs chunking and embedding on documents.
  • Applies PCA on embeddings and clusters the reduced embeddings.
  • Orders clusters to maintain the flow of thoughts.

Video Lecture

  • Provides a video lecture to assist in understanding concepts.

Organizing Quiz

  • Provides an objective quiz to test understanding of the concept.

Key Features

  • Home Page: Add links to update the LLM's knowledge base.
  • Converse AI: Access new pages generated by the LLM from the provided links.
  • Insight AI: Learn through video lectures.
  • Evaluate AI: Take tests generated by the LLM.
  • Chat AI: Chat with the AI based on updated knowledge and general information.

Pages Overview

Home Page

Home

The starting point of the application where users can input links to resources. These links will be used to update the LLM's knowledge base, ensuring that the AI is up-to-date with the latest information provided by the user.

Converse AI

Converse

A section where users can read new pages generated by the LLM from the links provided on the Home Page. This allows users to stay updated with the latest information and insights derived from their specified sources.

Insight AI

Insight

This page features video lectures that facilitate learning. Users can watch educational videos tailored to the topics they've provided, making learning more interactive and engaging.

Evaluate AI

Evaluate

Users can take tests generated by the LLM on this page. The tests are designed to evaluate the user's understanding of the material provided in the links, helping users to assess their knowledge and progress.

Chat AI

Chat

A chat interface where users can interact with the AI. The AI uses the updated knowledge base to answer questions and provide information, making it a valuable tool for learning and general inquiries.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

A special thank you to all the current contributors who have made this project possible. You can view the contributors

(back to top)

About

The Learning App is designed to provide a personalized educational experience. Users can input links to resources they want to learn from, and the LLM will update its knowledge base accordingly. The app offers various features, including reading generated pages, learning through video lectures, taking tests, and chatting with the AI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published