Spaces:
Running
Running
File size: 1,362 Bytes
77fbdd0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
from GPT4KG import KnowledgeGraph
import gradio as gr
from PIL import Image
def generate_graph(input_text,api_key):
try:
kg = KnowledgeGraph(api_key,"temp.kg")
except:
kg = KnowledgeGraph(api_key)
kg.learn(str(input_text))
kg.save_graph("temp.kg")
kg.display_graph("temp.png")
return Image.open("temp.png")
def answer_question(question,api_key):
try:
kg = KnowledgeGraph(api_key,"temp.kg")
except:
kg = KnowledgeGraph(api_key)
return kg.chat_qa(question)
title = "GPT-4 Knowledge Graph Generator"
description = "Enter text to generate a knowledge graph using GPT4KG:"
with gr.Blocks() as demo:
with open("temp.kg","w") as f:
f.write("")
gr.Markdown("""<h1><center>GPT-4 Knowledge Graph Generator</center></h1>""")
output_image = gr.Image(label="Knowledge Graph", type="pil")
api_key = gr.Textbox(lines=1, label="OpenAI API Key")
input_text = gr.Textbox(lines=5, label="Information to be added to graph")
submit_btn = gr.Button("Add info to graph")
submit_btn.click(fn=generate_graph, inputs=[input_text,api_key], outputs=[output_image])
question = gr.Textbox(lines=1, label="Question about the info in this graph")
answer = gr.Textbox(lines=1, label="Answer")
qa_btn = gr.Button("Ask question")
qa_btn.click(fn=answer_question, inputs=[question,api_key], outputs=[answer])
demo.launch(share=True) |