Polo123 commited on
Commit
beaea9f
1 Parent(s): 3bd91a1

Update logic.py

Browse files
Files changed (1) hide show
  1. logic.py +40 -18
logic.py CHANGED
@@ -3,18 +3,20 @@ import kuzu
3
  import logging
4
  import sys
5
  import os
6
- from llama_index.graph_stores.kuzu import KuzuGraphStore
7
- from llama_index.core import (
 
 
8
  SimpleDirectoryReader,
9
  ServiceContext,
10
  KnowledgeGraphIndex,
11
  )
12
- from llama_index.readers.web import SimpleWebPageReader
13
-
14
 
15
- from llama_index.llms.openai import OpenAI
16
  from IPython.display import Markdown, display
17
- from llama_index.core.storage.storage_context import StorageContext
18
 
19
  from pyvis.network import Network
20
  import pandas as pd
@@ -22,11 +24,26 @@ import numpy as np
22
  import plotly.express as px
23
  import umap
24
 
25
- def get_index(links,token):
26
- #os.environ["OPENAI_API_KEY"] = userdata.get('oai')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  logging.basicConfig(stream=sys.stdout, level=logging.INFO)
28
 
29
- db = kuzu.Database("kg1")
30
  graph_store = KuzuGraphStore(db)
31
 
32
 
@@ -36,24 +53,25 @@ def get_index(links,token):
36
 
37
  llm = OpenAI(temperature=0, model="gpt-3.5-turbo",api_key=token)
38
  service_context = ServiceContext.from_defaults(llm=llm, chunk_size=512)
39
-
40
  storage_context = StorageContext.from_defaults(graph_store=graph_store)
41
 
42
  # NOTE: can take a while!
43
  index = KnowledgeGraphIndex.from_documents(documents=documents,
44
- max_triplets_per_chunk=5,
45
  storage_context=storage_context,
46
  service_context=service_context,
47
  show_progress=True,
48
  include_embeddings=True)
 
 
49
 
50
  return index
51
 
52
  def get_network_graph(index):
53
  g = index.get_networkx_graph()
54
- net = Network(notebook=True, cdn_resources="in_line", directed=True)
55
  net.from_nx(g)
56
- net.show("kuzugraph_draw3.html")
57
  net.save_graph("kuzugraph_draw3.html")
58
 
59
 
@@ -84,11 +102,15 @@ def get_visualize_embeddings(embedding_series, n_neighbors=15, min_dist=0.1, n_c
84
  return fig
85
 
86
 
 
 
 
 
 
 
 
87
 
88
-
89
-
90
-
91
-
92
-
93
 
94
 
 
3
  import logging
4
  import sys
5
  import os
6
+
7
+ #import llama_index
8
+ from llama_index.graph_stores import KuzuGraphStore
9
+ from llama_index import (
10
  SimpleDirectoryReader,
11
  ServiceContext,
12
  KnowledgeGraphIndex,
13
  )
14
+ from llama_index.readers import SimpleWebPageReader
15
+ from llama_index.indices.loading import load_index_from_storage
16
 
17
+ from llama_index.llms import OpenAI
18
  from IPython.display import Markdown, display
19
+ from llama_index.storage.storage_context import StorageContext
20
 
21
  from pyvis.network import Network
22
  import pandas as pd
 
24
  import plotly.express as px
25
  import umap
26
 
27
+ def load_index(token,name):
28
+ os.environ["OPENAI_API_KEY"] = token
29
+ logging.basicConfig(stream=sys.stdout, level=logging.INFO)
30
+
31
+ db = kuzu.Database(name+"/kg")
32
+ graph_store = KuzuGraphStore(db)
33
+ llm = OpenAI(temperature=0, model="gpt-3.5-turbo",api_key=token)
34
+
35
+ service_context = ServiceContext.from_defaults(llm=llm, chunk_size=512)
36
+ storage_context = StorageContext.from_defaults(graph_store=graph_store,persist_dir=name+"/storage")
37
+ index = load_index_from_storage(storage_context=storage_context,service_context=service_context)
38
+ return index
39
+
40
+
41
+ def get_index(links,token,name):
42
+ os.mkdir(name)
43
+ os.environ["OPENAI_API_KEY"] = token
44
  logging.basicConfig(stream=sys.stdout, level=logging.INFO)
45
 
46
+ db = kuzu.Database(name+"/kg")
47
  graph_store = KuzuGraphStore(db)
48
 
49
 
 
53
 
54
  llm = OpenAI(temperature=0, model="gpt-3.5-turbo",api_key=token)
55
  service_context = ServiceContext.from_defaults(llm=llm, chunk_size=512)
 
56
  storage_context = StorageContext.from_defaults(graph_store=graph_store)
57
 
58
  # NOTE: can take a while!
59
  index = KnowledgeGraphIndex.from_documents(documents=documents,
60
+ max_triplets_per_chunk=2,
61
  storage_context=storage_context,
62
  service_context=service_context,
63
  show_progress=True,
64
  include_embeddings=True)
65
+ index.storage_context.persist(name+"/storage")
66
+
67
 
68
  return index
69
 
70
  def get_network_graph(index):
71
  g = index.get_networkx_graph()
72
+ net = Network(directed=True)
73
  net.from_nx(g)
74
+ # net.show("kuzugraph_draw3.html")
75
  net.save_graph("kuzugraph_draw3.html")
76
 
77
 
 
102
  return fig
103
 
104
 
105
+ def query_model(index,user_query):
106
+ query_engine = index.as_query_engine(
107
+ include_text=True,
108
+ response_mode="tree_summarize",
109
+ embedding_mode="hybrid",
110
+ similarity_top_k=5,
111
+ )
112
 
113
+ response = query_engine.query(user_query)
114
+ return response
 
 
 
115
 
116