# elif response[1] == "create_reminder": # # if values[4] == 'notime': # # return JsonResponse({ # # 'messages': 'At what time do you want me to remind you?', # # }) # # else: # return JsonResponse({ # 'messages': response[0], # 'action': response[1], # 'function': { # 'id': idval, # 'sound': 'General', # 'subTitle': 'Task', # 'type': 'Note', # 'title': values[0], # 'description': '', # 'time': values[1].upper(), # 'timestamp' : datetime.now().strftime("%d-%m-%Y %H:%M:%S.%f"), # 'enable': False, # 'report': [], # 'icon': 'https://firebasestorage.googleapis.com/v0/b/cosmo-f5007.appspot.com/o/categories%2FIcons%2Ftaskicon.svg?alt=media&token=56f3fc55-8eda-4463-bceb-7bf3198dff3c', # 'color': 'FFD700', # 'sharedToMe': [], # 'sharedByMe': [], # 'repeat': 'Once', # 'reminders': [{ # 'time': values[1].upper(), # 'enable': False, # 'repeat': 'Once', # 'title': values[0], # 'id': idval, # 'note': '', # 'dates': [], # }], # } # }) # elif response[1] == 'create_todo': # return JsonResponse({ # 'messages': response[0], # 'action': response[1], # 'function': { # 'name': 'defaulttodo', # 'id': idval, # 'subTasks': [{ # 'task':values[0].replace("create a todo", ""), # 'done': False # }], # 'shared': [], # 'sharedByMe': [], # }, # }) # elif response[1] == 'create_note': # return JsonResponse({ # 'messages': response[0], # 'action': response[1], # 'function': { # 'title': 'defaultnote', # 'id': idval, # 'type': 'Note', # 'description': values[0], # 'time': datetime.now().strftime("%d/%m/%Y"), # 'mainTime': datetime.now().strftime("%I:%M %p"), # 'complete': False, # 'shared': [], # 'sharedByMe': [], # } # }) import gradio as gr import requests import time import os import json import google.generativeai as genai import random from getvalues import getValues from datetime import datetime, timedelta import uuid import re genai.configure( api_key=os.environ['API_KEY']) model = genai.GenerativeModel( model_name='gemini-pro') def responsenew(data): # query = data # respo = model.generate_content( # query, # generation_config={ # 'temperature': 0, # 'max_output_tokens': 100 # } # ) idval = random.randint(1, 1000000000) print(f"\n\n{data}") newdata = data.replace("'", '"') items = json.loads(newdata) query = items['text'] query = query.lower() # try: # items = json.loads(newdata) # query = items['text'] # query = query.lower() # print(query) # except json.JSONDecodeError as e: # print("Invalid JSON:", e) response = model.generate_content(query) print(f"\n{response.text}") if query is not None: if "remind me" in query: values = getValues(query) if values[0] is not None: msg = values[0] else: msg = "Reminder Alert" if values[1] is not None: time = values[1] else: time = "5:00 PM" # time = time1 + timedelta(hours=1) # time = time2.strftime("%d-%m-%Y %H:%M:%S.%f") if values[2] is not None: day = values[2] else: day = "today" if values[3] is not None: date = values[3] else: date = datetime.today() if values[4] is not None: reps = values[4] else: reps = "Once" respo = { 'message': f"Message: {msg} \nTime: {time} \nDay: {day} \nCreated Successfully.", 'action': "create_reminder", 'function': { 'id': idval, 'sound': 'General', 'subTitle': 'Task', 'type': 'Note', 'title': msg, 'description': '', 'time': time.upper(), 'timestamp' : datetime.now().strftime("%d-%m-%Y %H:%M:%S.%f"), 'enable': False, 'report': [], 'icon': 'https://firebasestorage.googleapis.com/v0/b/cosmo-f5007.appspot.com/o/categories%2FIcons%2Ftaskicon.svg?alt=media&token=56f3fc55-8eda-4463-bceb-7bf3198dff3c', 'color': 'FFD700', 'sharedToMe': [], 'sharedByMe': [], 'repeat': reps, 'reminders': [{ 'time': time.upper(), 'enable': False, 'repeat': reps, 'title': msg, 'id': idval, 'note': '', 'dates': [], }], } } else: respo = { "message": response.text, "action": "nothing", "function": "nothing", } else: respo = { "message": "Whoops, seems like we're a bit overloaded! Don't worry, your request is in the queue and we'll get back to you as soon as possible.", "action": "nothing", "function": "nothing", } return json.dumps(respo) gradio_interface = gr.Interface( fn = responsenew, inputs = "text", outputs = "text" ) gradio_interface.launch() # remind_val = ["create a reminder", "create reminder", "remind me"] # if remind_val in data: # return "Reminder created!" # else: # return bardChat(data) # with gr.Blocks() as demo: # chatbot = gr.Chatbot() # msg = gr.Textbox() # clear = gr.ClearButton([msg, chatbot]) # def respond(message, chat_history): # bot_message = responsenew(message) # chat_history.append((message, bot_message)) # time.sleep(2) # return "", chat_history # msg.submit(respond, [msg, chatbot], [msg, chatbot]) # if __name__ == "__main__": # demo.launch()