import gradio as gr import requests from bs4 import BeautifulSoup from urllib.parse import urljoin def parse_links(prompt): try: url = "http://specialist-it.de:3001/api/search" payload = { "chatModel": { "provider": "groq", "model": "mixtral-8x7b-32768" }, "embeddingModel": { "provider": "local", "model": "xenova-bge-small-en-v1.5" }, "optimizationMode": "balanced", "focusMode": "webSearch", "query": f"{prompt}. output format=json", "history": [ ["human", "Hi, how are you?"], ["assistant", "I am doing well, how can I help you today?"] ] } headers = { "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) return response.json() # Rückgabe als Dictionary, um es mit gr.JSON kompatibel zu machen #return {"body_text": body_text} except requests.RequestException as e: return {"error": str(e)} except Exception as e: return {"error": str(e)} # Erstelle die Gradio-Schnittstelle with gr.Blocks() as demo: gr.Markdown("# Perplexica WebSearch") ort_input = gr.Textbox(label="Prompt", placeholder="prompt") links_output = gr.JSON(label="Antwort") # Button zum Starten der Parsung button = gr.Button("senden") # Verbinde den Button mit der Funktion button.click(fn=parse_links, inputs=ort_input, outputs=links_output) demo.launch()