from newsapi import NewsApiClient from gradio_client import Client import requests import random # example input: prompt = "Beautiful Sky with "Gradio is love" written over it" # defining a function to generate music using Gradio demo of TextDiffusers hosted on Spaces def generate_image(prompt: str) -> str: """ generate an image based on the prompt provided """ client = Client("https://ysharma-textdiffuser.hf.space/", hf_token="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") result = client.predict( prompt, # str in 'Input your prompt here. Please enclose keywords with 'single quotes', you may refer to the examples below. The current version only supports input in English characters.' Textbox component 20, # int | float (numeric value between 1 and 50) in 'Sampling step' Slider component 7.5, # int | float (numeric value between 1 and 9) in 'Scale of classifier-free guidance' Slider component 1, # int | float (numeric value between 1 and 4) in 'Batch size' Slider component "Stable Diffusion v2.1", # str in 'Pre-trained Model' Radio component fn_index=1) return result[0] # example input: input_text = "A cheerful country song with acoustic guitars" # defining a function to generate music using Gradio demo of MusicGen hosted on Spaces #input melody example = "/content/bolero_ravel.mp3" def generate_music(input_text, input_melody ): """ generate music based on an input text """ client = Client("https://ysharma-musicgendupe.hf.space/", hf_token="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") result = client.predict( "melody", # str in 'Model' Radio component input_text, # str in 'Input Text' Textbox component input_melody, # str (filepath or URL to file) in 'Melody Condition (optional)' Audio component 5, # int | float (numeric value between 1 and 120) in 'Duration' Slider component 250, # int | float in 'Top-k' Number component 0, # int | float in 'Top-p' Number component 1, # int | float in 'Temperature' Number component 3, # int | float in 'Classifier Free Guidance' Number component fn_index=1) return result # example input: input_image = "cat.jpg" # defining a function to generate caption using a image caption Gradio demo hosted on Spaces def generate_caption(input_image ): """ generate caption for the input image """ client = Client("https://nielsr-comparing-captioning-models.hf.space/") temp = input_image.split('/') if len(temp) == 1: input_image = temp[0] else: input_image = temp[-1] result = client.predict( input_image, api_name="/predict") result = "The image can have any one of the following captions, all captions are correct: " + ", or ".join([f"'{caption.replace('.','')}'" for caption in result]) return result # defining a function to get the most relevant world news for a given query # example query: Joe Biden presidency def get_news(search_query): """ get top three news items for your search query """ newsapi = NewsApiClient(api_key='8c50d2b3d80348a2a78be021b2c49cd1') docs = newsapi.get_everything(q=search_query, language='en', sort_by = 'relevancy', page_size=3, page=1 )['articles'] res = [news['description'] for news in docs] res = [item.replace('
  • ','').replace('
  • ','').replace('
      ','') for item in res] res = "\n".join([f"{i}.{ res[i-1]}" for i in range(1,len(res)+1)]) return "Following list has the top three news items for the given search query : \n" + res # example inputs: prompt = "I am bored what can I do?" # defining a function to get an activity basee on activity type # Activity type - education, recreational, social, DIY, charity, cooking, relaxation, music, and busywork. def bored_api(activity_type) -> str: """ Get a random activity to do based on the activity type. """ activity_type_list = ["education", "recreational", "social", "diy", "charity", "cooking", "relaxation", "music", "busywork"] activity_type = activity_type.lower() if activity_type not in activity_type_list: activity_type = random.choice(activity_type_list) api_url = "https://www.boredapi.com/api/activity/?type=" + activity_type response = requests.get( api_url ) return response.json()['activity']