|
import gradio as gr |
|
import gemini_gradio |
|
import google.generativeai as genai |
|
import os |
|
from dotenv import load_dotenv |
|
|
|
|
|
load_dotenv() |
|
|
|
|
|
print("google-generativeai:", genai.__version__) |
|
|
|
|
|
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") |
|
|
|
|
|
if not GOOGLE_API_KEY: |
|
raise ValueError("GOOGLE_API_KEY is not set in environment variables.") |
|
|
|
|
|
generation_config = { |
|
"temperature": 1, |
|
"top_p": 0.95, |
|
"top_k": 40, |
|
"max_output_tokens": 8192, |
|
"response_mime_type": "text/plain", |
|
} |
|
|
|
|
|
def configure_model(): |
|
genai.configure(api_key=GOOGLE_API_KEY) |
|
model = genai.GenerativeModel( |
|
model_name="gemini-1.5-flash", |
|
generation_config=generation_config |
|
) |
|
return model |
|
|
|
|
|
def generate_response(input_text): |
|
model = configure_model() |
|
response = model.generate(input_text) |
|
return response.text |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("**Gemini Model with Custom Parameters**") |
|
|
|
input_text = gr.Textbox(label="Enter Text", placeholder="Type here...") |
|
output_text = gr.Textbox(label="Generated Response") |
|
|
|
input_text.submit(generate_response, inputs=input_text, outputs=output_text) |
|
|
|
demo.launch() |
|
|