|
import streamlit as st |
|
from langchain_community.llms import OpenAI |
|
from langchain_google_genai import ChatGoogleGenerativeAI |
|
st.set_page_config(layout="wide") |
|
|
|
|
|
|
|
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": |
|
|
|
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") |
|
|
|
st.header("Select AI:") |
|
model = st.radio("Model", [ "Gemini","Open AI",]) |
|
st.write("Selected option:", model) |
|
|
|
|
|
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() |