2025-12

Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第1回:多項式計算とテイラー展開

こんにちは、JS2IIUです。今回から始まるこの連載では、プログラミング言語Python、そして機械学習のデファクトスタンダードであるPyTorchを活用しながら、数値計算の根幹をなすアルゴリズムを学んでいきます。機械学習やAIのモデルを扱う際、私たちはしばしば「ブラックボックス」として関数を利用し...
Streamlit

【Streamlit】FAISSで構築、複数のPDFをローカルVector Store化

こんにちはJS2IIUです。生成AIを活用したアプリケーション開発において、現在最も注目されている技術の一つがRAG(Retrieval-Augmented Generation)です。社内ドキュメントや専門書の内容をAIに回答させるこの技術は、ビジネスの現場で急速に普及しています。しかし、RAGを...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(10) DockerとStreamlit Cloudを使ったデプロイ

こんにちはJS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」、今回が最終回となります。LangChainによるLLMの制御、独自データの取り込み、ベクトル検索の構築、そして高度なリトリーバル戦略や非同期処理の実装と、長い旅を続けてきました。最終回となる今...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(9) 長時間処理と非同期処理の設計

こんにちはJS2IIUです。「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第9回です。前回は、LCEL(LangChain Expression Language)を使ってコードを美しくモジュール化しました。開発者としての体験(DX)はこれで最高になりましたね。しかし、...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(8) LangChain Expression Language (LCEL)によるパイプラインのモジュール化

こんにちはJS2IIUです。「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の連載も、いよいよ終盤の第8回に突入しました。前回は、Multi-QueryやRe-rankingといった高度な検索戦略を導入し、RAGの精度を劇的に向上させました。しかし、機能を追加するにつれて、...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(7) 高度なリトリーバル戦略(Multi-Query, Re-ranking)

こんにちはJS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第7回です。前回は、ストリーミング応答とチャット履歴の管理を実装し、ユーザー体験(UX)を大幅に向上させました。アプリとしての使い勝手はかなり良くなったはずです。しかし、RAGアプリを運用し始...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(6) ストリーミング応答とチャット履歴の管理

こんにちは、JS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第6回です。前回は、StreamlitとLangChain、そしてVector Storeを統合し、独自のドキュメントに基づいて回答する基本的なRAGアプリを完成させました。これで機能的には...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(5) 基本の質問応答アプリを完成させる

こんにちは、JS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第5回をお届けします。これまで私たちは、AIアプリを構築するための「部品」を一つずつ丁寧に作り上げてきました。UIの基礎: Streamlitの使い方をマスターしました。RAGの概念: 外部...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(4) エンベディングとローカルVector Storeの構築

こんにちはJS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第4回目の記事です。前回は、PDFなどのドキュメントを読み込み、AIが食べやすい一口サイズ(チャンク)に分割するところまでを解説しました。これで手元には大量のテキストデータの断片があります。し...
Streamlit

StreamlitとRAGで作る 実用的なAIチャットボット(3) ドキュメントローダーとチャンキングの最適化

こんにちは、JS2IIUです。連載「StreamlitとRAGで作る:実用的なAIチャットボット開発ガイド」の第3回目の記事になりました。前回は、プロンプトに手動で情報を埋め込む「最小構成のRAG」を作成しました。しかし、現実の業務では、「社内Wikiの全記事」や「数百ページのPDFマニュアル」など...