Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat Interface for iGOT #1

Open
Vanshikabhatotia opened this issue May 3, 2024 · 7 comments
Open

Chat Interface for iGOT #1

Vanshikabhatotia opened this issue May 3, 2024 · 7 comments
Labels

Comments

@Vanshikabhatotia
Copy link
Contributor

Ticket Contents

iGOT Karmayogi has a course or a micro-learning content which beautifully explains the concept. However, user is unaware of the course content or how to search for a course or a content on iGOT. To let discoverability not become a hinderance, the employee shall be able to ask a specific requirement question, chat interface replies the same and further recommends the content which was referred for the answer.

A chatbot interface for end user where the user may ask a query from the chatbot and in response the platform reverts with an appropriate answer along with micro-learning content and course recommendation.

A User asks a question to the chat interface wherein user is stuck in his day-to-day office activities. For ex. Employee is new to the system and has been asked to do Noting and Drafting. Employee is familiar with the overall process, however, is stuck in the one of the internal processes.

A user is motivated to learn or search for a solution when stuck on a specific problem. This Experiential learning method helps retain the learning.

Goals & Mid-Point Milestone

  1. Develop a user-friendly chatbot interface integrated with iGOT platform.
  2. Enhance user experience by providing timely and relevant responses to user queries.
  3. Increase engagement and utilization of iGOT platform through personalized course recommendations and micro-learning content.

Setup/Installation

No response

Expected Outcome

  1. Improved accessibility to learning resources for users through a conversational interface.
  2. Increased user satisfaction and productivity by addressing queries effectively.
  3. Enhanced discoverability of iGOT courses and micro-learning content.

Acceptance Criteria

  1. Chat interface successfully integrated with iGOT platform, allowing seamless interaction.
  2. Chatbot capable of understanding user queries and providing accurate responses.
  3. Micro-learning content and course recommendations aligned with user queries and needs.
  4. User feedback indicating satisfaction with the chat interface and its recommendations.

Implementation Details

The project has to be built from scratch and is tech stack agnostic.

Mockups/Wireframes

No response

Product Name

Karmayogi

Organisation Name

MeitY

Domain

⁠Learning & Development

Tech Skills Needed

Other

Mentor(s)

@deepdarshan21

Category

Backend

@Vanshikabhatotia Vanshikabhatotia changed the title [DMP 2024]: Chat Interface for iGOT Chat Interface for iGOT May 3, 2024
@Anayverma
Copy link

Hi @Vanshikabhatotia, @deepdarshan21 ,I have experience in making an chatbot,(one such) I developed a chatbot ADIRA for women's safety with real-time data , stateful,persistent database, authentication -Firebase, with its frontend in Next.js deployed on vercel and backend in python deployed on onrender and database in Firebase Firestore.

you may use it -- https://adira-interface.vercel.app/

Being confident , I will be able to build an optimized , stateful , preserved Chat Interface for iGOT #1 in DMP2024

@cherrymekala
Copy link

hi @Vanshikabhatotia @deepdarshan21, I have an experience in developing chatbot using python and also integrating them with AWS and Azure platforms. I have also expertise in design better interfaces with UI/UX platforms like canva and figma. Hope my skills and enthusiams will be a match for this project. I'm very passionate in designing these kind of interfaces.

@Hiteshbardia
Copy link

Hiteshbardia commented May 4, 2024

Hi @deepdarshan21 @Vanshikabhatotia , I am highly interested in this project and i have exeprience in developing chatbot in python and for framework Rasa, Tensorflow, Pytorch. I assure you that my work will be successful and your time is valuable for me.

@Shashankss1205
Copy link

Respected Mentors @Vanshikabhatotia @deepdarshan21,

I am Shashank Shekhar Singh, a sophomore from IIT(BHU), India. I have been developing chatbots for tabular data analysis, code writing etc. I have also deployed them on Google cloud services. Eg: https://shashank-5o3w4fnwla-ue.a.run.app/
My tech stacks include Python, Web development using MERN Stack and Machine Learning. I am interested to contribute my skills to this project under the C4GT program.

Thanks and regards,
Shashank Shekhar Singh

@Pratikdate
Copy link

Hey recently i working on PDF Chat application , according to target goal we have to Integrate Chatbot capable of understanding user queries and providing accurate responses. For building custom chatbot to provide relate content and course recommendations aligned with user queries and needs we should use Microsoft Bot Framework, or Rasa .

Can I start working on it

@divy-vinayak
Copy link

