qwebeck/echo-net-dynamic-segmentations
1
1import random2import gradio as gr3import requests4import os5import json6 7 8def get_response(code):9 default_code = 'joke'10 code = next((c for c in ['joke', 'fact'] if c == code), default_code)11 response = requests.get(12 f'https://api.api-ninjas.com/v1/{code}s?limit=1',13 headers={'X-Api-Key': os.environ.get('API_NINJAS_KEY')})14 if response.status_code == requests.codes.ok:15 return json.loads(response.text)[0][code]16 else:17 return 'Sorry, but today is not your day :('18 19 20def chat(message, history):21 """22 Returns a joke or a fact depending on you wish. Or ITS wish..... Buhahaha 23 """24 history = history or []25 message = message.lower()26 response = get_response(message)27 history.append((message, response))28 return history, history29 30 31chatbot = gr.Chatbot().style(color_map=("green", "pink"))32 33demo = gr.Interface(34 chat,35 ["text", "state"],36 [chatbot, "state"],37 allow_flagging="never",38)39 40if __name__ == "__main__":41 demo.launch()42 