alanchen1115's picture
Update app.py
bffdc57 verified
import os
import gradio as gr
from google import genai
# 設定 Google AI API 金鑰
client = genai.Client(api_key=os.getenv("GOOGLE_API_KEY"))
# 定義一個函數,用來載入 Gemini 模型並取得回應
def get_gemini_response(input, image):
# 如果使用者輸入了文字,則使用文字和圖片一起生成回應
if input != "":
response = client.models.generate_content(
model="gemini-2.0-flash",
contents=[image, input]
)
# 否則只使用圖片生成回應
else:
response = client.models.generate_content(
model="gemini-2.0-flash",
contents=[image, '說說這是什麼!']
)
# 返回回應文字
return response.text
# 使用 Gradio 建立一個介面
iface = gr.Interface(
# 指定函數 `get_gemini_response` 作為介面的主函數
fn=get_gemini_response,
# 定義兩個輸入框:
# - `gr.Textbox`:輸入文字
# - `gr.Image`:上傳圖片
inputs=[
gr.Textbox(label="Enter your question here:"),
gr.Image(label="Choose an image...", type="pil"),
],
# 定義輸出框:
# - `gr.Textbox`:顯示模型生成的回應文字
outputs=gr.Textbox(label="The response is"),
# 設定介面的標題和說明文字
title="Gemini Multimodal Bot",
description="Ask Gemini questions about images! 上傳圖片並提出問題!",
)
# 啟動 Gradio 介面,並將分享設定為 `True`,方便分享連結
iface.launch()