Hack Five For members

The Fifth Elephant Open Source AI Hackathon 2024

GenAI makers and creators contest and showcase

Make a submission

Accepting submissions till 15 Feb 2024, 11:00 PM

Hasura, Bangalore

Tickets

Loading…

Overview

The Fifth Elephant Open Source AI Hackathon started on 5 January 2024 and reached its finale with a Demo Day event on 12 April 2024, when the winners of the two month long contest were chosen.

The aim of this hackathon was to encourage individuals/teams to apply and incubate innovative AI ideas/use cases and publish them as open source projects.

  • The hackathon contest participants worked with mentors for over two months to refine their ideas, and advance them to a stage where they are viable projects that could be pursued beyond the hackathon.
  • the project teams worked on AI’s application in education, accessibility, creative expression, scientific research, languages, under the overall theme of AI for India.
  • competing projects were judged on impact and relevance, innovation and creativity, technical soundness and code quality, scope of expansion, reusability and ease of adoption

As a campaign to raise awareness and drive up developer adoption of AI and open source technologies, the hackathon was a great success. It helped shine light on the agility that open source technology enables for creative and innovative developers.

Open Source AI Hackathon Winners

Testimonials

“...each one of the contestants put in tremendous effort. And we saw the passion in every person, trying to do things not for winning, but about really building your projects. After a long time, I am attending such a hackathon where young folks are so passionate about building. Kudos to all of you”.
- Rukma Talwadker, Jury Member, Senior Principal Scientist at Games 24x7

“I really enjoyed judging all the projects - lot of interesting work. The Fifth Elephant has done a great job with mentoring and curating this hackathon”.
- Tanuja Ganu, Jury Member, Principal RSDE Manager, Microsoft India

“The hallmark of this hackathon was getting younger people to code for a longer period of time as opposed to a typical hackathon which turns out to be about — how do you build the coolest thing in the shortest period of time”.
- Sumod Mohan, mentor.

“What is impressive about this particular hackathon is, it is not just about cool ideas and fancy demos. It is actually about building a product or a software or a model that can live beyond the demo (and contest).”
- Soma Dhavala, team member at Project Seshu

“It was only through putting my ideas to code that I learnt what the specificity of implementing these (LLMs) were. I began my journey with a sense of hope and commitment towards FOSS principles, and the Hackathon only reinforced my belief that collaboration maketh a better product.”
- Sankalp Srivastava, Creator of Project Schematise

Key highlights from the hackathon

During the course of 12 weeks, the hackathon involved:

  1. Started off on 5 January 2024 and invited open source ideas and projects.
  2. Mentorship sessions in February for all project teams. Mentors included Abhishek H Mishra aka Tokenbender, Arvind Saraf, Bharat Shetty, Ramesh Hariharan, Sidharth Ramachandran, Simrat Hanspal, Sumod Mohan and Vinayak Hegde.
  3. The 10 best from 40 applications were chosen for the Demo Showcase.
  4. An involved peer-review process helped further refine projects between March 1st - 15th, followed by extensive rehearsals from April 8th - 10th, 2024.
  5. On Demo Showcase Day - we had project demos from 10 qualifying teams; 5 project winners were chosen on 12 April 2024.

The Prizes

🏆 Five prizes of ₹1,00,000 (One lakh rupees) per theme, were awarded to winning projects.
The prizes for this hackathon have been sponsored by Meta.

Note: Apart from the contest prizes, Microsoft has offered internships to the contestants.

Jury

  1. Ashok Hariharan heads data and business intelligence at United Nations Volunteers.
  2. Rukma Talwadker is Senior principal scientist at Games24x7.
  3. Shubha Shedthikere is a Senior Manager in the Data Science team at Swiggy.
  4. Sunil Abraham is the Public Policy Director for Data Economy and Emerging Tech at Meta, India.
  5. Tanuja Ganu is a Principal RSDE Manager at Microsoft Research India.

