css = """
h1 {
text-align: center;
display:block;
}
"""
video_path= "demo_video_gaidio"
key_passw = os.environ.get('passw_gaidio', None)
key_usr = os.environ.get('usr_gaidio', None)
assistant_id = os.environ.get('asst_id', None)
client = OpenAI(api_key=os.environ.get('AI_key', None))
# Create a thread
thread = client.beta.threads.create()
print(thread.id)
def main_chat_bot(query,history):
# Add a message to a Thread
message = client.beta.threads.messages.create(
thread_id=thread.id,
role="user",
content=query
)
# Run the assistant
run = client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=assistant_id,
)
while True:
time.sleep(3)
run_status = client.beta.threads.runs.retrieve(
thread_id=thread.id,
run_id=run.id
)
if run_status.status == 'completed':
messages = client.beta.threads.messages.list(
thread_id=thread.id
)
response = ""
for msg in messages.data:
role = msg.role
content = msg.content[0].text.value
response += f"{role.capitalize()}: {content}\n\n"
break
return response+ "\n\n"
else:
continue
with gr.Blocks(css=css) as demo:
gr.Markdown(
"""
# gAIdio (Proof of concept)
Fråga mig om uppgiftskrav!
""")
# gr.Markdown("
gAIdio (Proof of concept)
")
#chatbot = gr.Chatbot(placeholder="Fråga mig om uppgiftskrav!")
with gr.Tab("Chatbot"):
chatbot = gr.Chatbot(placeholder="gAIdio
Fråga mig om uppgiftskrav!")
#chatbot.like(vote, None, None)
gr.ChatInterface(fn=main_chat_bot, chatbot=chatbot)
with gr.Tab("Instruktioner"):
with gr.Row():
gr.Markdown(
"""
# Bakgrund
Funderar du på att starta en ny verksamhet? Eller vill du kanske utöka din nuvarande verksamhet?
Denna assistent hjälper dig att få svar på vilka uppgiftskrav som kan vara relevanta för just dig.
## Data
Den data som assistenten har tillgång till är 860 st uppgiftskrav från [Uppgiftskrav.se](https://www.uppgiftskrav.se/uppgiftskrav/ 'Uppgiftskrav').
## Instruktioner
Ge en kortfattad verksamhetsbeskrivning, alternativt ställ en fråga som rör din planerade verksamhet.
## Format
Assistenten kommer att lista relevanta uppgiftskrav med kortfattade beskrivningar av dessa och
länka till uppgiftskravens sidor på Uppgiftskrav.se.
""")
# with gr.Tab("Videoexempel"):
# with gr.Row():
# gr.Markdown("Det kan ta några sekunder för exempelvideon att ladda.")
# with gr.Row():
# gr.PlayableVideo(video_path)
demo.launch(auth=(key_usr, key_passw)