Spaces:
Running
Running
File size: 1,639 Bytes
77fbdd0 402a83c e03fe0d 77fbdd0 d6e52e9 402a83c 77fbdd0 402a83c b9e22b2 402a83c 77fbdd0 402a83c d6e52e9 77fbdd0 d6e52e9 402a83c 77fbdd0 d6e52e9 9a99e73 d6e52e9 77fbdd0 e03fe0d 77fbdd0 402a83c 77fbdd0 402a83c 77fbdd0 e03fe0d d6e52e9 e03fe0d 6826a9b |
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 41 42 43 44 45 46 47 48 49 50 |
from GPT4KG import KnowledgeGraph
import gradio as gr
from PIL import Image
def generate_graph(input_text,api_key,graph):
if graph == []:
kg = KnowledgeGraph(api_key)
graph.append(kg)
else:
kg = graph[0]
kg.learn(str(input_text))
img = kg.display_graph()
graph[0] = kg
return img,graph
def answer_question(question,api_key,graph):
if graph == []:
kg = KnowledgeGraph(api_key)
graph.append(kg)
else:
kg = graph[0]
return kg.chat_qa(question)
def clear_graph(api_key,graph):
graph = []
kg = KnowledgeGraph(api_key)
graph.append(kg)
return graph,Image.new('RGB', (300, 100),(255, 255, 255))
title = "GPT-4 Knowledge Graph Generator"
description = "Enter text to generate a knowledge graph using GPT4KG:"
with gr.Blocks() as demo:
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")
graph = gr.State([])
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,graph], outputs=[output_image,graph])
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,graph], outputs=[answer])
clear_btn = gr.Button("Clear graph")
clear_btn.click(fn=clear_graph, inputs=[api_key,graph], outputs=[graph,output_image],api_name="clear")
demo.launch() |