東京農工大学皐槻祭のパンフレットを参照情報としたRAGアプリケーションです.
パンフレットの読み出しは Google Cloudの Cloud Vision API
,ウェブフレームワークはStreamlit
,生成AIはgemini-1.5-flash-latest
を使っています.
このプロジェクトはRyeを使用して依存関係を管理しています.以下のパッケージが必要です:
- Python==3.12
- google-cloud-vision==3.7.2
- google-generativeai==0.5.3
- numpy==1.26.4
- opencv-python==4.9.0.80
- pdf2image==1.17.0
- streamlit==1.34.0
. ├── LICENSE ├── README.md ├── pyproject.toml ├── requirements-dev.lock ├── requirements.lock └── src ├── db │ ├── ocr.py │ ├── 第2回皐槻祭パンフレット_全体-圧縮.txt │ ├── 第2回皐槻祭パンフレット_全体-圧縮_formatted.txt │ └── 第2回皐槻祭パンフレット_全体-圧縮.pdf └── ragapp ├── __init__.py ├── config.py └── streamlit_app.py
リポジトリをクローンし,必要な依存関係をインストールしてプロジェクトを実行します:
OCRをする際はsrc/db/ocr.py
を実行してください.実行をする前にCloud Vision APIの設定をしてください.
python ocr.py /path/to/pdffile
RAGアプリケーションを実行する際はsrc/ragapp/streamlit_app.py
を実行してください.
今回はローカルで実行することを想定しています.
streamlit run streamlit_app.py & sleep 3 && npx localtunnel --port 8501
ragapp
はMITライセンスのもとで公開されています.