Mentors

  1. Abhishek Mishra is a is creator of CodeCherryPop LLM series.
  2. Arvind Saraf is a computer scientist, engineering leader, entrepreneur trained at IIT, MIT and Google.
  3. Simrat Hanspal is currently spearheading AI product strategy at Hasura.
  4. Sumod Mohan is the co-founder and CEO of AutoInfer.

Editors

About The Fifth Elephant

The Fifth Elephant is a community of practitioners, who share feedback on data, AI and ML practices in the industry. If you like the work that The Fifth Elephant does and want to support its activities - review of Papers, Books, building the innovation ecosystem in India through hackathons and conferences - contribute by picking up a membership.

Contact

💬 Post a comment with your questions here, or join The Fifth Elephant Telegram group and the WhatsApp group.

Follow @fifthel on Twitter.

📞 For any inquiries, call The Fifth Elephant at +91-7676332020.

sponsor image

Hosted by

The Fifth Elephant hackathons

Supported by

Host

All about data science and machine learning

Venue host

Welcome to the events page for events hosted at The Terrace @ Hasura. more

Partner

Providing all founders, at any stage, with free resources to build a successful startup.

Yash Malviya

@yash98

Pushkar Aggrawal

@pushkaraggrawal

K Santanu Sekhar Senapati

@santanusenapati

Knowledge Preservation

Submitted Feb 4, 2024

Github link (most upto date roadmap / proposal here): https://github.com/yash98/journalist-bot

Dynamic Survey

Core Idea

Knowledge Gathering: Utilizing minimal initial input to generate targeted questions that maximize information gathering by having a dialogue with people.
Knowledge Organization: Streamlining the structuring and analysis of gathered data for enhanced insights.

Another use case with a lot of overlap with the current one: Journalist bot - conduct interview with people to distill and preserve niche and novel information

Motivation

Traditionally, surveys have predominantly consisted of multiple-choice and close-ended short answer questions. This is partly because analyzing responses to open-ended questions can be challenging. However, advancements in Natural Language Processing (NLP), such as Large Language Models (LLMs), have made it easier to tackle this issue. The efficiency and depth of traditional survey tools are often compromised by their inability to engage respondents fully, resulting in low participation rates and superficial data. The rigidity of preset questionnaires contributes to this problem, as they fail to adapt to the respondent’s unique perspectives or probe for deeper understanding. However, the evolution of machine learning, especially in natural language processing, now offers a solution to these challenges by enabling more nuanced interpretation of text-based responses.

Open-ended questions allow survey participants to express their thoughts and opinions more freely, potentially revealing insights that the survey creator hadn’t anticipated. In contrast, multiple-choice questions can inadvertently influence responses by presenting predefined options. However, open-ended questions also pose challenges, such as vagueness or lack of specificity, which may hinder the extraction of useful insights. Moreover, the process of identifying when a respondent’s answers lack clarity or context—and therefore require follow-up for clarification or additional detail—is traditionally manual, leading to inconsistency and missed opportunities for deeper data collection. In such cases, follow-up questions can help prompt participants to provide more specific information. Our focus is on addressing the challenges associated with open-ended questions, particularly regarding vagueness and staying aligned with the purpose of the question. This challenge is often only recognizable after the fact, underscoring the need for a more dynamic and responsive survey mechanism.

Solution

The introduction of a Large Language Model (LLM)-based survey tool revolutionizes data collection by dynamically interacting with respondents in a conversational manner. This tool is designed to understand and evaluate users’ responses in real-time, enabling it to ask follow-up questions that are tailored to the individual’s answers and the nuances within them. By employing a combination of advanced language understanding capabilities and real-time response evaluation, this application not only enhances engagement and participation rates but also ensures the collection of more detailed and meaningful data.

Demo

Dynamic Survey Demo

Presentation

Presentation Link

How to run?

  1. Setup backend, frontend, lm-server as mentioned in README.md in their respective folders
  2. Then UI can be access at http://localhost:8501
  3. Recommended hardware Nvidia T4 GPU (you need about 16GB GPU RAM)

