Chat / app.py
CosmoAI's picture
Update app.py
514496e
raw
history blame
2 kB
import gradio as gr
import requests
import time
import os
import json
from bardapi import Bard
bardKey = os.environ.get('_BARD_API_KEY')
def bardChat(data):
# Create a session object using the requests library
session = requests.Session()
# Set the headers for the session
session.headers = {
"Host": "bard.google.com",
"X-Same-Domain": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
"Origin": "https://bard.google.com",
"Referer": "https://bard.google.com/",
}
# Set the "__Secure-1PSID" cookie with the Bard API key
session.cookies.set("__Secure-1PSID", bardKey)
# Create a Bard object with the session and a timeout of 30 seconds
bard = Bard(session=session, timeout=30)
answer = bard.get_answer(data)['content']
respo = {
"message": answer,
"action": "nothing",
"function": "nothing"
}
# print(answer)
return json.dumps(respo)
def responsenew(data):
print(data)
return bardChat(data)
gradio_interface = gr.Interface(
fn = responsenew,
inputs = "text",
outputs = "text"
)
gradio_interface.launch()
# remind_val = ["create a reminder", "create reminder", "remind me"]
# if remind_val in data:
# return "Reminder created!"
# else:
# return bardChat(data)
# with gr.Blocks() as demo:
# chatbot = gr.Chatbot()
# msg = gr.Textbox()
# clear = gr.ClearButton([msg, chatbot])
# def respond(message, chat_history):
# bot_message = responsenew(message)
# chat_history.append((message, bot_message))
# time.sleep(2)
# return "", chat_history
# msg.submit(respond, [msg, chatbot], [msg, chatbot])
# if __name__ == "__main__":
# demo.launch()