Spaces:
Sleeping
Sleeping
# import gradio as gr | |
# import requests | |
# import os | |
# def function(Textbox,Textbox2): | |
# target = os.environ.get("target") | |
# target2 = os.environ.get("target2") | |
# model = os.environ.get("model") | |
# hrc = os.environ.get("hrc") | |
# content = os.environ.get("content") | |
# if Textbox2 == target: | |
# payload = { | |
# "model": "gpt-3.5-turbo", | |
# "messages": [{"role": "system", "content": content},{"role": "user", "content": Textbox}], | |
# "temperature" : 1.0, | |
# "top_p":1.0, | |
# "n" : 1, | |
# "stream": False, | |
# "presence_penalty":0, | |
# "frequency_penalty":0, | |
# } | |
# headers = { | |
# "Content-Type": "application/json", | |
# "Authorization": f"Bearer {target2}" | |
# } | |
# response = requests.post(hrc, headers=headers, json=payload, stream=False) | |
# response = response.json() | |
# return response["choices"][0]["message"]["content"] | |
# else: | |
# return "Failed" | |
# inputs = [ | |
# gr.inputs.Textbox(label="Textbox",type="text"), | |
# gr.inputs.Textbox(label="Textbox2",type="password") | |
# ] | |
# iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
# iface.launch() | |
# import gradio as gr | |
# import requests | |
# import openai | |
# import os | |
# def function(Textbox,Textbox3): | |
# target = os.environ.get("target") | |
# target2 = os.environ.get("target2") | |
# openai.api_key = target2 | |
# content = os.environ.get("content") | |
# # model = os.environ.get("model") | |
# # hrc = os.environ.get("hrc") | |
# if Textbox3 == target: | |
# messages = [ | |
# {"role": "system", "content": content}, | |
# ] | |
# messages.append( | |
# {"role": "user", "content": Textbox}, | |
# ) | |
# chat = openai.ChatCompletion.create( | |
# model="gpt-3.5-turbo", messages=messages | |
# ) | |
# reply = chat.choices[0].message.content | |
# messages.append({"role": "assistant", "content": reply}) | |
# return reply | |
# else: | |
# return "Failed" | |
# inputs = [ | |
# gr.inputs.Textbox(label="Textbox",type="text"), | |
# # gr.inputs.Textbox(label="Textbox2",type="text"), | |
# gr.inputs.Textbox(label="Textbox3",type="password") | |
# ] | |
# iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
# iface.launch() | |
from time import sleep | |
from io import BytesIO | |
from PIL import Image | |
import gradio as gr | |
import numpy as np | |
import replicate | |
import traceback | |
import requests | |
import openai | |
import random | |
import base64 | |
import json | |
import os | |
import urllib.request | |
from pydub import AudioSegment | |
def function(Textbox, Textbox2, Textbox3, Dropdown): | |
target = os.environ.get("target") | |
target2 = os.environ.get("target2") | |
target3 = os.environ.get("target3") | |
os.environ["REPLICATE_API_TOKEN"] | |
base = os.environ.get("base") | |
openai.api_base = base | |
openai.api_key = target2 | |
content = os.environ.get("content") | |
model = os.environ.get("model") | |
link1 = os.environ.get("link1") | |
path = os.environ.get("path") | |
link2 = os.environ.get("link2") | |
if "/web" in Textbox.lower() or "web" in Textbox.lower(): | |
try: | |
prompt = Textbox.replace("/web", "") | |
except: | |
prompt = Textbox.replace("web", "") | |
headers = { | |
"authority": link1, | |
"method": "POST", | |
"path": path, | |
"scheme": "https", | |
"accept": "application/json, text/plain, */*", | |
"accept-encoding": "gzip, deflate, br", | |
"accept-language": "en-US,en;q=0.9", | |
"content-length": "88", | |
"content-type": "application/json", | |
"origin": link2, | |
"referer": f"{link2}/", | |
"sec-ch-ua": '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', | |
"sec-ch-ua-mobile": "?0", | |
"sec-ch-ua-platform": '"Windows"', | |
"sec-fetch-dest": "empty", | |
"sec-fetch-mode": "cors", | |
"sec-fetch-site": "same-site", | |
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" | |
} | |
href = os.environ.get("href") | |
response = requests.post(href, json={ | |
"Body": prompt, | |
"From": f"4b7cec35-d15b-422d-838f-b25583bde426{random.randint(1,100)}" | |
}, headers=headers) | |
data = response.json() | |
data = data["message"] | |
trigger = os.environ.get("trigger") | |
if trigger in data: | |
data = data.replace(trigger, "John") | |
return data | |
else: | |
return data | |
else: | |
def download_image(url): | |
try: | |
with urllib.request.urlopen(url) as response: | |
image_data = response.read() | |
image = Image.open(BytesIO(image_data)) | |
image_array = np.array(image) | |
return image_array | |
except urllib.error.URLError as e: | |
print('URL Error:', str(e)) | |
except IOError as e: | |
print('IO Error:', str(e)) | |
if Textbox3 == target: | |
if Dropdown == "Option1": | |
def get_current_time(location): | |
url = "https://api.api-ninjas.com/v1/worldtime?city=" | |
url += location | |
headers = { | |
'X-Api-Key': 'Fl79Q6SqQz8BWQcaYGeQ5A==o5DKruyij5IfnMLM' | |
} | |
response = requests.request("GET", url, headers=headers) | |
data = response.json() | |
if response.status_code == 200: | |
time = data | |
return f"The current time in {location} is {time}." | |
else: | |
return f"Failed to retrieve the current time for {location}." | |
Textbox2 = Textbox2.replace("[", "").replace("]", "").replace("'", "") | |
Textbox2 = Textbox2.split(",") | |
Textbox2_edited = [x.strip() for x in Textbox2] | |
Textbox2_edited = list(Textbox2_edited) | |
Textbox2_edited.append(Textbox) | |
data = { | |
"messages": [ | |
{"role": "system", "content": content} | |
] | |
} | |
for i in Textbox2_edited: | |
data["messages"].append( | |
{"role": "user", "content": i} | |
) | |
try: | |
sleep(0.8) | |
def chat_with_assistant(messages, functions=None): | |
chat = openai.ChatCompletion.create( | |
model=model, | |
messages=data["messages"], | |
functions=functions, | |
function_call="auto" | |
) | |
# reply = chat.choices[0].message | |
# return reply | |
# response = requests.post(base, json={ | |
# "model":model, | |
# "messages":data["messages"], | |
# "functions":functions, | |
# "function_call":"auto" | |
#}) | |
reply = json.loads(response.content) | |
print("Reply:",reply) | |
reply = reply["choices"][0]["message"] | |
return reply | |
functions = [ | |
{ | |
"name": "get_current_time", | |
"description": "Get the current time in a given location", | |
"parameters": { | |
"type": "object", | |
"properties": { | |
"location": { | |
"type": "string", | |
"description": "The city and state, e.g. San Francisco, CA", | |
}, | |
"unit": {"type": "string", "enum": ["time", "date", "both"]}, | |
}, | |
"required": ["location"], | |
}, | |
} | |
] | |
# response = requests.post(target2, json=data) | |
# print("target2",target2) | |
# reply = response.content.decode("utf-8") | |
# reply = reply.replace(" ", "%20") | |
# image_array = download_image(f"https://api.placid.app/u/pydav4ibo?quote[text]={reply}") | |
data["messages"].append({"role": "assistant", "content": Textbox}) | |
assistant_response = chat_with_assistant(data["messages"], functions) | |
print(assistant_response) | |
if assistant_response.get("function_call"): | |
function_name = assistant_response["function_call"]["name"] | |
function_args = json.loads(assistant_response["function_call"]["arguments"]) | |
if function_name == "get_current_time": | |
time = get_current_time(function_args["location"]) | |
result = time | |
else: | |
return assistant_response['content'] | |
data["messages"].append({ | |
"role": "function", | |
"name": function_name, | |
"content": str(result) | |
}) | |
assistant_response = chat_with_assistant(data["messages"], functions) | |
return assistant_response['content'] | |
data["messages"].append(assistant_response) | |
except Exception as e: | |
print(traceback.format_exc()) | |
return "Please Wait!" | |
elif Dropdown == "Option2": | |
print("Actual value:",Textbox2) | |
Textbox2 = Textbox2.replace("[", "").replace("]", "").replace("'", "") | |
Textbox2 = Textbox2.split(",") | |
Textbox2_edited = [x.strip() for x in Textbox2] | |
Textbox2_edited = list(Textbox2_edited) | |
Textbox2_edited.append(Textbox) | |
print("Edited value:",Textbox2_edited) | |
data = { | |
"messages": [ | |
{"role": "system", "content": content} | |
] | |
} | |
for i in Textbox2_edited: | |
data["messages"].append( | |
{"role": "user", "content": i} | |
) | |
print(data["messages"]) | |
try: | |
sleep(0.8) | |
chat = openai.ChatCompletion.create( | |
model=model, messages=data["messages"] | |
) | |
reply = chat.choices[0].message.content | |
# response = requests.post(target2, json=data) | |
# reply = response.content.decode("utf-8") | |
# reply = reply.replace(" ", "%20") | |
# image_array = download_image(f"https://api.placid.app/u/pydav4ibo?quote[text]={reply}") | |
data["messages"].append({"role": "assistant", "content": reply}) | |
headers = {"Content-Type": "application/json"} | |
voice = { | |
"text": reply, | |
"key": "3637c6b5-09c9-4d49-b8fe-a9ffecc36f86", | |
"voice_id": "male" | |
} | |
response = requests.post(target3, headers=headers, json=voice) | |
output = response.json() | |
print(output) | |
output_url = output["output"]["audio"] | |
def download_audio(output_url, output_file): | |
urllib.request.urlretrieve(output_url, output_file) | |
# output_file = "audio.wav" | |
output_file = "audio.mp3" | |
download_audio(output_url, output_file) | |
# convert_wav_to_mp3(output_file, "audio.mp3") | |
return "https://tommy24-flasktestgradio.hf.space/file=audio.mp3" | |
except Exception as e: | |
print(traceback.format_exc()) | |
return "Please Wait!" | |
else: | |
return "Failed" | |
inputs = [ | |
gr.inputs.Textbox(label="Textbox", type="text"), | |
gr.inputs.Textbox(label="Textbox2", type="text"), | |
gr.inputs.Textbox(label="Textbox3", type="password"), | |
gr.inputs.Dropdown(["Option1", "Option2"], label="Dropdown") | |
] | |
# outputs = gr.outputs.Image(type="numpy") | |
# outputs = gr.outputs.Audio(type="filepath") | |
iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
iface.launch() | |
# from time import sleep | |
# import gradio as gr | |
# import traceback | |
# import requests | |
# import openai | |
# import random | |
# import base64 | |
# import os | |
# def function(Textbox,Textbox2, Textbox3): | |
# target = os.environ.get("target") | |
# target2 = os.environ.get("target2") | |
# content = os.environ.get("content") | |
# content2 = os.environ.get("content2") | |
# auth_key = os.environ.get("auth_key") | |
# link1 = os.environ.get("link1") | |
# path = os.environ.get("path") | |
# link2 = os.environ.get("link2") | |
# if "/web" in Textbox.lower() or "web" in Textbox.lower(): | |
# try: | |
# prompt = Textbox.replace("/web","") | |
# except: | |
# prompt = Textbox.replace("web","") | |
# headers = { | |
# "authority": link1, | |
# "method": "POST", | |
# "path": path, | |
# "scheme": "https", | |
# "accept": "application/json, text/plain, */*", | |
# "accept-encoding": "gzip, deflate, br", | |
# "accept-language": "en-US,en;q=0.9", | |
# "content-length": "88", | |
# "content-type": "application/json", | |
# "origin": link2, | |
# "referer": f"{link2}/", | |
# "sec-ch-ua": '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', | |
# "sec-ch-ua-mobile": "?0", | |
# "sec-ch-ua-platform": '"Windows"', | |
# "sec-fetch-dest": "empty", | |
# "sec-fetch-mode": "cors", | |
# "sec-fetch-site": "same-site", | |
# "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" | |
# } | |
# href = os.environ.get("href") | |
# response = requests.post(href,json={ | |
# "Body":prompt, | |
# "From":f"4b7cec35-d15b-422d-838f-b25583bde426{random.randint(1,100)}" | |
# },headers=headers) | |
# data = response.json() | |
# data = data["message"] | |
# trigger = os.environ.get("trigger") | |
# if trigger in data: | |
# data = data.replace(trigger,"John") | |
# return data | |
# else: | |
# return data | |
# else: | |
# # model = os.environ.get("model") | |
# # hrc = os.environ.get("hrc") | |
# if Textbox3 == target: | |
# Textbox2 = Textbox2.replace("[", "").replace("]", "").replace("'", "") | |
# Textbox2 = Textbox2.split(",") | |
# Textbox2_edited = [x.strip() for x in Textbox2] | |
# Textbox2_edited = list(Textbox2_edited) | |
# Textbox2_edited.append(Textbox) | |
# messages = [ | |
# {"role": "system", "content": content2}, | |
# ] | |
# for i in Textbox2_edited: | |
# messages.append( | |
# {"role": "user", "content": i} | |
# ) | |
# try: | |
# # sleep(0.8) | |
# # headers = { | |
# # "Authorization": f"Bearer {auth_key}" | |
# # } | |
# response = requests.post(target2, json={ | |
# "messages": messages | |
# }).json() | |
# # reply = response['choices'][0]['message']['content'] | |
# reply = response["content"] | |
# messages.append({"role": "assistant", "content": reply}) | |
# return reply | |
# except Exception as e: | |
# print(traceback.format_exc()) | |
# return "Please Wait!" | |
# else: | |
# return "Failed" | |
# inputs = [ | |
# gr.inputs.Textbox(label="Textbox",type="text"), | |
# gr.inputs.Textbox(label="Textbox2",type="text"), | |
# gr.inputs.Textbox(label="Textbox3",type="password") | |
# ] | |
# iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
# iface.launch() | |
# from time import sleep | |
# import gradio as gr | |
# import traceback | |
# import requests | |
# import openai | |
# import random | |
# import base64 | |
# import json | |
# import os | |
# def function(Textbox,Textbox2, Textbox3, Textbox4): | |
# target = os.environ.get("target") | |
# target2 = os.environ.get("target2") | |
# content = os.environ.get("content") | |
# content2 = os.environ.get("content2") | |
# auth_key = os.environ.get("auth_key") | |
# link1 = os.environ.get("link1") | |
# path = os.environ.get("path") | |
# link2 = os.environ.get("link2") | |
# if "/web" in Textbox.lower() or "web" in Textbox.lower(): | |
# try: | |
# prompt = Textbox.replace("/web","") | |
# except: | |
# prompt = Textbox.replace("web","") | |
# headers = { | |
# "authority": link1, | |
# "method": "POST", | |
# "path": path, | |
# "scheme": "https", | |
# "accept": "application/json, text/plain, */*", | |
# "accept-encoding": "gzip, deflate, br", | |
# "accept-language": "en-US,en;q=0.9", | |
# "content-length": "88", | |
# "content-type": "application/json", | |
# "origin": link2, | |
# "referer": f"{link2}/", | |
# "sec-ch-ua": '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', | |
# "sec-ch-ua-mobile": "?0", | |
# "sec-ch-ua-platform": '"Windows"', | |
# "sec-fetch-dest": "empty", | |
# "sec-fetch-mode": "cors", | |
# "sec-fetch-site": "same-site", | |
# "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" | |
# } | |
# href = os.environ.get("href") | |
# response = requests.post(href,json={ | |
# "Body":prompt, | |
# "From":f"4b7cec35-d15b-422d-838f-b25583bde426{random.randint(1,100)}" | |
# },headers=headers) | |
# data = response.json() | |
# data = data["message"] | |
# trigger = os.environ.get("trigger") | |
# if trigger in data: | |
# data = data.replace(trigger,"John") | |
# return data | |
# else: | |
# return data | |
# else: | |
# # model = os.environ.get("model") | |
# # hrc = os.environ.get("hrc") | |
# if Textbox3 == target: | |
# try: | |
# # sleep(0.8) | |
# # headers = { | |
# # "Authorization": f"Bearer {auth_key}" | |
# # } | |
# response = requests.post(target2, headers={ | |
# "Content-Type": "application/json" | |
# }, data=json.dumps({ | |
# "text": Textbox, | |
# "key": auth_key, | |
# "playerId": Textbox4, | |
# "speak": False | |
# })) | |
# # reply = response['choices'][0]['message']['content'] | |
# response = response.json() | |
# reply = response["output"]["text"] | |
# return reply | |
# except Exception as e: | |
# print(traceback.format_exc()) | |
# return "Please Wait!" | |
# else: | |
# return "Failed" | |
# inputs = [ | |
# gr.inputs.Textbox(label="Textbox",type="text"), | |
# gr.inputs.Textbox(label="Textbox2",type="text"), | |
# gr.inputs.Textbox(label="Textbox3",type="password"), | |
# gr.inputs.Textbox(label="Textbox4",type="text") | |
# ] | |
# iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
# iface.launch() | |
# from time import sleep | |
# import gradio as gr | |
# import traceback | |
# import requests | |
# import openai | |
# import random | |
# import base64 | |
# import os | |
# def function(Textbox,Textbox2, Textbox3): | |
# target = os.environ.get("target") | |
# target2 = os.environ.get("target2") | |
# openai.api_key = target2 | |
# content = os.environ.get("content") | |
# content2 = os.environ.get("content2") | |
# link1 = os.environ.get("link1") | |
# path = os.environ.get("path") | |
# link2 = os.environ.get("link2") | |
# if "/web" in Textbox.lower() or "web" in Textbox.lower(): | |
# try: | |
# prompt = Textbox.replace("/web","") | |
# except: | |
# prompt = Textbox.replace("web","") | |
# headers = { | |
# "authority": link1, | |
# "method": "POST", | |
# "path": path, | |
# "scheme": "https", | |
# "accept": "application/json, text/plain, */*", | |
# "accept-encoding": "gzip, deflate, br", | |
# "accept-language": "en-US,en;q=0.9", | |
# "content-length": "88", | |
# "content-type": "application/json", | |
# "origin": link2, | |
# "referer": f"{link2}/", | |
# "sec-ch-ua": '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', | |
# "sec-ch-ua-mobile": "?0", | |
# "sec-ch-ua-platform": '"Windows"', | |
# "sec-fetch-dest": "empty", | |
# "sec-fetch-mode": "cors", | |
# "sec-fetch-site": "same-site", | |
# "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" | |
# } | |
# href = os.environ.get("href") | |
# response = requests.post(href,json={ | |
# "Body":prompt, | |
# "From":f"4b7cec35-d15b-422d-838f-b25583bde426{random.randint(1,100)}" | |
# },headers=headers) | |
# data = response.json() | |
# data = data["message"] | |
# trigger = os.environ.get("trigger") | |
# if trigger in data: | |
# data = data.replace(trigger,"John") | |
# return data | |
# else: | |
# return data | |
# else: | |
# # model = os.environ.get("model") | |
# # hrc = os.environ.get("hrc") | |
# if Textbox3 == target: | |
# Textbox2 = Textbox2.replace("[", "").replace("]", "").replace("'", "") | |
# Textbox2 = Textbox2.split(",") | |
# Textbox2_edited = [x.strip() for x in Textbox2] | |
# Textbox2_edited = list(Textbox2_edited) | |
# Textbox2_edited.append(Textbox) | |
# messages = [ | |
# {"role": "system", "content": content2}, | |
# ] | |
# for i in Textbox2_edited: | |
# messages.append( | |
# {"role": "user", "content": i} | |
# ) | |
# try: | |
# # sleep(1.8) | |
# response = requests.post(target2, json={ | |
# "messages":messages, | |
# "model":"gpt-3.5-turbo-003", | |
# "max_tokens":"null", | |
# "temperature":1, | |
# "presence_penalty":0, | |
# "top_p":1, | |
# "frequency_penalty":0, | |
# "stream":False | |
# }).json() | |
# reply = response['choices'][0]['message']['content'] | |
# messages.append({"role": "assistant", "content": reply}) | |
# return reply | |
# except Exception as e: | |
# print(traceback.format_exc()) | |
# return "Please Wait!" | |
# else: | |
# return "Failed" | |
# inputs = [ | |
# gr.inputs.Textbox(label="Textbox",type="text"), | |
# gr.inputs.Textbox(label="Textbox2",type="text"), | |
# gr.inputs.Textbox(label="Textbox3",type="password") | |
# ] | |
# iface = gr.Interface(fn=function, inputs=inputs, outputs="text") | |
# iface.launch() | |