import gradio as gr import wikipedia import requests from bs4 import BeautifulSoup import pyjokes def essay_query(payload): API_URL = "https://api-inference.huggingface.co/models/facebook/bart-large-cnn" data = json.dumps(payload) response = requests.request("POST", API_URL, headers=headers, data=data) return json.loads(response.content.decode("utf-8")) def essay(name): result_count = 2 f_result = "" result = {"",""} text ="" url = "https://www.google.com/search?q="+name r = requests.get(url) soup = BeautifulSoup(r.text,"html.parser") heading_object=soup.find_all('div') for info in heading_object: if '
' in str(info): if '›' not in str(info.text) : result.add(info.text) n=0 for i in result: if n!=0: i = i.split("·",1) try: i = i[1] except: i = i[0] i=i.split("Duration") i = i[0] text = text +str(n)+"\t"+i+"\n\n" n=n+1 if result_count == 1: temp = "" else: for r in text.split("\n\n")[0:-1]: if "..." in r: r = r.split("...") w = essay_query(r[0].replace("\xa0","")) f_result = f_result + (w[0]['summary_text']) else: #print(r[:-1]) w = essay_query(r[:-1]) f_result = f_result +(w[0]['summary_text']) return f_result def code(name): name = name.split('learn')[-1] name = name.split('start')[-1] name = name.split()[0] url = "https://www.w3schools.com/"+name+"/"+name+"_syntax.asp" r = requests.get(url) soup = BeautifulSoup(r.text,"html.parser") heading_object=soup.find_all('div') result = "" for info in heading_object: info1 = str(info) if '' not in info1 and '
' in info1: #print(n) text = str(info.text).split('Next ❯')[1].split("❮ Previous")[0].split("\n\n\n") #print(text) for r in text: if "Test Yourself With Exercises" in r or "Submit Answer »" in r or "On this page" in r: continue else: result = result + r+"\n\n" return result def joke(): # importing installed library My_joke = pyjokes.get_joke(language="en", category="neutral") return My_joke def wiki(name): text = name text = text.split("the")[-1] text = text.split("is a")[-1] text = text.split("by")[-1] #print(wikipedia.search(text, results=20)) #print(text) out = "try this key words :\n"+str(wikipedia.search(text, results=10))+"\n\n" for i in wikipedia.search(text, results=3): try: result = wikipedia.summary(i) if " " in result.lower(): #print(result) #print() out = out + result+"\n" except: continue return out import openai openai.api_key = "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" def aitext(word): response = openai.Completion.create( model="text-davinci-003", prompt=word, temperature=0.9, max_tokens=200, top_p=1, frequency_penalty=0, presence_penalty=0.6, stop=[" Human:", " AI:"] ) return response.choices[0].text import json headers = {"Authorization": f"Bearer {'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'}"} def sumy(payload): API_URL = "https://api-inference.huggingface.co/models/facebook/bart-large-cnn" data = json.dumps(payload) response = requests.request("POST", API_URL, headers=headers, data=data) return json.loads(response.content.decode("utf-8")) def query(payload): API_URL = "https://api-inference.huggingface.co/models/facebook/bart-large-cnn" data = json.dumps(payload) response = requests.request("POST", API_URL, headers=headers, data=data) return json.loads(response.content.decode("utf-8")) def google(name): if "give" in name or "reason" in name or "result" in name or "step" in name: result_count = 2 print(name) else: result_count = 1 f_result = "" result = {"",""} text ="" url = "https://www.google.com/search?q="+name r = requests.get(url) soup = BeautifulSoup(r.text,"html.parser") heading_object=soup.find_all('div') for info in heading_object: if '
' in str(info): if '›' not in str(info.text) : result.add(info.text) n=0 for i in result: if n!=0: i = i.split("·",1) try: i = i[1] except: i = i[0] i=i.split("Duration") i = i[0] text = text +str(n)+"\t"+i+"\n\n" n=n+1 if result_count == 1: temp = "" for r in text.split("\n\n"): temp = temp+r.split("...")[0] f_result = sumy({"inputs":temp,"parameters": {"do_sample": False,"max_length":300}}) return f_result[0]['summary_text'] else: n=1 for r in text.split("\n\n")[2:-2]: if len(r)>10: if "..." in r: r = r.split("...") w = query(r[0].replace("\xa0","")) f_result = f_result + str(n)+"\t"+(w[0]['summary_text'])+"\n\n"+r"\\" else: #print(r[:-1]) w = query(r[:-1]) f_result = f_result + str(n)+"\t"+(w[0]['summary_text'])+"\n\n"+r"\\" n=n+1 return f_result from PyDictionary import PyDictionary def greet(name1): name = name1.lower() #dictionary=PyDictionary() #dic = dictionary.meaning(name) #try: #return "Noun :"+ str(dic['Noun']) + "\nVerb :"+ str(dic['Verb']) #except : #return dic if "who are you" in name or "what is you" in name or "your name" in name or"who r u" in name: return "Im Ai Based Chatbot Created by ssebowa.org" if "who developed you" in name or "what is you" in name or "who mad you" in name or "who made you" in name: return "ssebowa.org" if "tell me a joke" in name or "the joke" in name: return joke() if "love you" in name or "i love" in name: return "me too" if "marry me" in name or "marry" in name: return "im not intrested" if "your age" in name or "what is your age" in name: return "Im not a human so i don't have age" if "thank u" in name or "thanks" in name or "thank you" in name: return "ok welcome ....!" if "write the essay" in name or "write essay" in name: name = name.split("about")[-1] return essay(name) if "how to learn" in name or "steps for learning" in name or "step for learning" in name or "steps for" in name or "step for" in name: try: cresult = code(name) return google(name)+"\n\n"+cresult except: return google(name) else: return google(name)+"" iface = gr.Interface(fn=greet, inputs="text", outputs="text") iface.launch()