掲載済み (2025-10-11号)
#126 444文字 • 3分

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

掲載情報

概要

https://qiita.com/c62323440/items/79c2bfb65c3adb757c36

詳細内容

## 職場のAIチャットボットが羨ましかったので、自作してみた話(RAG+FastAPI+Streamlit) https://qiita.com/c62323440/items/79c2bfb65c3adb757c36 職場のAIチャットボットに刺激を受け、RAGを用いたPDF検索とCSV要約チャットボットを自作し、特に表形式データ処理の課題とシステム設計の重要性を具体的な知見として提示する。 **Content Type**: 📖 Tutorial & Guide **Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:4/5 **Main Journal**: 85/100 | **Annex Potential**: 79/100 | **Overall**: 80/100 **Topics**: [[RAG, LangChain, Streamlit, LLMアプリケーション開発, データ前処理]] 著者は職場のAIチャットボットに触発され、校内資料に質問できる独自のRAG(Retrieval-Augmented Generation)ベースのチャットボット構築に挑戦しました。このプロジェクトでは、StreamlitとOpenAIを組み合わせたCSV要約チャットと、FastAPI、LangChain、FAISS、Streamlitを用いたPDF検索チャットの2種類を開発しています。 特に注目すべきは、PDF検索チャットにおける具体的な課題とその解決策です。文部科学省の公開資料を題材にしましたが、PDFがほとんど表形式データであったため、そのままRAGに投入すると行と列の意味が失われ、構造が潰れてしまうという問題に直面しました。この経験から、表形式PDFに対してはHTML変換などで表構造を正確に抽出する前処理の重要性を強調しています。 また、この開発を通じて、著者は機械学習エンジニアとしての視点が大きく変わったと述べています。これまではモデル自体の学習が主要な焦点だと考えていましたが、実際にサービスとしてAIを機能させるためには、モデルへ入力する「データの流れ」や、ユーザーに提供するための「仕組みの設計(システムアーキテクチャ)」こそが極めて重要であるという実践的な洞察を得ました。これは、単なる技術の実装に留まらず、AIシステムを実用的なアプリケーションとして成立させるための本質的な課題を浮き彫りにしています。 今後は、Azure/GCPへのクラウドデプロイ、MLflowを用いた回答の記録・評価自動化、そして表形式PDF向けの前処理パイプラインの構築を目指しており、AIを活用したアプリケーション開発におけるデータパイプラインとシステム設計の重要性を強く示唆する事例となっています。Webアプリケーションエンジニアにとって、RAGの実装経験に加え、データ構造の考慮や運用を見据えた設計が成功の鍵となることを具体的に学べる貴重な知見です。