東京農工大学皐槻祭のパンフレットを参照情報とした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/pdffileRAGアプリケーションを実行する際はsrc/ragapp/streamlit_app.pyを実行してください.
今回はローカルで実行することを想定しています.
streamlit run streamlit_app.py & sleep 3 && npx localtunnel --port 8501ragappはMITライセンスのもとで公開されています.
