Chat / app.py
CosmoAI's picture
Update app.py
495a4d7 verified
# 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()