Spaces:
Sleeping
Sleeping
import gradio as gr | |
import subprocess | |
import sys | |
def install(package): | |
subprocess.check_call([sys.executable, "-m", "pip", "install", package]) | |
install("langchain_community") | |
install("langchain_openai") | |
install("langchain") | |
import os | |
from langchain_community.graphs import Neo4jGraph | |
from langchain.chains import GraphCypherQAChain | |
from langchain_openai import ChatOpenAI | |
os.environ["NEO4J_URI"] = "neo4j://localhost:7687" | |
os.environ["NEO4J_USERNAME"] = "neo4j" | |
os.environ["NEO4J_PASSWORD"] = "password" | |
def respond( | |
message | |
): | |
graph = Neo4jGraph() | |
llm = ChatOpenAI(model="gpt-4o", temperature=0) | |
chain = GraphCypherQAChain.from_llm(graph=graph, llm=llm, verbose=True) | |
response = chain.invoke({"query": message}) | |
return response['result'] | |
""" | |
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface | |
""" | |
with gr.Blocks() as demo: | |
with gr.Tab("Ask my neo4j database"): | |
gr.Markdown("### Talk to me !") | |
message = gr.Dropdown(label="Your message") | |
btn_submit = gr.Button("Submit") | |
result_ta = gr.TextArea("Here you will find your answer !") | |
btn_submit.click(respond, inputs=message, outputs=result_ta) | |
demo.launch() |