mgokg's picture
Update app.py
544fb6a verified
import base64
import os
from google import genai
from google.genai import types
import gradio as gr
from IPython.display import display
from IPython.display import Markdown
client = genai.Client(
api_key=os.environ.get("GEMINI_API_KEY"),
)
def generate(prompt, *args):
model = "gemini-2.0-flash"
contents = [
types.Content(
role="user",
parts=[
types.Part.from_text(text=f"{prompt}"),
],
),
]
tools = [
types.Tool(google_search=types.GoogleSearch())
]
generate_content_config = types.GenerateContentConfig(
temperature=0.35,
top_p=0.95,
top_k=40,
max_output_tokens=8192,
tools=tools,
response_mime_type="text/plain",
)
response = ""
for chunk in client.models.generate_content_stream(
model=model,
contents=contents,
config=generate_content_config,
):
response += chunk.text
display(Markdown(response))
return response
if __name__ == "__main__":
iface = gr.ChatInterface(
fn=generate,
title=gr.Markdown("# Chatbot with Google Search"),
description="A chatbot powered by Gemini 2.0 Flash and Google Search.",
)
iface.launch()