julesはGoogleのAIエージェントです。ベータテスト中のため、ごりごりお試しできそうだったので、RAGのお試し環境を構築してみます。
以下の様な機能を持つようなお試し環境をかんがえました。
0. 簡単なUIでRAGをお試しできる。
1. User管理ができ、User別にベクトルストアを管理する。
2. ドキュメントをUploadしたらchunkしてembeddingしてくれる。
3. RAGの回答戦略を選択して回答を得る。
実装すると結構大変です。だからと言って、上記の構想程度で、AIエージェントにいきなり指示してコーディングさせると後で後悔します。AIエージェントだからといって、いつまでも完成しない状況になったり、遠回りしたりする状況に陥るのは面白くありません。そこで、念入りにどのようなコードにするのか、ChatGPTやperplexity、Google AIを利用して、ブレークダウンしててから進めていきます。
4. Frontendは、streamlit
5. Backendは、FastAPI
で実装することに決めました。
julesは自らの仮想マシンで出来る範囲でコードを組み立てていきます。が、長いコードになったりすると、エラーが多くなりがち。テストコードを書かせながらやると割とうまく行き始めました。コードの最後に「```」が残ったりAIエージェントのための目印がコード中に残ったりと、粗相によるエラーは難儀しました。特にコード最後の「```」はエージェント側からは確認できないようでした。julesも進歩していくと思います。githubへのpushは、エージェントと関係なく、ボタン一発で出来る、もしくはVS Codeと同期するようになるだけでもかなり便利になると思います。
総じて、AIエージェント特有のめんどくささはあるものの、AIエージェントの強力な支援で片手間で大まかなところまで完成させることができました。ありがとう、jules。
手持ちのpdfのデータからLLMモデルとしてollama/gemma3:4b-it-qatを利用した結果です。基本的な動作は出来ました。

今回作成したコードです。もう少し頑張れば実用性ありそう(笑)