import streamlit as st import base64 import pdfkit import io import os # Define the 12-point ML outline with emojis ml_outline = [ "🌟 1. Mixture of Experts (MoE)", "πŸ”₯ 2. Supervised Fine-Tuning (SFT) using PyTorch", "πŸ€– 3. Large Language Models (LLM) using Transformers", "πŸ“Š 4. Self-Rewarding Learning using NPS 0-10 and Verbatims", "πŸ‘ 5. Reinforcement Learning from Human Feedback (RLHF)", "πŸ”— 6. MergeKit: Merging Models to Same Embedding Space", "πŸ“ 7. DistillKit: Model Size Reduction with Spectrum Analysis", "🧠 8. Agentic RAG Agents using Document Inputs", "⏳ 9. Longitudinal Data Summarization from Multiple Docs", "πŸ“‘ 10. Knowledge Extraction using Markdown Knowledge Graphs", "πŸ—ΊοΈ 11. Knowledge Mapping with Mermaid Diagrams", "πŸ’» 12. ML Code Generation with Streamlit/Gradio/HTML5+JS" ] def create_pdf_with_pdfkit(outline_items): # Create HTML content with two columns html_content = """

Cutting-Edge ML Areas (1-6)

Cutting-Edge ML Areas (7-12)

""" # Convert HTML to PDF with pdfkit options = { 'page-size': 'A4', 'orientation': 'Landscape', 'encoding': 'UTF-8', 'margin-top': '0.5in', 'margin-right': '0.5in', 'margin-bottom': '0.5in', 'margin-left': '0.5in', } # Create PDF in memory pdf_bytes = pdfkit.from_string(html_content, False, options=options) return pdf_bytes def get_binary_file_downloader_html(bin_data, file_label='File'): bin_str = base64.b64encode(bin_data).decode() href = f'Download {file_label}' return href # Streamlit UI st.title("πŸš€ Cutting-Edge ML Outline Generator") col1, col2 = st.columns(2) with col1: st.header("πŸ“ Markdown Outline") outline_text = "\n".join(ml_outline) st.markdown(outline_text) md_file = "ml_outline.md" with open(md_file, "w", encoding='utf-8') as f: f.write(outline_text) st.markdown(get_binary_file_downloader_html(outline_text.encode('utf-8'), "ml_outline.md"), unsafe_allow_html=True) with col2: st.header("πŸ“‘ PDF Preview") if st.button("Generate PDF"): with st.spinner("Generating PDF..."): try: pdf_bytes = create_pdf_with_pdfkit(ml_outline) # Save to file for download with open("ml_outline.pdf", "wb") as f: f.write(pdf_bytes) # Download button st.download_button( label="Download PDF", data=pdf_bytes, file_name="ml_outline.pdf", mime="application/pdf" ) # Fix PDF viewer base64_pdf = base64.b64encode(pdf_bytes).decode('utf-8') pdf_display = f''' ''' st.markdown(pdf_display, unsafe_allow_html=True) except Exception as e: st.error(f"Error generating PDF: {str(e)}") st.markdown(""" """, unsafe_allow_html=True)