Spaces:
Running
Running
File size: 4,035 Bytes
a936419 40ce5ac 085ef0b 40ce5ac 1605c68 eb28548 3b9d20d abae114 085ef0b 40ce5ac 0963c3d cd1062c 085ef0b cb7bc65 6ad3993 cb7bc65 097823d cb7bc65 40ce5ac cb7bc65 ee3485c 3b9d20d abae114 cd1062c 4c8ca04 3b77f4e 06a04a6 be5340a ddaa39f 6c48f7f be5340a 0a61873 cb954b3 d1e8811 f227cbb 883fe4b 72701df 883fe4b 72701df d1e8811 45616e1 f681054 bc9f82a 0a61873 ee3485c 51f5b3e ee3485c 6578e3e eb28548 c230eb4 0a61873 085ef0b 79b0e5e 85deaff 47bff37 5399f24 75cc043 573de21 40ce5ac 085ef0b 3b9d20d e5d9b98 085ef0b 45616e1 |
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
import gradio as gr
import requests
import os
import json
import google.generativeai as genai
from bs4 import BeautifulSoup
from google.ai.generativelanguage_v1beta.types import content
#from groq import Groq
# Load environment variables
genai.configure(api_key=os.environ["geminiapikey"])
read_key = os.environ.get('HF_TOKEN', None)
cx="77f1602c0ff764edb"
custom_css = """
#md {
height: 400px;
font-size: 30px;
background: #121212;
padding: 20px;
color: white;
border: 1 px solid white;
}
"""
generation_config = {
"temperature": 0.3,
"top_p": 0.95,
"top_k": 64,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
def ground_search(prompt):
model = genai.GenerativeModel(
model_name="gemini-2.0-pro-exp-02-05",
generation_config=generation_config,
tools = [
genai.protos.Tool(
google_search = genai.protos.Tool.GoogleSearch(),
),
],
)
chat_session = model.start_chat(
history=[
{
"role": "user",
"parts": [
"",
],
},
{
"role": "model",
"parts": [
"",
],
},
]
)
response = chat_session.send_message(f"{prompt}")
#print(response.text)
return response.text
#api_key = os.getenv('groq')
google_api_key = os.getenv('google_search')
API_URL = "https://blavken-flowiseblav.hf.space/api/v1/prediction/fbc118dc-ec00-4b59-acff-600648958be3"
def query(payload):
response = requests.post(API_URL, json=payload)
return response.json()
def querys(payloads):
output = query({
"question": f"{payloads}",
})
print(output)
#return result_text
# Formuliere die Antwort
search_query = f"{payloads} antworte kurz und knapp. antworte auf deutsch. du findest die antwort hier:\n {output}"
result = predict(search_query)
texte=""
for o in output:
texte +=o
return result
#very simple (and extremly fast) websearch
def websearch(prompt):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url = f"https://www.googleapis.com/customsearch/v1?key={google_api_key}&cx={cx}&q={prompt}"
response = requests.get(url, headers=headers)
data = response.json() # JSON-Daten direkt verarbeiten
# Extrahieren des Textes aus den Ergebnissen
items = data.get('items', [])
results = [item['snippet'] for item in items]
result_text = '\n'.join(results)
# Formuliere die Antwort
search_query = f"{prompt} antworte kurz und knapp. antworte auf deutsch. du findest die antwort hier: {result_text}"
result = predict(search_query)
return result
return result_text
return results
def predict(prompt):
generation_config = {
"temperature": 0.4,
"top_p": 0.95,
"top_k": 40,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-2.0-flash-exp",
generation_config=generation_config,
)
chat_session = model.start_chat(
history=[]
)
response = chat_session.send_message(f"{prompt}\n antworte immer auf deutsch")
response_value = response.candidates[0].content.parts[0].text
return response_value
# Create the Gradio interface
with gr.Blocks(css=custom_css) as demo:
with gr.Row():
details_output = gr.Markdown(label="answer", elem_id="md")
#details_output = gr.Textbox(label="Ausgabe", value = f"\n\n\n\n")
with gr.Row():
ort_input = gr.Textbox(label="prompt", placeholder="ask anything...")
#audio_input=gr.Microphone(type="filepath")
with gr.Row():
button = gr.Button("Senden")
# Connect the button to the function
button.click(fn=ground_search, inputs=ort_input, outputs=details_output)
# Launch the Gradio application
demo.launch() |