管理人

このブログは、IT関係を中心とした勉強サイトです。

RAGのチャンキング基礎:文書を検索しやすく分割する

2026/7/31    , ,

長い文書をそのまま検索対象にすると、複数の話題が1つのベクトルに混ざって検索がぼやけます。この記事では、文書を検索しやすい大きさに分割する「チャンキング」の基本を、コードを動かしながら確認します。日本語特有の注意点や、チャンクサイズが検索精度に与える影響も扱います。

Open book on wooden surface surrounded by flowers

日本語を含むRAGでのEmbeddingモデルの探し方

2026/7/28    , ,

日本語を含むRAGでEmbeddingモデルを選ぶときの注意点を整理します。英語中心のモデルで精度が出ない理由を説明し、モデル選びに使う公開ベンチマーク(JMTEBなど)の見方と、実際にモデルを使うハンズオンまで紹介します。

Carton of brown eggs on a kitchen counter

Embeddingモデルを用いて文をベクトルに変換する

2026/7/27    , ,

Embeddingの概要について解説します。既存のモデルで文章をベクトル化し、意味の近さを評価する方法やキーワード検索では拾えない「意味が近い文」を探す方法まで、実際に動かして確認します。モデルの選び方や公開ベンチマークサイトも紹介します。

Misty lake shore with pine trees and grassy bank

PDFをDoclingでMarkdown化する

2026/7/18    

無料のDoclingを使い、PDFをレイアウトごとMarkdown化する方法を解説します。表や画像への対処、Python・コマンドラインでの使い方から、うまく変換できない場合の症状別の対処法まで扱います。

Vintage italian book open on a vibrant tiled table

画像から文字を読み取るOCR:Tesseractの導入とpytesseractの使い方

2026/7/15    

画像の中の文字をテキストに変えるOCRを行うため、無料のTesseractとpytesseractで、環境構築から日本語の読み取り、発展的な機能までサンプルコードありで解説します。

Silhouetted mountain ranges at golden hour sunset.

RAGとは何か:最小のRAGを作って動かす

2026/7/27    , ,

LLMは学習後の最新情報や社内文書を知りません。外部の文書を検索してLLMに渡すRAGで、その弱点を補います。最小のRAGをPythonで動かし、検索して渡す/渡さないで回答がどう変わるかを実際に確かめます。

Soft focus polaroid with dark, textured elements.

LLM APIの呼び出しとAPIキー管理:Gemini・GPT・Claude

LLMを使うアプリを作るには、まず各社のAPIを呼び出せるようになる必要があります。この記事では、APIキーを安全に扱いつつ、httpxで各社のAPIを直接叩く方法と、LiteLLMで同じ関数からGemini・GPT・Claudeを呼び分ける方法をまとめます。

Geometric honeycomb pattern with metallic sheen

正規表現のreモジュールの関数(Python)

2026/7/2    

Pythonのreモジュールで正規表現を扱うときの主な関数を整理します。読み取りのsearch・match・findall・finditer、書き換えのsub・split、補助のcompile・escapeまで、使い分けをサンプルコードで解説します。

Stylish woman holds a fan in a desert setting, exuding elegance and mystery.

正規表現のフラグ(Python)

2026/7/2    

正規表現のフラグを、Pythonのreモジュールで整理します。大文字小文字を無視するIGNORECASE、行ごとに^と$を効かせるMULTILINE、.を改行にもマッチさせるDOTALLなど、よく使う5つとインラインフラグの書き方を、サンプルコードで解説します。

A serene sailboat glides along the Bosphorus near Istanbul, set against a clear blue sky and urban skyline.

正規表現の先読み・後読み (Python)

2026/7/1    

正規表現の先読み・後読みを、Pythonのreモジュールで整理します。指定パターンの前後に条件を置き、条件に合うときだけ取得する仕組みで、条件に使った部分は結果に含まれません。肯定・否定の先読みと後読み、後読みの固定長制約まで、サンプルコードで解説します。

Stone statues at Fisherman's Bastion in Budapest, captured in early morning light, showcasing arches and shadow play.

正規表現のグループ : キャプチャ・名前付き・後方参照(Python)

2026/6/30    

正規表現のグループを、Pythonのreモジュールで一つずつ整理します。マッチした部分を取り出すキャプチャグループ、まとめるだけの非キャプチャグループ、名前で扱う名前付きグループ、同じ内容の再出現を捉える後方参照を、サンプルコードとともに解説します。

Delicate pink and white fuchsia flowers elegantly hanging against a rich red background.

正規表現の基本構文とパターン検索(Python)

2026/6/30    

Pythonで正規表現を使うための基本構文を、reモジュールのfindallで実際に動かしながら一つずつ整理します。アンカー、文字クラス、量指定子(貪欲と最短)、グループ、選択、エスケープを、短い実行例と結果のセットで確認できます。

Pink and orange clouds against a pale sky at sunset.

複数の文字列を仮名ラベルに置き換えて対応表で元に戻す方法 (Python)

2026/6/30    

Pythonの標準ライブラリを用いて、複数の文字列をA・B・Cの仮名ラベルに置き換え、評価が終わったあとに対応表で実名へ戻す方法を解説します。素朴に置換すると問題になる連鎖置換・部分一致とその安全な回避策についても取り扱います。

Half dome mountain at sunset with pine trees.

WSLの使用メモリとスワップ、CPU数を制限する

2026/6/30    ,

WSLの使用メモリとスワップ量、CPU数の上限をWindows側の.wslconfigファイルで設定する方法を解説します。実際に設定が反映されたかどうかを確認するコマンドについても扱います。

A cyclist rides through a busy street in Krakow, Poland, on a summer day.

FastAPI で Server-Sent Events(SSE)を使い、処理の途中経過をストリーミング配信する

2026/7/27    , ,

FastAPIでServer-Sent Events(SSE)を使い、サーバー側の処理の進捗をブラウザへ少しずつ配信する方法を解説します。進捗・完了・エラーの送り分け、GETとPOSTそれぞれの受信方法、サンプルコードまで、手を動かして確認できる形でまとめました。