Spaces:
Running
Running
File size: 2,176 Bytes
a936419 085ef0b 1605c68 9371b38 d0645f3 1d18bae 9371b38 a936419 085ef0b 9371b38 0963c3d 085ef0b cb7bc65 6ad3993 cb7bc65 ee8bb54 cb7bc65 9371b38 cb7bc65 79b0e5e 1d18bae 79b0e5e 9371b38 79b0e5e c3b4363 79b0e5e 5b85257 79b0e5e 9371b38 d0645f3 9371b38 d0645f3 9371b38 d0645f3 9371b38 d0645f3 9371b38 e6bff66 085ef0b 79b0e5e 85deaff 9371b38 5399f24 9371b38 085ef0b 9371b38 e5d9b98 085ef0b |
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 |
import gradio as gr
import os
import google.generativeai as genai
import logging
import time
import backoff
# Configure Logging
logging.basicConfig(level=logging.ERROR, format='%(asctime)s - %(levelname)s - %(message)s')
# Load environment variables
try:
genai.configure(api_key=os.environ["geminiapikey"])
except KeyError:
logging.error("Error: 'geminiapikey' environment variable not found.")
exit(1)
read_key = os.environ.get('HF_TOKEN', None)
custom_css = """
#md {
height: 400px;
font-size: 30px;
background: #202020;
padding: 20px;
color: white;
border: 1px solid white;
}
"""
@backoff.on_exception(backoff.expo,
(genai.APIError),
max_tries=3) # retry up to 3 times
def predict(prompt):
# Create the model
generation_config = {
"temperature": 0.7,
"top_p": 0.95,
"top_k": 40,
"max_output_tokens": 2048,
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-1.5-pro",
generation_config=generation_config,
)
try:
contents_to_send = [genai.Content(parts=[prompt])]
response = model.generate_content(contents=contents_to_send, tools='google_search_retrieval')
if response and response.text:
return response.text
else:
logging.error(f"Unexpected response: {response}")
return "Error: Could not extract text from the response."
except genai.APIError as e:
logging.error(f"API error occurred: {e}")
raise
except Exception as e:
logging.error(f"An error occurred: {e}")
return f"An error occurred: {e}"
# Create the Gradio interface
with gr.Blocks(css=custom_css) as demo:
with gr.Row():
details_output = gr.Markdown(label="answer", elem_id="md")
with gr.Row():
ort_input = gr.Textbox(label="prompt", placeholder="ask anything...")
with gr.Row():
button = gr.Button("Senden")
# Connect the button to the function
button.click(fn=predict, inputs=ort_input, outputs=details_output)
# Launch the Gradio application
demo.launch() |