Streamlit と LangChain を組み合わせて、Google検索・Wikipedia検索ツールを持つ ChatGPT エージェントのWebUIを作りました。LangChain の ReAct(Reason + Act)エージェントが自律的にツールを選択して質問に答えます。
[Read More]
EasyOCRで日本語画像をテキスト化—セットアップから実運用まで
EasyOCRを使ってJPEG画像から日本語テキストを抽出するスクリプトを作りました。フォルダにまとめて置いた画像を一括処理し、テキストファイルに書き出します。日本語OCRの精度と前処理のコツも解説します。
[Read More]
GradioでAI水平思考クイズを作ってHugging Face Spacesにデプロイした話
水平思考クイズ(海亀スープ)のAI GMをGradioで作りました。Cohere の command-r-plus モデルが「はい」「いいえ」「わからない」で答えるGMを担当し、CSVで問題を管理します。Hugging Face Spacesに無料でデプロイしています。
[Read More]
Xのタイムラインを自動要約!FastAPI + LLMで作るトピックダイジェストシステムの設計
関心のあるトピック(キーワード)を登録すると、X(Twitter)の関連ツイートを収集しLLMで要約するWebアプリ「TopicDigestX」の設計を紹介します。FastAPI + SQLAlchemy + React + Viteの構成で、Docker Composeで手軽に起動できます。
[Read More]
Apple SiliconでLLMをファインチューニング!MLX + LoRAで日本語読解モデルを自作する方法
LiquidAI の LFM2.5-1.2B-JP モデルを Apple Silicon の MLX フレームワークで LoRA ファインチューニングするパイプラインを構築しました。JsQuAD(日本語読解)データセットで学習し、カスタム Chunked Loss と早期停止も実装しています。
[Read More]
バンドのセットリストをAIで自動生成!OR-Tools TSPで転換コストを最小化する方法
バンド「Luke Avenue」のセットリスト作成を自動化するスクリプトを開発しました。OR-ToolsのTSP(巡回セールスマン問題)ソルバーで、メンバー交代によるパート転換コストを最小化した最適な曲順を自動生成します。YouTube APIで曲の長さも自動取得します。
[Read More]
声を学習してテキスト読み上げ!TADAで作る日本語ボイスクローンTTSシステム
HumeAIのTADA(Text-Acoustic Dual Alignment)を使って、参照音声の声質でテキストを読み上げるボイスクローンTTSシステムを構築しました。FastAPIサーバーとCLIツールで構成し、日本語の読み上げに対応しています。
[Read More]
配信録画を自動で分割!FFmpegのsilencedetectで作る動画分割Webアプリ
FFmpegのsilencedetect フィルターを使って動画を無音区間で自動分割する Webアプリ「JamSlicer」を開発しました。従来の librosa/moviepy 実装と比べてメモリ使用量を 1/100 以下に抑えつつ、分割速度を10〜20倍に向上させた実装を解説します。
[Read More]
機械学習実験が管理できず再現性がない問題をMLflowで体系的に解決する方法
機械学習実験で直面する再現性の課題
機械学習の実験を繰り返していると、以下のような問題に直面することがありませんか?
- 良い結果が出たモデルのパラメータを忘れてしまう
- 過去の実験結果を比較できず、改善が進まない
- チームメンバーと実験結果を共有できない
- 同じ実験を再実行しても結果が再現できない
これらの問題は、機械学習の実践が「ある種の黒魔術」となってしまう原因でもあります。
[Read More]ctranslate2でpytorchがimportできないエラーが出たので回避方法メモ
公式のインストール方法
pip install ctranslate2
https://github.com/OpenNMT/CTranslate2
Macでは上手く動作しない
segmentatioin faultになった。
しかしlinuxでは動作するとの情報を得た。 なのでまずはMacの中でDocker環境を構築して問題を回避できないか確認しようとした。
[Read More]