Python

Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第5回:計算の「正しさ」を評価する:ノルムと条件数

こんにちは、JS2IIUです。連載の前半では、関数の近似や数値積分といった、主に解析学的なアプローチによる数値計算を学んできました。第5回となる今回からは、数値計算のもう一つの巨大な柱である「線形代数」の領域へと足を踏み入れていきます。機械学習やディープラーニングの世界において、行列やベクトルの演算...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第4回:高度な数値積分:二重指数型(DE)公式と広義積分

こんにちは、JS2IIUです。前回の第3回では、数値積分の基本である中点則、台形則、そしてシンプソン則について学びました。これらは「関数が十分に滑らかで、有限の範囲で定義されている」場合には非常に強力な手法です。しかし、実世界のデータ解析や物理シミュレーション、あるいは統計モデルの計算においては、標...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第3回:積分の基礎:中点則、台形則からシンプソン則まで

こんにちは、JS2IIUです。連載の第1回、第2回を通して、私たちは多項式を用いた関数の近似や、離散的な点から未知の値を推定する補間技術について学んできました。第3回となる今回は、これらの知識を応用して、数値計算の大きな柱の一つである「数値積分(Numerical Integration)」に挑戦し...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第2回:多項式補間とチェビシェフ補間の戦略

こんにちは、JS2IIUです。前回の記事では、既知の複雑な関数を扱いやすい多項式に変換する「テイラー展開」について学びました。しかし、実世界のデータ解析やAI開発においては、元となる関数の形が最初から分かっていることは稀です。多くの場合、私たちが手にしているのは「いくつかの離散的な観測データ(点)」...
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アプリを運用し始...