Python

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アプリを運用し始...
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の概念: 外部...