Spaces:
Runtime error
Runtime error
Commit
Β·
cf6272b
1
Parent(s):
d7fefd7
Added Knowledge Graph
Browse files
app.py
CHANGED
|
@@ -471,6 +471,51 @@ for i in range(len(t)//3):
|
|
| 471 |
r.append(t[3*i:3*i+3])
|
| 472 |
r
|
| 473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 474 |
|
| 475 |
#####################
|
| 476 |
disp_url = "https://i.ibb.co/TP4ddc6/sherlock.png"
|
|
@@ -606,4 +651,16 @@ home</p>""")
|
|
| 606 |
# video_name = gr.Text(label="Video Upload")
|
| 607 |
hbtn = gr.Button("Video")
|
| 608 |
hbtn.click(video, inputs=fil1, outputs=vid2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 609 |
demo.launch(debug=True)
|
|
|
|
| 471 |
r.append(t[3*i:3*i+3])
|
| 472 |
r
|
| 473 |
|
| 474 |
+
def knowledge_graph(prompt):
|
| 475 |
+
|
| 476 |
+
response = openai.Completion.create(
|
| 477 |
+
model="text-davinci-003",
|
| 478 |
+
prompt=f"""Given a prompt, extrapolate as many relationships as possible from it and provide a list of updates.\n\nIf an update is a relationship, provide
|
| 479 |
+
[ENTITY 1, RELATIONSHIP, ENTITY 2]. The relationship is directed, so the order matters.\n\nIf an update is related to deleting an entity, provide [\"DELETE\", ENTITY].\n\nExample:\nprompt: Alice is Bob's roommate. Alice likes music. Her roommate likes sports\nupdates:\n[[\"Alice\", \"roommate\", \"Bob\"],[\"Alice\",\"likes\",\"music\"],
|
| 480 |
+
[\"Bob\",\"likes\",\"sports\"]]\n\nprompt: {prompt}\nupdates:""",
|
| 481 |
+
temperature=0,
|
| 482 |
+
max_tokens=256,
|
| 483 |
+
top_p=1,
|
| 484 |
+
frequency_penalty=0,
|
| 485 |
+
presence_penalty=0
|
| 486 |
+
)
|
| 487 |
+
r = response["choices"][0]["text"]
|
| 488 |
+
r = r[2:]
|
| 489 |
+
r = r.replace("[",'').replace("]","")
|
| 490 |
+
r = r.split(",")
|
| 491 |
+
t = []
|
| 492 |
+
for i in range(len(r)//3):
|
| 493 |
+
t.append(r[3*i:3*i+3])
|
| 494 |
+
# t = [['"Ankit"', '"went_to"', '"market"'], ['"Ankit"', '"called"', '"Raj"']]
|
| 495 |
+
import networkx as nx
|
| 496 |
+
print(t)
|
| 497 |
+
G = nx.Graph()
|
| 498 |
+
for i in t:
|
| 499 |
+
G.add_node(i[0])
|
| 500 |
+
G.add_node(i[2])
|
| 501 |
+
G.add_edge(i[0],i[2])
|
| 502 |
+
pos = nx.spring_layout(G)
|
| 503 |
+
nx.draw(G,pos,labels={node: node for node in G.nodes()})
|
| 504 |
+
print('Drew')
|
| 505 |
+
x = nx.draw_networkx_edge_labels(
|
| 506 |
+
G, pos,
|
| 507 |
+
edge_labels={(t[0][0], t[0][2]): t[0][1],
|
| 508 |
+
(t[1][0], t[1][2]): t[1][1]
|
| 509 |
+
},
|
| 510 |
+
font_color='red'
|
| 511 |
+
)
|
| 512 |
+
# print(x)
|
| 513 |
+
plt.savefig("/tmp/generate_graph.png")
|
| 514 |
+
img = Image.open("/tmp/generate_graph.png")
|
| 515 |
+
os.remove("/tmp/generate_graph.png")
|
| 516 |
+
return img
|
| 517 |
+
|
| 518 |
+
|
| 519 |
|
| 520 |
#####################
|
| 521 |
disp_url = "https://i.ibb.co/TP4ddc6/sherlock.png"
|
|
|
|
| 651 |
# video_name = gr.Text(label="Video Upload")
|
| 652 |
hbtn = gr.Button("Video")
|
| 653 |
hbtn.click(video, inputs=fil1, outputs=vid2)
|
| 654 |
+
|
| 655 |
+
with gr.Accordion("Generate Knowledge Graph",open=False):
|
| 656 |
+
gr.Markdown("**Genrate KNowledge Graph**")
|
| 657 |
+
with gr.Row():
|
| 658 |
+
with gr.Column():
|
| 659 |
+
prompt_to_generate_graph = gr.Text()
|
| 660 |
+
with gr.Column():
|
| 661 |
+
generated_graph_pic = gr.Image()
|
| 662 |
+
|
| 663 |
+
generate_knowledge_graph = gr.Button("Generate Knowledge Graph")
|
| 664 |
+
generate_knowledge_graph.click(knowledge_graph, inputs=prompt_to_generate_graph, outputs=generated_graph_pic)
|
| 665 |
+
|
| 666 |
demo.launch(debug=True)
|