Spaces:
Runtime error
Runtime error
import streamlit as st | |
from langchain.llms import GooglePalm | |
from langchain.prompts import PromptTemplate | |
from langchain.chains import LLMChain | |
from langchain.chains import SequentialChain | |
# Function to generate skills and companies based on the job role | |
def generate_skills_and_companies(job_role): | |
# Initialize Google's Palm LLM | |
llm = GooglePalm(google_api_key='AIzaSyAA28rGYJnOsGasVGEQ-dJRHXqLNTVEQz4', temperature=0) # Replace with your Google API Key | |
# Chain 1: This chain is for Job role | |
prompt_template_name = PromptTemplate( | |
input_variables=['job_role'], | |
template="""I want to apply for a {job_role} role. Please help me with the desired skills and ensure you are | |
giving correct skills as it is critical""" | |
) | |
skills_chain = LLMChain(llm=llm, prompt=prompt_template_name, output_key="skills") | |
# Chain 2: This is for companies | |
prompt_template_items = PromptTemplate( | |
input_variables=['companies'], | |
template="""Suggest some companies to apply for {job_role}. Return it as a comma separated string""" | |
) | |
companies_chain = LLMChain(llm=llm, prompt=prompt_template_items, output_key="companies") | |
chain = SequentialChain( | |
chains=[skills_chain, companies_chain], | |
input_variables=['job_role'], | |
output_variables=['skills', "companies"] | |
) | |
response = chain({'job_role': job_role}) | |
return response | |
# Streamlit app | |
st.title("Skills and Companies Recommendation App") | |
st.subheader("Developed by Mujeeb") | |
# Sidebar with image and additional options | |
st.sidebar.image("odinschool1.jpg", use_column_width=True) | |
# Main content area | |
job_role = st.text_input("Enter the job role:") | |
if st.button("Generate"): | |
with st.spinner("Generating recommendations..."): | |
output = generate_skills_and_companies(job_role) | |
if output: | |
st.subheader("Skills:") | |
skills = output['skills'].split('\n') | |
for skill in skills: | |
skill = skill.strip('* ').strip() | |
st.write(skill) | |
st.subheader("Companies:") | |
companies = output['companies'].split('\n') | |
for company in companies: | |
company = company.strip('* ').strip() | |
st.write(company) | |