Spaces:
Build error
Build error
| from groq import Groq | |
| import gradio as gr | |
| import os | |
| import json | |
| import random | |
| from getvalues import getValues | |
| from datetime import datetime, timedelta | |
| import uuid | |
| import re | |
| api1 = os.getenv("Groq_key") | |
| api2 = os.getenv("GRoq_key") | |
| apis = [ | |
| api1, | |
| api2, | |
| ] | |
| def responsenew(data): | |
| idval = random.randint(1, 1000000000) | |
| print(f"\n\n{data}") | |
| newdata = data.replace("'", '"') | |
| items = json.loads(newdata) | |
| query = items['text'] | |
| query = query.lower() | |
| while True: | |
| for api in apis: | |
| client = Groq( | |
| api_key=api, | |
| ) # Configure the model with the API key | |
| try: | |
| response = client.chat.completions.create( | |
| messages=[ | |
| { | |
| "role": "user", | |
| "content": query, | |
| } | |
| ], | |
| model="mixtral-8x7b-32768", | |
| ) | |
| answer = response.choices[0].message.content | |
| except Exception as e: | |
| print(f"API call failed for: {e}") | |
| if answer: | |
| break | |
| if answer: | |
| break | |
| print(f"\n{answer}") | |
| 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': [], | |
| }], | |
| } | |
| } | |
| elif "add to do" in query: | |
| replaced_string = text.replace("add todo", "").replace("add to do","") | |
| # 1. Replace "note down" with an empty string: | |
| replaced_string = text.replace("note down", "") | |
| # 2. Split the string into words: | |
| words = replaced_string.split() | |
| # 3. Extract the first two words: | |
| first_two_words = words[:2] # Get the first two elements of the list | |
| # 4. Join the words back into a string (if needed): | |
| result_string = " ".join(first_two_words) | |
| respo = { | |
| 'message': "Todo added!", | |
| 'action': "create_todo", | |
| 'function': { | |
| 'name': result_string, | |
| 'id': idval, | |
| 'subTasks': [{ | |
| 'task':replaced_string, | |
| 'done': False | |
| }], | |
| 'shared': [], | |
| 'sharedByMe': [], | |
| }, | |
| } | |
| elif "note down" in query: | |
| # 1. Replace "note down" with an empty string: | |
| replaced_string = text.replace("note down", "") | |
| # 2. Split the string into words: | |
| words = replaced_string.split() | |
| # 3. Extract the first two words: | |
| first_two_words = words[:2] # Get the first two elements of the list | |
| # 4. Join the words back into a string (if needed): | |
| result_string = " ".join(first_two_words) | |
| respo = { | |
| 'message': "Got it! Saved to your notes.", | |
| 'action': "create_note", | |
| 'function': { | |
| 'title': result_string, | |
| 'id': idval, | |
| 'type': 'Note', | |
| 'description': replaced_string, | |
| 'time': datetime.now().strftime("%d/%m/%Y"), | |
| 'mainTime': datetime.now().strftime("%I:%M %p"), | |
| 'complete': False, | |
| 'shared': [], | |
| 'sharedByMe': [], | |
| } | |
| } | |
| elif "add coins" in query: | |
| respo = { | |
| "message": "Click the button below to view Premium Services and Coin Recharge options: ", | |
| "action": "payment", | |
| "function": "nothing", | |
| } | |
| elif "show my friends" in query: | |
| respo = { | |
| "message": "Here's the list of your friends: ", | |
| "action": "show_friends", | |
| "function": "nothing", | |
| } | |
| elif "show my groups" in query: | |
| respo = { | |
| "message": "You are member of following groups: ", | |
| "action": "show_mygroups", | |
| "function": "nothing", | |
| } | |
| elif "show my communities" in query: | |
| respo = { | |
| "message": "You are part of following communities🫶: ", | |
| "action": "show_mycommunities", | |
| "function": "nothing", | |
| } | |
| elif "show shared reminders" in query: | |
| respo = { | |
| "message": "Here's the list of your shared reminders: ", | |
| "action": "shared_reminders", | |
| "function": "nothing", | |
| } | |
| elif "create a post" in query: | |
| respo = { | |
| "message": "Sure!", | |
| "action": "create_post", | |
| "function": "nothing", | |
| } | |
| elif "show my routines" in query: | |
| respo = { | |
| "message": "Here's the list of your routines: ", | |
| "action": "myroutines", | |
| "function": "nothing", | |
| } | |
| # elif "what is your name" or "what's your name" or "who are you" in data: | |
| # respo = { | |
| # "message": "My name is Cosmo. I am your friendly personal assistant.", | |
| # "action": "nothing", | |
| # "function": "nothing", | |
| # } | |
| elif "notify" in query: | |
| respo = { | |
| "message": "Select your friends to notify", | |
| "action": "send_notify", | |
| "function": "nothing", | |
| } | |
| elif "show actions" in query: | |
| respo = { | |
| "message": "Here is list of actions you can use:", | |
| "action": "show_actions", | |
| "function": "nothing", | |
| } | |
| else: | |
| respo = { | |
| "message": answer, | |
| "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() | |