File size: 2,121 Bytes
a936419
 
 
8ca50ab
a936419
201f13e
bfda8a9
9b68f37
f824e57
a07a31e
 
 
 
 
24ad0b1
a07a31e
 
24ad0b1
 
a07a31e
 
 
afec134
a07a31e
 
 
 
 
 
 
 
 
 
 
 
 
6c1c62c
0fabb59
6c1c62c
0fabb59
 
cc3cf8c
f824e57
5758366
2c9db66
f824e57
 
 
 
a936419
 
 
aee6311
afec134
cc3cf8c
a936419
aee6311
a936419
5e3a028
a936419
33dc2c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import gradio as gr
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

def parse_links(prompt):
#anfrage ='fill in the missing contact information. do not reference the json object. do not use html tags inside the json object. it must be valid json. do not return explanaitons or any other text. thanks for your efforts:)'

    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}. outputformat=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())
        # Parse the JSON response
        #data = response.json()
        # Extract the message
        #ergebnis = data.get('message')
        #return ergebnis
        return response.json().get('message')
        # 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", value="contact details Aero Club Bamberg e.v.")
    links_output = gr.Textbox(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()