| import streamlit as st | |
| from utils.pdf_parser import extract_text_from_pdf | |
| from utils.ocr import extract_text_from_image | |
| from utils.memory_manager import save_to_memory, retrieve_memory | |
| from utils.quiz_generator import generate_quiz | |
| from utils.flashcards import generate_flashcards | |
| import os | |
| st.set_page_config(page_title="AI Learning Companion", layout="wide") | |
| st.title("π AI Learning Companion with Memory") | |
| uploaded_file = st.file_uploader("Upload Notes (PDF or Image)", type=["pdf", "png", "jpg"]) | |
| if uploaded_file: | |
| file_path = os.path.join("data", uploaded_file.name) | |
| with open(file_path, "wb") as f: | |
| f.write(uploaded_file.getbuffer()) | |
| if uploaded_file.name.endswith(".pdf"): | |
| extracted_text = extract_text_from_pdf(file_path) | |
| else: | |
| extracted_text = extract_text_from_image(file_path) | |
| st.subheader("Extracted Text") | |
| st.write(extracted_text) | |
| if st.button("Save to Memory"): | |
| save_to_memory(extracted_text, {"filename": uploaded_file.name}) | |
| st.success("Saved to memory!") | |
| st.subheader("Search Your Memory") | |
| search_query = st.text_input("Enter a topic to search") | |
| if search_query: | |
| results = retrieve_memory(search_query) | |
| st.write(results) | |
| st.subheader("Generate Study Material") | |
| topic_text = st.text_area("Enter text or select from memory results") | |
| if st.button("Generate Quiz"): | |
| st.write(generate_quiz(topic_text)) | |
| if st.button("Generate Flashcards"): | |
| st.write(generate_flashcards(topic_text)) | |