User Experience

User Journey

User opens our application - what do they see, what can they do there. With every user action what changes and are the the next possible user actions

Survey Creator

  1. Create a new Survey
    1. Add topic
      1. Describe topic
    2. Add questions
      1. We will suggest some possible questions based on the topic and previously added questions
      2. Select question type -
        1. MCQ
        2. Text
          1. Creator specified configs -
            1. Maximum follow up question depth
            2. Question objective
            3. Criteria to evaluate whether to ask follow up questions or not
              1. Was answer specific?
              2. Was answer ambiguous?
              3. Was an example given in the answer?
              4. Did user understand the question? Did they answer the asked question or something else?
              5. Did user find the question irrelevant?
              6. Is question objective reached?
          2. With every question creator gets a field to explain / rephrase the question differently
            1. Suggest options using LLM
  2. Survey Analysis
    1. Research
    2. Can we use analysis to improve the follow up questions (P4)

Survey Participant (Filler)

Basic UI were user answers the configured questions one after the other

Solution Details

Survey Creation (High Level Design)

Survey Creation

Survey Bot Chain of Agents (High Level Design)

Survey Bot Chain of Agents

Tech Architecture

Tech Architecture

A fronted app written using streamlit can be used to create surveys and for filling survey
The fronted app interacts with a backend service written using FastAPI
The backend service contains the survey bot which use two agent - objective met agent, question generation agent to generate follow up questions wherever needed
The data for survey questions, conversation done with a survey participant and state of survey is stored in mongodb.
For LLM capabilities we host the model using vLLM which comes with a lot of LLM inference optimisations out of the box.
LLM used is quantised gemma-7b-it

Automated Evaluation

Objective Met Agent

We generated 20 surveys with questions (about 3 questions each survey) and associated motivation (some motivation were also added manually). We generated associated survey participant descriptions and question answers conversation based on survey questions. Then we sliced the conversations into multiple as the expected input by the agent and manually annotated the data (i.e. manually marked which conversation slice had which objectives met). This gave use approximately 100 test cases which we used to evaluate different prompts and thresholds for prompts

All the generations were done by prompt engineering and using GPT

Features

Priority - P0 to P4

High Priority

  1. Multiple type of questions
    1. MCQ (Single select and multi select) P1
    2. Text paragraph P0
  2. Multilingual Support P1
  3. Survey Bot (Collection of agents) P0
  4. Authentication P1

Low priority

  1. Voice integration
    1. STT P3
    2. TTS P4

Collaborators

Yash Malviya, Santanu Senapati, and Pushkar Aggrawal, representing Search Relevance at Myntra, are honored to participate. With collective expertise, we aim to innovate solutions. Our team has worked on Gen AI enabled features and Deep Learning tools ex. MyFashionGPT for Myntra


Journal Bot (Previous Draft)

Problem

Preserving and circulating knowledge across diverse domains can be challenging due to the sheer volume of information generated in various conversations. There is a need for a streamlined process to capture, distill, and present conversational knowledge in a readable format for broader consumption.

Product

  1. Arnab (Journalist Bot): Arnab’s role is to facilitate discussions, ask relevant questions, and extract valuable knowledge from these conversations.
  2. Cataloging Pipeline: Converts Arnab’s recordings into a readable format, creating a dynamic encyclopedia.
  3. Consumption Platform: A user-friendly platform for exploring, searching, and validating knowledge across domains.

Expected Outcome

  1. Knowledge Preservation: Captures valuable insights, preventing loss.
  2. Knowledge Circulation: Breaks down domain barriers, encouraging cross-disciplinary learning.
  3. Collaborative Validation: Allows users to cross-reference information for accuracy and give feedback on the recorded information
  4. Continuous Learning: A growing encyclopaedia adapting to changing information, fostering continuous learning.

