mgokg's picture
Update app.py
c5414cf verified
raw
history blame
2.7 kB
import gradio as gr
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.by import By
from gradio_client import Client
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import groq
import os
import time
options = webdriver.ChromeOptions()
options.add_argument('--headless')
wd = webdriver.Chrome(options=options)
#get your api-key @groq.com. its free!
api_key = os.getenv('groq')
client = groq.Client(api_key=api_key)
# Use Llama 3 70B powered by Groq for answering
def update(prompt, ort):
try:
completion = client.chat.completions.create(
model="llama3-70b-8192",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": f"gefragt sind die nächsten 3 zugverbindungen von bad kissingen nach {ort} du findest die antwort im kontext. liefere als antwort ein 2 spaltige tabelle. linke spalte: abfahrtszeit, fahrtdauer, ankunftszeit.rechte spalte: abfahrtsort,leer,zielort. formatiere die tabelle in markdown\n kontext: \n {prompt} \n antworte immer auf deutsch!"}
],
)
return completion.choices[0].message.content
except Exception as e:
return f"Error in response generation: {str(e)}"
def selenium(message):
url = "https://chatgpt.com/"
#url = 'https://www.spiegel.de'
#<ol class="AmbQnf">
wd.get(url)
wd.implicitly_wait(3)
textarea = wd.find_element(By.XPATH, "/html/body/div[1]/div[2]/main/div[1]/div[1]/div/div[2]/div/div/div/div[4]/form/div/div/div/div/div[1]/div[1]/div/textarea")
time.sleep(3)
textarea.send_keys(f"{message}")
time.sleep(3)
textarea.send_keys(Keys.RETURN)
time.sleep(3)
antwort = element = wd.find_element(By.TAG_NAME, "p")
time.sleep(3)
return element.text
texts=""
url = f"https://www.google.com/search?q=zugverbindung+bad+kissingen+{message}"
#url = 'https://www.spiegel.de'
#<ol class="AmbQnf">
wd.get(url)
wd.implicitly_wait(3)
element = wd.find_element(By.TAG_NAME, "body")
#wd.quit()
time.sleep(3)
#return element.text
results = update(element.text, message)
results=gr.Markdown()
return results
# Füge Text in die Textarea ein
textarea.send_keys("Hier ist der Text, den du einfügen möchtest.")
iface = gr.Interface(
fn=selenium,
inputs="text",
outputs="text",
#title="perplexity.ai",
#description="Websuche"
)
iface.launch()