2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

職場のAIチャットボットが羨ましかったので、自作してみた話(RAG+FastAPI+Streamlit)

Posted at

0.はじめに

最近、私の職場で 校内サーバーにある資料をAIに質問できるチャットボットが導入されました。
文章を入力すると、AIが過去資料を検索して答えてくれるという仕組みで、
「うわ、これめっちゃ便利!どうやって作ってるんだろ?」
「自分でも作ってみたい!」
と強い刺激を受けました。

チャットボットに「あなたはどうやって作られているの?」と聞いても、答えは返ってきませんでした。
そこで、「調べるより作ったほうが早い」と思い立ち、生成AI周りの構築に挑戦しました。

この記事が、「自分もRAGやってみようかな」という方の背中を押せたら嬉しいです!

コード:

1.作ったもの

① CSV要約チャット:CSVファイルを投げて「平均出して」「ランキング作って」と質問できる Streamlit + OpenAI
② PDF検索チャット(RAG):ローカルにPDFを読み込ませて、質問すると該当箇所を検索+LLMが回答 FastAPI + LangChain + FAISS + Streamlit

image.png

image.png

2.システムの全体像(アーキテクチャ)

3.PDF検索

職場では校内サーバーの資料を使っていますが、今回は公開されている
文部科学省の「全国学力・学習状況調査」の結果PDFを題材にしました。
ただし、PDFの内容がほぼ全部「表形式」だったため……数値+枠線が含まれている
行と列の意味が構造として失われてしまう

image.png

4.作ってみてわかった「うまくいった点・難しかった点」

・CSV要約チャットはとても実用的で、簡易データ分析に使える
・表形式PDFをそのままRAGに突っ込むのは厳しい(構造が潰れる)
→ 対処案PDF→HTML変換などで表ごと抽出すべき
・ 評価方法 expected in answer で部分一致判定 → ざっくり精度チェック

5.今後やってみたいこと

・クラウドでの生成AI周り、機械学習の活用、Azure / GCPにデプロイ
・MLflowで回答の記録・評価を自動化
・表形式PDF向けの前処理パイプライン作り

6.「機械学習エンジニアに必要な視点」

私はこれまで「モデルの勉強=機械学習エンジニアの道」だと思っていました。
しかし今回、
モデルを動かす前の「データの流れ」や
サービスとして使えるようにする「仕組みの設計」こそ重要
だと強く感じました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?