import os import gradio as gr from dotenv import load_dotenv import json from deep_translator import GoogleTranslator import google.generativeai as genai import time import random load_dotenv() # Configure the Gemini API with your API key GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") genai.configure(api_key=GEMINI_API_KEY) def make_call(data): print(data) newdata = data.replace("'", '"') items = json.loads(newdata) language = items['lang'] query = items['text'] query = query.lower() translated = None model = genai.GenerativeModel('gemini-2.5-flash-lite') retries = 0 max_retries = 5 # You can adjust this number base_delay = 1 # Initial delay in seconds while retries < max_retries: try: prompt_query = ( f"Answer this query in a short message with wisdom, love, and compassion, " f"in context to Bhagavad Gita, that feels like chatting to a person and " f"provide references of shlokas from chapters of Bhagavad Gita which are " f"relevant to the query. Keep the answer short, precise, and simple. " f"Query: {query}" ) response = model.generate_content(prompt_query) answer = response.text translated = GoogleTranslator(source='auto', target=language).translate(answer) break # Exit the loop if the call is successful except Exception as e: if "429 Quota exceeded" in str(e): delay = base_delay * (2 ** retries) + random.uniform(0, 1) # Exponential backoff with jitter print(f"Quota exceeded. Retrying in {delay:.2f} seconds... (Attempt {retries + 1}/{max_retries})") time.sleep(delay) retries += 1 else: print(f"API call failed: {e}") translated = f"An error occurred while fetching the answer: {e}" break # Exit the loop for other errors else: # This block executes if the loop completes without a successful break (i.e., max_retries reached) translated = "Maximum retry attempts reached. Please try again later." respo = { "message": translated, "action": "nothing", "function": "nothing", } print(translated) return json.dumps(respo) gradio_interface = gr.Interface(fn=make_call, inputs="text", outputs="text") gradio_interface.launch() # import os # import gradio as gr # from groq import Groq # from dotenv import load_dotenv # import json # from deep_translator import GoogleTranslator # import google.generativeai as genai # load_dotenv() # api1 = os.getenv("GEMINI_API_KEY") # genai.configure(api_key=api1) # # api2 = os.getenv("Groq_key") # # api3 = os.getenv("GRoq_key") # # api2 = os.getenv("Groq_key") # # api2 = os.getenv("Groq_key") # # api2 = os.getenv("Groq_key") # # api2 = os.getenv("Groq_key") # # apis = [ # # api1 # # ] # # from google import genai # # client = genai.Client() # # response = client.models.generate_content( # # model="gemini-2.5-flash", # # contents="Explain how AI works in a few words", # # ) # # print(response.text) # def make_call(data): # print(data) # newdata = data.replace("'", '"') # items = json.loads(newdata) # language = items['lang'] # query = items['text'] # query = query.lower() # answer = None # while True: # for api in apis: # client = genai.Client( # api_key=api, # ) # Configure the model with the API key # # query = st.text_input("Enter your query") # prmptquery= f"Answer this query in a short message with wisdom, love and compassion, in context to bhagwat geeta, that feels like chatting to a person and provide references of shloks from chapters of bhagwat geeta which is relevant to the query. keep the answer short, precise and simple. Query= {query}" # try: # response = client.chat.completions.create( # messages=[ # { # "role": "user", # "content": prmptquery, # } # ], # model="mixtral-8x7b-32768", # ) # answer = response.choices[0].message.content # translated = GoogleTranslator(source='auto', target=language).translate(answer) # except Exception as e: # print(f"API call failed for: {e}") # if answer: # break # if answer: # break # respo = { # "message": translated, # "action": "nothing", # "function": "nothing", # } # print(translated) # return json.dumps(respo) # gradio_interface = gr.Interface(fn=make_call, inputs="text", outputs="text") # gradio_interface.launch() # # print(chat_completion) # # # Text to 3D # # import streamlit as st # # import torch # # from diffusers import ShapEPipeline # # from diffusers.utils import export_to_gif # # # Model loading (Ideally done once at the start for efficiency) # # ckpt_id = "openai/shap-e" # # @st.cache_resource # Caches the model for faster subsequent runs # # def load_model(): # # return ShapEPipeline.from_pretrained(ckpt_id).to("cuda") # # pipe = load_model() # # # App Title # # st.title("Shark 3D Image Generator") # # # User Inputs # # prompt = st.text_input("Enter your prompt:", "a shark") # # guidance_scale = st.slider("Guidance Scale", 0.0, 20.0, 15.0, step=0.5) # # # Generate and Display Images # # if st.button("Generate"): # # with st.spinner("Generating images..."): # # images = pipe( # # prompt, # # guidance_scale=guidance_scale, # # num_inference_steps=64, # # size=256, # # ).images # # gif_path = export_to_gif(images, "shark_3d.gif") # # st.image(images[0]) # Display the first image # # st.success("GIF saved as shark_3d.gif")