Prakhar Bhandari commited on
Commit
a16ade2
·
1 Parent(s): 0beb8e1
kg_builder/README.md CHANGED
@@ -13,6 +13,7 @@ This project builds and queries knowledge graphs from Wikipedia articles using t
13
  - pip and virtualenv (optional)
14
  - Access to a Neo4j database
15
  - OpenAI API key
 
16
 
17
  ## Installation
18
  1. **Clone the repository**:
 
13
  - pip and virtualenv (optional)
14
  - Access to a Neo4j database
15
  - OpenAI API key
16
+ - Extra change
17
 
18
  ## Installation
19
  1. **Clone the repository**:
kg_builder/src/__pycache__/knowledge_graph_builder.cpython-39.pyc CHANGED
Binary files a/kg_builder/src/__pycache__/knowledge_graph_builder.cpython-39.pyc and b/kg_builder/src/__pycache__/knowledge_graph_builder.cpython-39.pyc differ
 
kg_builder/src/__pycache__/models.cpython-39.pyc CHANGED
Binary files a/kg_builder/src/__pycache__/models.cpython-39.pyc and b/kg_builder/src/__pycache__/models.cpython-39.pyc differ
 
kg_builder/src/__pycache__/query_graph.cpython-39.pyc CHANGED
Binary files a/kg_builder/src/__pycache__/query_graph.cpython-39.pyc and b/kg_builder/src/__pycache__/query_graph.cpython-39.pyc differ
 
kg_builder/src/__pycache__/utils.cpython-39.pyc CHANGED
Binary files a/kg_builder/src/__pycache__/utils.cpython-39.pyc and b/kg_builder/src/__pycache__/utils.cpython-39.pyc differ
 
kg_builder/src/graph_creation.py CHANGED
@@ -1,10 +1,8 @@
1
  from langchain_community.document_loaders import WikipediaLoader
2
  from langchain.text_splitter import TokenTextSplitter
3
  from knowledge_graph_builder import extract_and_store_graph
4
- from langchain.schema import Document
5
  from dotenv import load_dotenv
6
  from tqdm import tqdm
7
- import os
8
 
9
  # Load environment variables
10
  load_dotenv()
 
1
  from langchain_community.document_loaders import WikipediaLoader
2
  from langchain.text_splitter import TokenTextSplitter
3
  from knowledge_graph_builder import extract_and_store_graph
 
4
  from dotenv import load_dotenv
5
  from tqdm import tqdm
 
6
 
7
  # Load environment variables
8
  load_dotenv()
kg_builder/src/knowledge_graph_builder.py CHANGED
@@ -13,13 +13,6 @@ from models import Node, Relationship, KnowledgeGraph
13
  from utils import map_to_base_node, map_to_base_relationship
14
  from api_connections import get_extraction_chain
15
 