Hey @Vanshikabhatotia!! My name is Divy Vinayak and I am a pre final year student at IIT Kharagpur. I am a passionate software engineer. I am the winner of Smart India Hackathon 2022. I am really excited to contribute to the project.

I recently build a similar Chat Product as part of My Major Project under Prof. Dr. Ram Babu Roy of Rajendra Mishra School of Entrepreneurship at IIT Kharagpur.
Here is the attached reposity of the project, Highly recomment checking it out as this project is very similar to the Chat Interface Requirement for iGOT.

I'm also attaching my propsal doc here as well. Please request access to view the document.

Really looking forward to working on the project. Thank you!!

@mansidw
Copy link

mansidw commented Jul 9, 2024

Weekly Learnings & Updates

Week 1

  • Researched available chatbot frameworks and libraries suitable for integration with
    the iGOT platform.
  • Explored methods for integrating voice-to text conversion using microphone and language translation capabilities.
  • Researched and implemented the response feedback functionality into the chatbot that would trigger after every response received from the Generative AI API.

Week 2

  • Looked for methods to generate synthetic data (which included the course related metadata information and user activity on the portal) for the pre processing required for the Gen AI (LLM) models pertaining to the feature of ‘Karmasaathi’, knowledge bot and the course recommender.
  • Finalized the most optimal schema structure for the data generation and storage in the database on which the further LLM’s would be processed for the use case.

Week 3

  • Continuation of the data generation process.
  • Researching about the various open source LLM’s that could be utilized for the features mentioned.
  • Learnt about the constraint of token length in case of gen ai models and also explored solutions to overcome (including text similarity based prompting, RAG approach - nearest embedding similarity calculation etc)

Week 4

  • Continuation of the data generation process. (found the Coursera courses data for the course-based QnA and still working on creating the synthetic data for user activity)
  • Researched about different embedding models, lang-chain and its integration with vector stores and the entire concept of RAG based approach of data prompting and input.
  • Finalised the llama open source model for the course content QnA bot with 8b parameters

Week 5

  • Learned to use Langchain with Chromadb as a vector store. Implemented functions to feed CSV course data into a persistent Chromadb client. Developed capabilities to query similar documents from Chromadb.
  • Experimented with the parsers provided by langchain to process data input then created a parser to convert CSV data into a specific format suitable for further processing.
  • Researched about how the deep-chat (package used for creating the chatbot in frontend) can incorporate HTML based formatting for the output of courses in response.
  • Implemented logging mechanisms in flask to persist the user feedback (currently only a Yes or No) to identify the shortcomings.

Week 6

  • On feedback from the mentor added the course specific rating in the output via the chatbot.
  • Started creating the user activity data and how will this be combined with the courses dataset.
  • Completed the integration of the backend with the chatbot in react alongwith the feedback logging.

Week 7

  • Updated the readme file to include the steps to recreate the application and also listed the features developed for the same.
  • Completed the user activity data creation alongwith the mapping of this data to the already obtained coursera course dataset.
  • Researched regarding the open source LLMs that could be used for generating the relevant responses based on user questions like course similarity search, course summary generation etc.

Week 8

  • Found the Groq APIs that provide a free service to call the underneath LLM models like llama, mistral, gemma and whisper. It also provides models for speech to text and vision models via an easy to use Rest API interface.
  • Changed a few introductory messages via the deep chat application and made changes in the UI code to enhance the color scheme and design of the chatbot.
  • Wrote the initial code for connection to the Groq models via the API.

Week 9

  • Created the workflow (agent specific in langchain) to identify the different services the chatbot should provide based on the user input.
  • Researched and tested various approaches to prompt engineering regarding the question categorization and successfully completed the first component.

Week 10

  • According to the workflow the course name also has to be inferred from the user query so developed a function to apply vector search on the courses dataset and find the most similar course derived.
  • Added the feature for generating a course summary based on the user course name that would only include the key points of the course.

Week 11

  • Researched and tested for prompts for the general search use case, where the user query could be a simple term meaning search as well. Also included adding response guidelines to not entertain questions that are irrelevant or may not be appropriate.
  • Started developing the feature of MCQ generation based on the course title along with the 4 options.

Week 12

  • Completed the development of the functions for the MCQ generation based on the user question and tested with different flows for a right or a wrong question.
  • Rectified the previous code by removing and also cleaning the extra code and formatting the code structure.

Week 13

  • Added some default response fallbacks after asking questions, proof read some prompts made minor changes.
  • Tested all the prompts and fallbacks with different pairs of questions and responses.
  • Updated the readme (Adding features and steps to code recreation).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants