Skip to content

Commit 6327ebe

Browse files
andyasdd1Stanford997
authored andcommitted
Add New Modules: GraphCypherQAChain. Add New Preprocess modules: embedding and nodes retrival. Added New Config: OpenAi key retrieve
embedding.py graph-preprocess-simpl.py neo4j_import.py openai_key.py job_recommendation_system.py neo4j_model.py recommendation_generator.py resume_processor.py retrieval_engine.py verify.py view.py
1 parent 466d25d commit 6327ebe

File tree

1 file changed

+45
-27
lines changed

1 file changed

+45
-27
lines changed
Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,75 @@
11
# job_recommendation_system.py
22

3-
import logging
3+
from neo4j_model import Neo4jModel
4+
from resume_processor import ResumeProcessor
5+
from retrieval_engine import RetrievalEngine
6+
from recommendation_generator import RecommendationGenerator
7+
from view import CLIView
8+
import sys
49

5-
from .neo4j_model import Neo4jModel
6-
from .recommendation_generator import RecommendationGenerator
7-
from .resume_processor import ResumeProcessor
8-
from .retrieval_engine import RetrievalEngine
9-
from .view import CLIView
10+
def main():
11+
12+
13+
# Redirect standard output to a file
14+
sys.stdout = open('output.log', 'w')
15+
16+
# Your code here
17+
print("Lots of output")
1018

1119

12-
def job_recommend(resume_text, user_id):
1320
# Setup Logging
21+
import logging
1422
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
1523
logger = logging.getLogger(__name__)
16-
17-
# Get Resume Input from User
18-
if not resume_text.strip():
19-
logger.error(f'No resume text provided, user_id: {user_id}.')
20-
return 'Error: No resume text provided.'
21-
24+
2225
# Neo4j Connection Details
2326
NEO4J_URI = "neo4j+ssc://7bf5a48e.databases.neo4j.io" # Replace with your Neo4j URI
24-
NEO4J_USERNAME = "neo4j" # Replace with your Neo4j username
25-
NEO4J_PASSWORD = "oxsK7V5_86emZlYQlvCfQHfVWS95wXz29OhtU8GAdFc" # Replace with your Neo4j password
27+
NEO4J_USERNAME = "neo4j" # Replace with your Neo4j username
28+
NEO4J_PASSWORD = "oxsK7V5_86emZlYQlvCfQHfVWS95wXz29OhtU8GAdFc" # Replace with your Neo4j password
2629

2730
# Initialize Model
2831
neo4j_model = Neo4jModel(
2932
uri=NEO4J_URI,
3033
username=NEO4J_USERNAME,
3134
password=NEO4J_PASSWORD
3235
)
33-
34-
node_label = "JTitle" # Adjust as needed; could be dynamic based on user input or other criteria
35-
36+
3637
# Initialize Controller Components
3738
resume_processor = ResumeProcessor()
3839
retrieval_engine = RetrievalEngine(resume_processor, neo4j_model)
3940
recommendation_generator = RecommendationGenerator()
40-
41+
4142
# Initialize View
4243
view = CLIView()
43-
44-
# Perform Mixed Retrieval
44+
45+
# Get Resume Input from User
46+
resume_text = view.get_resume_input()
47+
48+
if not resume_text.strip():
49+
logger.error("No resume text provided.")
50+
print("Error: No resume text provided.")
51+
return
52+
53+
# Perform Mixed Retrieval for 'JD' Node Label
54+
node_label = "JD" # Adjust as needed; could be dynamic based on user input or other criteria
4555
similar_docs, graph_results = retrieval_engine.perform_mixed_retrieval(resume_text, node_label=node_label)
46-
56+
4757
if not similar_docs and not graph_results:
48-
return 'No job recommendations found based on your resume.'
49-
58+
print("No job recommendations found based on your resume.")
59+
return
60+
5061
# Generate Recommendations
5162
try:
5263
recommendations = recommendation_generator.generate_recommendations(similar_docs, graph_results)
5364
except Exception as e:
54-
return 'Error: Failed to generate job recommendations.'
55-
65+
print("Error: Failed to generate job recommendations.")
66+
return
67+
5668
# Display Recommendations
57-
return view.display_recommendations(recommendations)
69+
view.display_recommendations(recommendations)
70+
71+
# Close the file
72+
sys.stdout.close()
73+
74+
if __name__ == "__main__":
75+
main()

0 commit comments

Comments
 (0)