import streamlit as st import base64 from weasyprint import HTML import io # 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_weasyprint(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 buffer = io.BytesIO() HTML(string=html_content).write_pdf(buffer) pdf_bytes = buffer.getvalue() buffer.close() return pdf_bytes def get_binary_file_downloader_html(bin_file, file_label='File'): bin_str = base64.b64encode(bin_file).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") as f: f.write(outline_text) st.markdown(get_binary_file_downloader_html(md_file.encode(), "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_weasyprint(ml_outline) # Save to file for download with open("ml_outline.pdf", "wb") as f: f.write(pdf_bytes) st.download_button( label="Download PDF", data=pdf_bytes, file_name="ml_outline.pdf", mime="application/pdf" ) 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)