Back to all Bounties
Earn 45,000 ($450.00)
due 2 years ago
Canceled
Langchain, llamaindex and supabase
AbAdvany
Details
Applications
4
Discussion
Bounty Description
I'd like to create a simple 1 file Streamlit app that processes resources to generate quiz questions. For version 1, the focus will be on PDF documents as an example resource, and multiple-choice questions as the quiz format. Here's a detailed overview of the requirements:
-
Resource Upload and Processing (Example: PDF for version 1):
- Upload Resource: Users must be able to upload a resource (e.g., PDF for version 1).
- Text Chunking: Divide the resource into text chunks, each containing 1000 tokens, with an overlap of 200 tokens between consecutive chunks.
- Embeddings Storage: Save all text chunks as embeddings in SupabaseVectorStore (See point 4 for why).
- Q/A Conversion: Convert these chunks into a Q/A format using GPT-4.
- Customizable Prompts: Provide text fields allowing users to customize the prompt (what to include and exclude when creating Q/A's.
- Questions and Answers: Save all questions/answers to Supabase and SupabaseVectorStore as embeddings.
-
Convert to Quiz Questions:
- Conversion to JSON: Transform a list of Q/A's into multiple-choice quiz questions for version 1 (formatted as JSON), with the potential for other formats in future versions. Each question should contain 1 correct option, 3 incorrect options, and an explanation for incorrect answers.
- Saving Quiz Questions: Save the generated quiz questions in Supabase.
-
Questions:
- Display Table: Display questions in a table format with a "Related Questions" button (point 4) and an "Ask Question" button (point 5).
-
Related Questions Feature:
- Lookup Functionality: Enable buttons for each question to look up similar questions using the embeddings of the specific question.
- Show Related Quizzes: Display the related QUIZ questions generated based on that question.
-
Interactive Chat and Question Retrieval:
- Interaction Capability: Allow users to interact and ask more about a specific Q/A, retrieving relevant chunks from SupabaseVectorStore as needed.
-
Data Requirements:
- Resource Processing: Convert the resource into Q/A's and save to the database (e.g., processing PDF for version 1).
- Quiz Format Conversion: Convert Q/A's into a multiple-choice quiz format for version 1, with the possibility of other formats in future versions, and output as JSON.
- Q/A and Chunk Utilization: Use Q/A's and resource chunks to facilitate questioning or find similar Q/A's.
-
Code Structure and Documentation:
- Single File: Structure the code within a single Streamlit file/app.
- User-friendly Documentation: Include code documentation, so everyone gets your code.
-
Integration with Langchain:
- Latest Implementation: Utilize the latest version of Langchain, implemented in Python. And llamaindex.