Spaces:
Sleeping
Sleeping
Upload 5 files
Browse files- README.md +5 -5
- app.py +65 -63
- gitattributes +35 -0
- odinschool1.jpg +0 -0
- requirements.txt +2 -1
README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
---
|
2 |
title: Skills Generator
|
3 |
-
emoji:
|
4 |
colorFrom: yellow
|
5 |
-
colorTo:
|
6 |
-
sdk:
|
7 |
-
sdk_version:
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
-
|
|
|
1 |
---
|
2 |
title: Skills Generator
|
3 |
+
emoji: 🏢
|
4 |
colorFrom: yellow
|
5 |
+
colorTo: pink
|
6 |
+
sdk: streamlit
|
7 |
+
sdk_version: 1.31.0
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
CHANGED
@@ -1,63 +1,65 @@
|
|
1 |
-
import
|
2 |
-
from
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
)
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
""
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from langchain.llms import GooglePalm
|
3 |
+
from langchain.prompts import PromptTemplate
|
4 |
+
from langchain.chains import LLMChain
|
5 |
+
from langchain.chains import SequentialChain
|
6 |
+
|
7 |
+
# Function to generate skills and companies based on the job role
|
8 |
+
def generate_skills_and_companies(job_role):
|
9 |
+
# Initialize Google's Palm LLM
|
10 |
+
llm = GooglePalm(google_api_key='AIzaSyAA28rGYJnOsGasVGEQ-dJRHXqLNTVEQz4', temperature=0) # Replace with your Google API Key
|
11 |
+
|
12 |
+
# Chain 1: This chain is for Job role
|
13 |
+
prompt_template_name = PromptTemplate(
|
14 |
+
input_variables=['job_role'],
|
15 |
+
template="""I want to apply for a {job_role} role. Please help me with the desired skills and ensure you are
|
16 |
+
giving correct skills as it is critical"""
|
17 |
+
)
|
18 |
+
|
19 |
+
skills_chain = LLMChain(llm=llm, prompt=prompt_template_name, output_key="skills")
|
20 |
+
|
21 |
+
# Chain 2: This is for companies
|
22 |
+
prompt_template_items = PromptTemplate(
|
23 |
+
input_variables=['companies'],
|
24 |
+
template="""Suggest some companies to apply for {job_role}. Return it as a comma separated string"""
|
25 |
+
)
|
26 |
+
|
27 |
+
companies_chain = LLMChain(llm=llm, prompt=prompt_template_items, output_key="companies")
|
28 |
+
|
29 |
+
chain = SequentialChain(
|
30 |
+
chains=[skills_chain, companies_chain],
|
31 |
+
input_variables=['job_role'],
|
32 |
+
output_variables=['skills', "companies"]
|
33 |
+
)
|
34 |
+
|
35 |
+
response = chain({'job_role': job_role})
|
36 |
+
|
37 |
+
return response
|
38 |
+
|
39 |
+
# Streamlit app
|
40 |
+
st.title("Skills and Companies Recommendation App")
|
41 |
+
st.subheader("Developed by Mujeeb")
|
42 |
+
|
43 |
+
# Sidebar with image and additional options
|
44 |
+
st.sidebar.image("odinschool1.jpg", use_column_width=True)
|
45 |
+
|
46 |
+
# Main content area
|
47 |
+
job_role = st.text_input("Enter the job role:")
|
48 |
+
|
49 |
+
if st.button("Generate"):
|
50 |
+
with st.spinner("Generating recommendations..."):
|
51 |
+
output = generate_skills_and_companies(job_role)
|
52 |
+
|
53 |
+
if output:
|
54 |
+
st.subheader("Skills:")
|
55 |
+
skills = output['skills'].split('\n')
|
56 |
+
for skill in skills:
|
57 |
+
skill = skill.strip('* ').strip()
|
58 |
+
st.write(skill)
|
59 |
+
|
60 |
+
st.subheader("Companies:")
|
61 |
+
companies = output['companies'].split('\n')
|
62 |
+
for company in companies:
|
63 |
+
company = company.strip('* ').strip()
|
64 |
+
st.write(company)
|
65 |
+
|
gitattributes
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
odinschool1.jpg
ADDED
![]() |
requirements.txt
CHANGED
@@ -1 +1,2 @@
|
|
1 |
-
|
|
|
|
1 |
+
streamlit
|
2 |
+
langchain==0.1.5
|