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)