第一期開発
アプリに実装したい機能の中に「Google検索」がある為、利用するライブラリの候補は2つ。
・LangChain Retrieval もしくは Agent 機能
・LlamaIndex LangChainラッパー(どうやらRetrieval機能に特化しているらしい)
今後の機能拡張や自身のスキリングを考え、大元のLangChainで実装すべきと判断しました。
それからLangChainを基本から学び始め、Agent 機能には検索に便利な Tool が多く、条件分岐でSQLによるDB操作をさせたりできることを知り、LangChain Agent で実装したいと考えています。

今気づきましたが、上図に書いたもの、2023/8まではほとんど使ったことがありませんでした。
(SSHとChromeくらいは仕事で…)
第一期開発は、samurai engineer AIコース の卒業間近ということで、
■第1期開発(卒業制作)
アプリ仕様:UIデザイン(サイドバーに料理検索機能 + メインにタブ分けUI案)
ゴール:Streamlit Community Cloudへのデプロイ
と位置付けます。
■こだわりたいポイント
プロンプティング:プロンプトで制御する以上、極力自分の望む回答を得られるようPromptTemplateを作りたいですね。
第二期開発
第二期開発では、メインエリアのテーブル表示/メモ更新機能+SQL連携を追加構築します。
DBの各テーブル同士でリレーションを組み、python側からSQLコマンドでデータを読み書きできるようにします。
読み込んだデータはメインエリアのテーブルに表示したり、テキストエリアで編集できるようにアップデートします。

■第2期開発(卒業制作)
アプリ仕様:サイドバー料理検索機能+メモ帳並列表示&編集機能+SQL連携
ゴール:Streamlit Community Cloudへのデプロイ
と位置付けます。
第三期開発
第三期開発では、レンタル中の ConoHa Wing サーバ もしくは AWS 上にPython環境とSQLを構築して、Webアプリを移行させます。
■第3期開発
アプリ仕様:サイドバー料理検索機能+メモ帳並列表示&編集機能+SQL連携
ゴール:クラウド(ConoHaレンタルサーバ or AWS) にPython+MySQLを開発し、Webアプリ移行
