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)
|