Spaces:
Sleeping
Sleeping
| from transformers import pipeline | |
| from docx import Document | |
| import gradio as gr | |
| # Load lightweight model for basic text polishing (optional, not used heavily) | |
| generator = pipeline("text-generation", model="tiiuae/falcon-rw-1b", device=-1) | |
| def generate_cv_docx(name, title, location, email, linkedin, github, portfolio, | |
| summary, tech_skills, soft_skills, education, | |
| languages, experience, projects, certifications): | |
| # Create document | |
| doc = Document() | |
| # Header | |
| doc.add_heading(name, level=1) | |
| doc.add_paragraph(f"{title}") | |
| doc.add_paragraph(f"{location} | {email}") | |
| doc.add_paragraph(f"LinkedIn: {linkedin} | GitHub: {github} | Portfolio: {portfolio}") | |
| # Sections | |
| doc.add_heading("Professional Summary", level=2) | |
| doc.add_paragraph(summary) | |
| doc.add_heading("Technical Skills", level=2) | |
| doc.add_paragraph(tech_skills) | |
| doc.add_heading("Soft Skills", level=2) | |
| doc.add_paragraph(soft_skills) | |
| doc.add_heading("Education", level=2) | |
| doc.add_paragraph(education) | |
| doc.add_heading("Languages", level=2) | |
| doc.add_paragraph(languages) | |
| doc.add_heading("Experience", level=2) | |
| doc.add_paragraph(experience) | |
| doc.add_heading("Key Projects", level=2) | |
| doc.add_paragraph(projects) | |
| doc.add_heading("Certifications", level=2) | |
| doc.add_paragraph(certifications) | |
| # Save the file | |
| filepath = "generated_cv.docx" | |
| doc.save(filepath) | |
| return filepath | |
| # Gradio UI | |
| interface = gr.Interface( | |
| fn=generate_cv_docx, | |
| inputs=[ | |
| gr.Textbox(label="Full Name"), | |
| gr.Textbox(label="Job Title"), | |
| gr.Textbox(label="Location"), | |
| gr.Textbox(label="Email"), | |
| gr.Textbox(label="LinkedIn URL"), | |
| gr.Textbox(label="GitHub URL"), | |
| gr.Textbox(label="Portfolio URL"), | |
| gr.Textbox(label="Professional Summary", lines=4, placeholder="Write 2–4 lines about your profile..."), | |
| gr.Textbox(label="Technical Skills (Languages, Libraries, Tools)", lines=3), | |
| gr.Textbox(label="Soft Skills", lines=2), | |
| gr.Textbox(label="Education", lines=3), | |
| gr.Textbox(label="Languages Known", lines=2), | |
| gr.Textbox(label="Experience (Job Title, Company, Dates, Bullets)", lines=4), | |
| gr.Textbox(label="Key Projects", lines=4), | |
| gr.Textbox(label="Certifications", lines=3) | |
| ], | |
| outputs=gr.File(label="Download Your CV (.docx)"), | |
| title="Free CV Builder (Download as Word)", | |
| description="🧠 Build your CV using a clean form and download it as a Word document — powered by open-source AI, no payment required!" | |
| ) | |
| interface.launch() | |