Approach

  1. The bot will interact with users in a non confrontational, curious and friendly manner. Asking relevant questions and keeping the conversation alive and easy. First POC is planned on OpenAI GPT interface however to enhance sticky conversation skills fine-tuning might be needed on data sources such as interviews and podcast transcripts.
  2. Bot should have multilingual support to enable wide variety of people to interact with bot and store their knowledge
  3. Distilling conversation into a transcript and writing unbiased digestible content such as a blog.
  4. Building a wikipedia-like repository of knowledge and keeping relevant data close by cataloging the generated blogs.
  5. If multiple instances of the same information are present it can be used to validate the information automatically. If differing opinions on the same topic is present we can detect that there is a chance of subjectivity in the topic
  6. The bot should ask questions that do not overwhelm. Do not ask a lot of questions to specific types of users, and it might be a bad experience for those users

Some Example Use cases

  1. Some indigenous skills and cultural heritage such as Yoga, ayurveda, weaving, looming, handcraft techniques etc can be lost to time with advancement of technology, these can be preserved digitally with the help of this bot.
  2. Documentation of any tech product or scientific concepts.
  3. Journaling a trip.

Motivation References

  1. https://www.education.gov.in/nep/indian-knowledge-systems
  2. https://www.linkedin.com/pulse/preservation-promotion-indigenous-knowledge-21st-xholiso-ennocent/
  3. https://www.linkedin.com/pulse/role-indigenous-people-preserving-tradition-knowledge-glowsims/

Roadmap

Datasets, Models, APIs

Tasks to be solved -

  1. Translation
    1. If the language model is multilingual it’s not needed
    2. If not
      1. Bing translate API
      2. https://huggingface.co/spaces/facebook/seamless_m4t or https://huggingface.co/openai/whisper-large
  2. TTS
    1. https://huggingface.co/spaces/facebook/seamless_m4t or https://huggingface.co/openai/whisper-large
  3. STT
    1. https://huggingface.co/spaces/facebook/seamless_m4t or https://huggingface.co/openai/whisper-large
  4. Language Model
    1. Microsoft ChatGPT Open AI API
    2. We could Fine tuning LLM to make the conversation more engaging and to make smaller models more accurate for question generation task
      1. Data sets
        1. Podcast datasets (To make the conversation more engaging)
          1. https://zenodo.org/records/7121457#.Y0bzKezMKdY
          2. https://podcastsdataset.byspotify.com/#:~:text=The dataset contained over 100%2C000,take requests to access it. (No longer available)
        2. We can reuse QnA datasets, instead of generating answers we generate questions. If we have different QnA on a single topic, merging a list of question and answers and expecting the bot to generate the next question is our task
          1. SQUAD dataset is QnA over wikipedia article. We have the topic mentioned in title field https://huggingface.co/datasets/squad/viewer/plain_text/train?p=875
          2. Clustering on QnA Dataset to group similar QnA topics together
      2. Models
        1. Mixtral
        2. Llama
        3. https://huggingface.co/models?pipeline_tag=text-generation&sort=trending
        4. https://huggingface.co/models?pipeline_tag=question-answering&sort=trending
  5. Vector Search (Context for RAG)
    1. Dataset for retrieval
      1. https://python.langchain.com/docs/integrations/tools/google_search and other search tools
    2. Models
      1. https://huggingface.co/models?pipeline_tag=sentence-similarity&sort=trending
  6. Moderation
    1. https://python.langchain.com/docs/guides/safety/moderation
    2. Basic word based blacklisting / tagging
    3. Toxic
    4. Dangerous
    5. Bias
    6. Subjectivity
  7. Summarisation
    1. https://huggingface.co/models?pipeline_tag=summarization&sort=trending
    2. Text summarisation with Annotation

Tech stack

  1. Bot
    1. Stream Lit for UI
    2. Langchain and various other libraries for hosting models
  2. Cataloging pipeline
    1. Simple python script based indexing pipeline
    2. Periodic crons to generate summary of conversation topics
  3. Platform
    1. React for UI
    2. FastAPI for backend
    3. Databases
      1. Elastic search for search index database
      2. Mongo for document store
      3. Or depending on time left, in-memory databases