16
- from langchain.chains.openai_functions import (
17
- create_openai_fn_chain,
18
- create_structured_output_runnable,
19
- create_structured_output_chain,
20
- )
21
-
22
-
23
  def extract_and_store_graph(
24
  document: Document,
25
  category: str,
 
13
  from utils import map_to_base_node, map_to_base_relationship
14
  from api_connections import get_extraction_chain
15
 
 
 
 
 
 
 
 
16
  def extract_and_store_graph(
17
  document: Document,
18
  category: str,
kg_builder/src/main.py CHANGED
@@ -1,43 +1,42 @@
1
  import os
2
  from openai import OpenAI
3
  from api_connections import get_graph_connection
4
- from knowledge_graph_builder import extract_and_store_graph
5
  from query_graph import query_knowledge_graph
6
- from langchain_community.document_loaders import WikipediaLoader
7
- from langchain.text_splitter import TokenTextSplitter
8
- from tqdm import tqdm
9
 
10
  def get_llm():
11
  api_key = os.getenv("OPENAI_API_KEY")
12
  if not api_key:
13
  raise ValueError("No OpenAI API key found in environment variables.")
14
- return OpenAI(api_key=api_key)
 
15
 
16
  def classify_query(query):
17
  llm = get_llm()
18
- response = llm.Completion.create(
19
- model="text-davinci-003", # Consider updating to the latest model as necessary
20
- prompt=f"Classify the following query into 'Chemotherapy' or 'Traffic Law': {query}",
21
- max_tokens=60
22
- )
23
- return response.choices[0].text.strip()
 
 
 
 
 
24
 
25
  def main():
26
  print("Starting the script...")
27
-
28
  # Get user query
29
- query = input("Please enter your query: ")
30
-
31
  # Classify the query
32
  category = classify_query(query)
33
- print(f"Query classified into category: {category}")
34
-
35
  # Get the correct graph connection
36
- graph = get_graph_connection(category)
37
-
38
  # Query the correct graph
39
  result = query_knowledge_graph(graph, query)
40
  print(f"Query result: {result}")
41
-
42
  if __name__ == "__main__":
43
  main()
 
1
  import os
2
  from openai import OpenAI
3
  from api_connections import get_graph_connection
 
4
  from query_graph import query_knowledge_graph
5
+
6
+ import openai
 
7
 
8
  def get_llm():
9
  api_key = os.getenv("OPENAI_API_KEY")
10
  if not api_key:
11
  raise ValueError("No OpenAI API key found in environment variables.")
12
+ openai.api_key = api_key
13
+ return openai
14
 
15
  def classify_query(query):
16
  llm = get_llm()
17
+ try:
18
+ response = llm.ChatCompletion.create(
19
+ model="gpt-3.5-turbo-16k",
20
+ messages=[{"role": "user", "content": f"Classify the following query into 'Chemotherapy' or 'Traffic Law': {query}"}],
21
+ max_tokens=60
22
+ )
23
+ return response['choices'][0]['message']['content'].strip()
24
+ except Exception as e:
25
+ print(f"Error during classification: {e}")
26
+ return None
27
+
28
 
29
  def main():
30
  print("Starting the script...")
 
31
  # Get user query
32
+ query = input("Please enter your query: ")
 
33
  # Classify the query
34
  category = classify_query(query)
35
+ print(f"Query classified into category: {category}")
 
36
  # Get the correct graph connection
37
+ graph = get_graph_connection(category)
 
38
  # Query the correct graph
39
  result = query_knowledge_graph(graph, query)
40
  print(f"Query result: {result}")
 
41
  if __name__ == "__main__":
42
  main()
kg_builder/src/models.py CHANGED
@@ -1,7 +1,6 @@
1
  from langchain_community.graphs.graph_document import (
2
  Node as BaseNode,
3
  Relationship as BaseRelationship,
4
- GraphDocument,
5
  )
6
  from langchain.schema import Document
7
  from typing import List, Dict, Any, Optional
 
1
  from langchain_community.graphs.graph_document import (
2
  Node as BaseNode,
3
  Relationship as BaseRelationship,
 
4
  )
5
  from langchain.schema import Document
6
  from typing import List, Dict, Any, Optional
kg_builder/src/query_graph.py CHANGED
@@ -1,6 +1,5 @@
1
  from langchain.chains import GraphCypherQAChain
2
  from langchain_openai import ChatOpenAI
3
- from api_connections import graph # Importing 'graph' from 'api_connections.py'
4
 
5
  def query_knowledge_graph(graph, query):
6
  print("Refreshing the graph schema...")
 
1
  from langchain.chains import GraphCypherQAChain
2
  from langchain_openai import ChatOpenAI
 
3
 
4
  def query_knowledge_graph(graph, query):
5
  print("Refreshing the graph schema...")
kg_builder/src/utils.py CHANGED
@@ -1,7 +1,6 @@
1
  from langchain_community.graphs.graph_document import (
2
  Node as BaseNode,
3
  Relationship as BaseRelationship,
4
- GraphDocument,
5
  )
6
  from models import Node, Relationship
7
 
 
1
  from langchain_community.graphs.graph_document import (
2
  Node as BaseNode,
3
  Relationship as BaseRelationship,
 
4
  )
5
  from models import Node, Relationship
6