Spaces:
Sleeping
Sleeping
import streamlit as st | |
from langchain_community.llms import OpenAI | |
from langchain_google_genai import ChatGoogleGenerativeAI | |
st.set_page_config(layout="wide") | |
# Function to handle AI invocation and response | |
def analyze_job_description(topic, model ): | |
prompt = ( | |
f"As an HR Manager, I need you to analyze the following job description and identify the key technical skills, non technical skills or soft skills , further divide it nice-to-have skills, must-have skills, required for the role: {topic}. " | |
"The post should be concise, informative, and suitable for a professional audience. " | |
"List top 5 points for technical skills, nice-to-have skills, must-have skills, and soft skills required for the role." | |
) | |
if model == "Open AI": | |
# llm = OpenAI(openai_api_key=st.secrets["OPENAI_API_KEY"]) | |
response ="Whoops! Looks like someone's got champagne tastes on a lemonade budget. How about we explore those other options for now? 😉" | |
return response | |
elif model == "Gemini": | |
llm = ChatGoogleGenerativeAI(model="gemini-pro", google_api_key=st.secrets["GOOGLE_API_KEY"]) | |
result = llm.invoke(prompt) | |
return result.content | |
def main(): | |
st.title("JD Analysis") | |
# Radio selection for AI model | |
st.header("Select AI:") | |
model = st.radio("Model", [ "Gemini","Open AI",]) | |
st.write("Selected option:", model) | |
# Text area for job description input | |
with st.form("my_form"): | |
topic = st.text_area("Copy Paste the JD here:") | |
submitted = st.form_submit_button("Analyze Now") | |
if submitted and topic: | |
result = analyze_job_description(topic, model ) | |
st.info(result) | |
elif submitted and not topic: | |
st.error("Please enter a JD details to analyze.") | |
if __name__ == "__main__": | |
main() |