Spaces:
Runtime error
Runtime error
| from config import configure_setup | |
| from classNode import JobKnowledgeGraph | |
| from cypher_utils import make_cypher_query | |
| from process_data import get_job_desc | |
| from datetime import datetime | |
| # from datetime import date | |
| if __name__ == "__main__": | |
| knowledge_graph, client = configure_setup() | |
| # Example job description | |
| # with open("jd_example.txt", "r") as file: | |
| # job_description = file.read() | |
| # | |
| # knowledge_graph.refresh_schema() | |
| # print(knowledge_graph.schema) | |
| with open("Knowledge_Graph/cypher/count_nodes.cypher", "r") as file: | |
| count_nodes_cypher = file.read() | |
| with open("Knowledge_Graph/cypher/count_relationships.cypher", "r") as file: | |
| count_relations_cypher = file.read() | |
| # with open("cypher/delete_all.cypher", "r") as file: | |
| # delete_cypher = file.read() | |
| # knowledge_graph.query(delete_cypher) | |
| # filename = f"job_posts_data/job_posts_artificial_intelligence_{str(date.today())}.json" | |
| today = datetime.today().strftime('%Y_%m_%d') | |
| filename = f"./data/data_{today}.json" | |
| n_processed = 0 | |
| job_desc = get_job_desc(filename) | |
| for jd_info in job_desc: | |
| try: | |
| job_title, company_name, job_desc = jd_info | |
| job_desc = job_desc.replace('"', "'") | |
| system_prompt = f""" | |
| Help me understand the following by describing it as a detailed knowledge graph. | |
| Only extract and present only the factual information. | |
| Always return results in capitalized form | |
| Job descriptions: {job_desc} | |
| """ | |
| resp = client.chat.completions.create( | |
| messages=[ | |
| { | |
| "role": "user", | |
| "content": system_prompt | |
| } | |
| ], | |
| response_model= JobKnowledgeGraph, | |
| ) | |
| cypher = make_cypher_query(resp, job_title, company_name) | |
| knowledge_graph.query(cypher) | |
| print(f"Added {job_title} @ {company_name} to Knowledge Graph.") | |
| n_processed += 1 | |
| except Exception as e: | |
| print(e) | |
| continue | |
| print(f"Processed {n_processed} job postings!") | |
| num_node = knowledge_graph.query(count_nodes_cypher) | |
| num_relation = knowledge_graph.query(count_relations_cypher) | |
| print(num_node[0], num_relation[0]) | |