Spaces:
Sleeping
Sleeping
import tempfile | |
import gradio as gr | |
import janus_swi as janus | |
import nest_asyncio | |
nest_asyncio.apply() | |
def yes_man(message, history): | |
janus.consult("knowledge_base.pl") | |
# tmp = tempfile.NamedTemporaryFile(suffix='.pl') | |
# Open the file for writing. | |
# with open(tmp.name, 'w') as f: | |
with open("tmp.pl", 'w') as f: | |
f.write("""% Define the person | |
us_citizen(john_doe) | |
lawfully_residing(john_doe, 'U.S.', date(1996, 1, 1)) | |
condition(john_doe, 'Blind')""") | |
# janus.consult(tmp.name) | |
janus.consult("tmp.pl") | |
if message.endswith("?"): | |
result = str(janus.query_once("eligible_for_ssi(john_doe)")) | |
else: | |
result = '\n- '.join([str(r) for r in janus.query("eligible_for_ssi(john_doe)")]) | |
# tmp.close() | |
return result | |
gr.ChatInterface( | |
yes_man, | |
title="Yes Man", | |
description="Ask Yes Man any question", | |
examples=["Hello", "Am I cool?", "Are tomatoes vegetables?"], | |
).launch() |