ステップ1: PDFアップロードページを作ろう
では、いよいよコーディングを始めましょう!まずは複数ページの切り替えができるアプリの骨組みを作ります。
複数ページの切り替えを可能にしよう
まずはPDFをアップロードするページを作ってみましょう。このページでPDFをアップロードして、その後、Ask My PDF(s)ページに移動して質問を投げる、という流れにします。
(注記: 質問をするページと同じページでPDFのアップロードをしても良いのですが、Streamlitでのページ切替を学ぶ題材として分けています😇)
import streamlit as st
# ページの設定
st.set_page_config(
page_title="PDFに質問しよう",
page_icon="📄",
layout="wide"
)
def page_pdf_upload():
"""PDFアップロードページの実装"""
st.title("📄 PDF Upload")
st.write("ここでPDFをアップロードして、AIが読めるように準備します!")
# ここに後でPDFアップロード機能を追加していきます
st.info("👆 PDFアップロード機能をこれから実装していきます")
def page_ask_my_pdf():
"""質問ページの実装(次章で作ります)"""
st.title("🤔 Ask My PDF(s)")
st.write("アップロードしたPDFに質問できます!")
st.info("この機能は次の章で実装します")
# サイドバーでページ選択
selection = st.sidebar.radio("Go to", ["PDF Upload", "Ask My PDF(s)"])
# 選択されたページを表示
if selection == "PDF Upload":
page_pdf_upload()
elif selection == "Ask My PDF(s)":
page_ask_my_pdf()
このコードをapp.py
という名前で保存して、ターミナルで以下を実行してみてください:
streamlit run app.py
ブラウザが自動で開いて、左側にページ選択メニューがあるアプリが表示されるはずです。すごい!もうWebアプリができちゃいました!