| import streamlit as st |
| import google.generativeai as genai |
| import os |
|
|
| |
| GEMINI_API_KEY = os.environ.get('GEMINI_API_KEY') |
|
|
| |
| if not GEMINI_API_KEY: |
| st.error(""" |
| 🚨 GEMINI_API_KEY not found! |
| |
| Please make sure you've: |
| 1. Created an API key at https://aistudio.google.com/ |
| 2. Added it to Hugging Face Secrets with the name 'GEMINI_API_KEY' |
| """) |
| st.stop() |
|
|
| |
| try: |
| genai.configure(api_key=GEMINI_API_KEY) |
| |
| |
| model = genai.GenerativeModel('models/gemini-2.0-flash-001') |
| |
| |
| test_response = model.generate_content("Say 'API test successful'") |
| st.success(f"👋Welcome - I’m glad you’re here - By Sanjay PS" ) |
| |
| except Exception as e: |
| st.error(f"❌ API configuration failed: {str(e)}") |
| st.stop() |
|
|
| |
| RESUME_TEXT = """ |
| SANJAY PANNERSELVAM(sanjaystarc or sanjay PS) |
| AI Specialist |
| 📧 sanjaypannerselvam12@gmail.com |
| | 📞 +91 63818 96958 |
| 📍 Tiruchengode,Namakkal, Tamil Nadu,pincode - 637 209 |
| instagram id : @dale_sanjay_starc |
| date of birth : 17.01.2005 |
| linkedIn : Sanjay Ps |
| |
| Objective |
| |
| To obtain a responsible position that utilizes my skills and provides opportunities for professional growth and career development. |
| |
| Education |
| |
| Bachelor’s in Commerce with Computer Applications (B.Com CA) Degree |
| Sengunthar Arts and Science College |
| 2022 – 2025 | Tiruchengode |
| |
| Higher Secondary (HSC) |
| Sri Renga Vidhyalaya Matric Hr. Secondary School |
| 2020 – 2022 | Tiruchengode |
| |
| Secondary School (SSLC) |
| New Oxford Matriculation School |
| 2019 – 2020 | Tiruchengode |
| |
| Skills |
| |
| Artificial Intelligence & Automation: |
| Prompt Engineering | Generative AI Tools | Business Process Automation | AI Product Strategy | Responsible AI (Ethical & Safe AI Practices) | Large Language Models (LLMs) – Usage & Integration |
| |
| Data & Office Tools: |
| MS Excel | MS Power BI | MS Word | MS PowerPoint |
| |
| Soft Skills: |
| Communication | Teamwork | Consistency | Script Writing & Storytelling |
| |
| Programming Languages: |
| Python | SQL |
| |
| Languages Known: |
| English | Tamil |
| |
| Projects |
| |
| 1. Intelligent Document Q&A with RAG System |
| Developed a conversational AI that allows users to ask questions and get instant answers from their own documents (PDFs, Word files). The system uses a Retrieval-Augmented Generation (RAG) architecture to fetch relevant information and generate accurate, source-based responses—minimizing AI hallucinations. |
| |
| 2. Context-Aware Document Analysis Chatbot |
| Created an AI chatbot that understands the context of uploaded documents. It enables users to interact naturally with their data to extract key points, summarize content, and obtain precise answers—all based solely on the uploaded source material. |
| |
| Certificates |
| |
| Python Certificate |
| |
| Generative AI Certificate |
| |
| AI & ML Certificate |
| |
| Courses |
| |
| Foundations of AI and ML – Microsoft (Coursera) |
| Successfully completed the Foundations of AI and ML course. |
| |
| Generative AI for Everyone – DeepLearning.AI (Coursera) |
| Successfully completed the Generative AI for Everyone course. |
| |
| Generative AI Applications with Python – Google (GUVI) |
| Successfully completed the Generative AI Applications course. |
| |
| Practical Machine Learning – GUVI |
| Successfully completed the Practical Machine Learning course. |
| partners and friends : |
| Aadhithiya,Abishek, |
| Aniruth,Sameer, |
| Dhilip kumar,bhuvi MF. |
| |
| Declaration |
| |
| I hereby declare that all the details mentioned above are true and correct to the best of my knowledge and belief. |
| """ |
|
|
| |
| system_prompt = """ |
| You are a professional AI assistant that answers questions about a candidate based ONLY on the provided resume text. |
| |
| RULES: |
| 1. Only use information from the resume text below and add extra words to increase his value . |
| 2. Be brief and direct in your answers |
| 3. If information isn't in the resume, say "That information is not available, Please only ask about his professional background ." |
| 4. Only answer professional questions about skills, education, friends and partners, age, projects, and experience |
| 5. Buildup him like he is only who can do it . |
| 6. Add your own extra fittings that match him . |
| """ |
|
|
| |
| st.title("🐦🔥 AI Assistant for Sanjay PS") |
| st.caption("Ask me anything about Sanjay PS professional background!") |
|
|
| |
| if "messages" not in st.session_state: |
| st.session_state.messages = [] |
|
|
| |
| for message in st.session_state.messages: |
| with st.chat_message(message["role"]): |
| st.markdown(message["content"]) |
|
|
| |
| if prompt := st.chat_input("What would you like to know about sanjay PS in his profession ?"): |
| |
| st.chat_message("user").markdown(prompt) |
| st.session_state.messages.append({"role": "user", "content": prompt}) |
| |
| |
| full_prompt = f"{system_prompt}\n\nRESUME TEXT:\n{RESUME_TEXT}\n\nQUESTION: {prompt}\n\nANSWER:" |
| |
| try: |
| response = model.generate_content(full_prompt) |
| answer = response.text |
| |
| |
| with st.chat_message("assistant"): |
| st.markdown(answer) |
| st.session_state.messages.append({"role": "assistant", "content": answer}) |
| |
| except Exception as e: |
| error_msg = f"Error generating response: {str(e)}" |
| st.error(error_msg) |