![見出し画像](https://assets.st-note.com/production/uploads/images/124791351/rectangle_large_type_2_3ce063d87b64e687a377afdbbb0e5142.jpeg?width=800)
Google Gemini Pro VisionのAPIをStreamlitでウェブアプリ構築方法
Google Gemini Pro Visionという画像に対して操作が可能なAPIがあります。
今回、Google Gemini Pro VisionのAPIを利用して、Streamlitでウェブアプリを構築方法を紹介していきます。
![](https://assets.st-note.com/img/1702783191766-ILB42aKSie.png?width=800)
まずは、app.pyとして以下を用意します。
import streamlit as st
import google.generativeai as genai
from PIL import Image as PIL_Image
from io import BytesIO
# APIキーの設定
api_key = st.sidebar.text_input("API Key", type="password")
genai.configure(api_key=api_key)
# モデル読み込み
multimodal_model = genai.GenerativeModel("gemini-pro-vision")
# Streamlitの画面設定
st.title("😱画像解析アプリ(Gemini Pro Vision)")
st.write("画像をアップロードして、その内容についての説明を得るアプリです。")
# ファイルアップロード
uploaded_file = st.file_uploader("画像をアップロードしてください", type=["png", "jpg", "jpeg"])
if uploaded_file is not None:
# 画像の表示
image = PIL_Image.open(uploaded_file)
st.image(image, caption="アップロードされた画像", use_column_width=True)
# プロンプト入力
prompt = st.text_input("画像についてのプロンプトを入力してください", "この画像について説明しなさい?")
# コンテンツの準備
contents = [image, prompt]
# レスポンスの生成
if st.button("解析開始"):
with st.spinner("解析中..."):
responses = multimodal_model.generate_content(contents, stream=True)
# レスポンスの表示
for response in responses:
st.write(response.text)
次に、Pythonがインストールされている環境で以下を実行しますと完成となります。
python -m venv venv
venv\Scripts\Activate
pip install google-generativeai streamlit
streamlit run app.py
![](https://assets.st-note.com/img/1702781591920-3IGewFh73N.png?width=800)
使い方は、左側にAPI Keyと書かれているところに、Google GeminiのAPIキーを入力します。
次に、右側で"Browsefiles"をクリックして、読み込ませたい画像をアップロードします。
次に、画像が表示されますので、この画像に対してAIに問いたいことをPromptに書いて、解析開始ボタンを押します。
![](https://assets.st-note.com/img/1702781762919-zf18mRoN3N.png?width=800)
この画像について、色々と聞いてみます。
![](https://assets.st-note.com/img/1702781837396-Pd4IXNwcnx.png)
![](https://assets.st-note.com/img/1702781885380-086ChHgDSs.png)
![](https://assets.st-note.com/img/1702781941753-jESDKpWkCQ.png)
この記事が気に入ったらサポートをしてみませんか?