Evaluation

Evaluating our prompt (basically generated questions)

User Feedback based : https://medium.com/discovery-at-nesta/how-to-evaluate-large-language-model-chatbots-experimenting-with-streamlit-and-prodigy-c82db9f7f8d9

Generating questions in different contexts like -

  1. Artistic
  2. Political
  3. Technical

evaluation question answering agents summary strategy

Task : Ask better questions

  1. Answering agent here becomes the examiner / evaluator
  2. Answering agent is provided a detailed context and exposed to the questioning agent. Answering agent is programmed to be vague and evasive.
  3. The questioning agent is exposed to the answering agent and at the end of their interaction we match the input context with the final questioning bot’s summary. SQuaD qualifies here as a prospect benchmarking dataset.

Answering agent can have different personalities like Easy going, difficult to talk to etc

Requirements and User Experience

  1. Chatbot - user interface
    1. Streamlit app for it’s simplicity and as team has familiarity with it
    2. Bot can start like - What do you want to document today
    3. User describes the topic to some extent
    4. Two options (We will decide exact one with POC)
      1. Generating questions
        1. Single prompt with instructions to be curious and friendly
        2. Or sequence of agents - Curious agent chained to friendly agent
      2. Fetch other relevant context (to evaluate)
        1. Unless the bot is somewhat aware of the content and challenges involved it might not be able to ask good questions
    5. User feedback - repeated question, irrelevant question (Streamlit has integration to take feedback too)
    6. Repeat questioning
    7. When to stop (POC needs to be done)
      1. Explicit action in the UI for the user to end the conversation
      2. Stopping implied by the conversation
      3. Giving the user an option to pick the conversation back up at any time will be useful
    8. Stores the conversation in a structured format automatically in the background
  2. Cataloging
    1. Moderation flagging
    2. Tagging the content for unsafe content to filter out for showing to others
    3. Conversation topic summarisation
  3. Showcase portal (will make a basic website)
    1. User experience (Like stack overflow + wikipedia)
      1. Search
      2. Moderation filtering
      3. View the conversation web page
        1. Comment / feedback section
      4. Topic summary page (collates different conversation from conversation pages)
        1. Comment / feedback section
      5. Traceback information to conversation it came from
    2. Component
      1. Moderation
      2. Subjectivity detection
      3. Bias detection
      4. Noting human crowdsourced validation of recorded information

Task Breakdown

  1. Chatbot
    1. Prompting POC
    2. Basic Streamlit UI
    3. TTS and STT integration
    4. Prompting engineering experiments
    5. Store conversation information in the background
    6. User feedback UI
  2. Cataloging
    1. Convert from format saved by bot to write in database
    2. Moderation tagging
    3. Conversation topic summarisation
  3. Platform
    1. Frontend functionality
      1. Search
        1. Basic Search page
        2. Moderation filtering
      2. View the conversation web page
        1. Basic conversation web page
        2. Comment / feedback section
      3. Topic summary page (collates different conversation from conversation pages)
        1. Basic Topic summary page
        2. Comment / feedback section
        3. Traceback information to conversation it came from
    2. Backend functionality
      1. Search build the index
      2. Search API
      3. Search Moderation filtering functionality
      4. Conversation web page view API
      5. Add Comment / feedback Conversation web page API
      6. Topic summary page view API
      7. Add Comment / feedback Topic summary page section
      8. Show traceback information to conversation it came from

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Make a submission

Accepting submissions till 15 Feb 2024, 11:00 PM

Hasura, Bangalore

Hosted by

The Fifth Elephant hackathons

Supported by

Host

All about data science and machine learning

Venue host

Welcome to the events page for events hosted at The Terrace @ Hasura. more

Partner

Providing all founders, at any stage, with free resources to build a successful startup.