「生成AI開発、PyTorch環境構築…次はどう進化する?」~【python】今週の人気記事TOP5(2025/08/31)
【2025/8/31】「生成AI開発、PyTorch環境構築…次はどう進化する?」今週の人気記事TOP5(2025/08/31)
uv pip install torch --torch-backend=auto
で互換性の高いPyTorchをインストールする流れ
TuringのMLOpsエンジニア岩政氏によるPyTorch環境構築記事の要約です。
uv pip install torch --torch-backend=auto
コマンドで、CUDA Driverなどを確認し互換性の高いPyTorchを自動選択・インストールする方法を紹介。
再現性確保のため、pyproject.toml
にCUDAバージョンに対応したIndex URLを明示的に記述する方法を解説。
uv sync
で依存関係を解決し、環境構築を容易にしています。
ただし、--torch-backend=auto
が常に成功するとは限らず、環境依存の問題解決が必要になる場合があるとのことです。
Google GenAI SDK の非公式ドキュメント | Gemini / Imagen / Veo を使う
この記事は、Google GenAI SDK(google-genai==1.31.0)の使い方をまとめた非公式ドキュメントです。
Gemini, Imagen, Veoなどの生成AIモデルをSDKで利用する方法、テキスト・画像・動画・音声の生成、理解、編集、埋め込み表現の獲得など、SDKで可能なタスクを網羅しています。
また、APIキー設定、typesによる型バリデーション、File APIによるファイルアップロード、思考(Thinking)の設定、構造化出力、安全フィルタリング、トークン数計算、モデルのファインチューニング等のテクニックも紹介します。
SnowflakeでGET_LINEAGEを拡張して深いリネージュ分析を可能にするアプリを作ってみた
SnowflakeのGET_LINEAGE関数はオブジェクト間の依存関係を構造化データで取得できるが、最大5ホップまでの制限がある。
この記事では、この制約を解消するため、GET_LINEAGE関数を拡張したストアドプロシージャGET_LINEAGE_CUSTOMを作成し、多段の中間加工を経るデータマートへの影響も分析可能にした。
さらに、Streamlit in SnowflakeでGUIアプリを開発し、非エンジニアでも容易にデータリネージを可視化し、影響範囲を把握できるようにした。これにより、障害時の初動判断を迅速化できる。
Microsoftから登場したVibe Voice凄すぎ
MicrosoftのVibe Voice 1.5Bは、最長90分の自然な会話を生成可能な軽量TTSモデル。Hugging FaceでMITライセンスとして公開されており、GPU環境で動作可能。感情豊かな高品質な音声を出力できる。英語と中国語に対応するが、歌唱や複数話者の同時発話はまだ課題が残る。ランダムにBGMが挿入される問題も報告されている。
Streamlit Creatorsに選出いただくまでの話
データエンジニアの山口歩夢氏がStreamlit Creatorsに選出。きっかけはSnowflakeコミュニティでのStreamlitとの出会い。社内向けデータカタログ開発を皮切りに、登壇、同人誌・商業出版、Snowflake Summit参加を経て、コミュニティ貢献を意識。Summitでの助言を基にカスタムコンポーネント(streamlit_sidebar_accordion_menu, st_dataframe_paginator)を開発し、申請に至る。今後はSnowflake CortexとStreamlitでの発信を予定。
【2025/8/24】「Python開発、ローカル環境からRAGまで網羅できてる?」今週の人気記事TOP5(2025/08/24)
【公開終了】当記事の公開を終了しました(更新履歴のみ)
記事は、Claude Code Max(現在はSonnetを推奨)を多用する際のAnthropicサーバーへの負荷に関する懸念を受け、公開を終了しました。当初、Sonnet利用を前提としていた点を明記していなかったことを謝罪。サーバー負荷軽減のため、Opusの使用は非推奨です。待機時間のランダム化や再起動ロジックの改善を行い、誤検知による不要な再起動を防止しています。
「カテゴリカル変数の相関係数」をご存知ですか?
カテゴリカル変数、特に順序尺度に対する相関係数について解説。順序尺度には背後に潜在変数があると仮定し、ポリコリック相関係数とポリシリアル相関係数を紹介。これらの手法は心理学や教育学で因子分析などに利用される。
ピアソンの積率相関係数を順序尺度に適用すると、相関の希薄化によりバイアスが生じる可能性があり、実験結果からもそれが示されている。カテゴリカル変数の相関分析では、ポリシリアル相関係数やポリコリック相関係数の利用が推奨される。
LocalStackでAWSをローカル再現してみた
LocalStackはAWSサービスをローカルで再現するツール。この記事では、Docker環境でのLocalStack導入と、Pythonのboto3によるS3操作の構成を紹介。データ永続化のために初期化スクリプトでS3バケットを自動作成。開発環境と本番環境で接続先を切り替える方法も提示。LocalStackにより、AWS認証情報の管理が不要になり開発効率が向上。
ChatGPTを使ってRustで新しいプログラミング言語をつくり始めた話
RustでPython風のWeb開発特化言語「Pyro」を開発中。現在はprint("Hello, Pyro!")
のみ対応し、PyroコードをRustに変換・実行できる。Cargoワークスペースでコンパイラ、CLI、変換ライブラリを構築。文字列エスケープ処理に苦労しつつも、Rustコード生成による動作確認を実現。今後は変数定義、四則演算、Webルーティング構文を実装予定。Webアプリケーションを言語自体で記述できる仕組みを重視。
C/C++の世界に閉じこもっていたオジサンがPythonに触れてみる ~基礎編~ 第2/10回
C/C++畑のエンジニアがPythonに触れた感想をまとめた記事。C/C++はコンパイル型で高速、メモリ管理は手動だが、Pythonはインタプリタ型で実行速度は遅くメモリ管理は自動。利用シーンはC/C++が組み込みやゲーム開発、Pythonはデータ分析やWebアプリ、スクリプト処理と異なる。最終的には、実際にPythonのコードを書いてみることが重要だと述べている。
【2025/8/17】「LLMとPydantic、Python開発の新たな潮流?」今週の人気記事TOP5(2025/08/17)
LangExtractによる信頼性の高い情報抽出 ― Geminiでうねるテキストを構造化しよう
Googleが公開したLangExtractは、Gemini等のLLMを活用し、テキストから構造化された情報を高精度かつ信頼性高く抽出するPythonライブラリです。特徴は、JSONスキーマによる出力制御、抽出元のテキスト位置情報の付与、長文対応のためのチャンク分割・並列処理、マルチモデル対応、抽出結果の可視化機能です。医療、法務、ビジネス文書など様々な分野で、従来のLLM抽出の課題であった出力の不安定さ、根拠の不明確さ、長文処理の弱さを解消します。少ないサンプルからのスキーマ抽出で、アジャイルな業務組み込みが可能です。
AWS Lambda + API Gateway構成でPydanticを導入して型安全性と可読性を改善した話
AWS Lambda + API Gateway構成のバックエンドにPydanticを導入し、APIリクエストの型安全性と可読性を改善した事例。
課題だったevent構造の不明確さ、型定義の曖昧さ、バリデーション処理の煩雑さを、Pydanticの型定義、バリデーション機能で解決。
Before/After比較でコードの見通しが向上し、型エラーを防止、ドメインロジックが簡潔になった。
今後はチーム全体のPydanticスキル向上、未利用機能の活用、クラスファイルの分離を検討。
将棋AIの新たな手法を考える
将棋AI開発において、既存のAlphaZero手法ではPCスペックの限界があるため、軽量モデルで強いAIを目指す新たな手法を提案。自己教師ありクラスタリングに着目し、局面を自動分類するMetaヘッドをAlphaZeroの構造に追加。これにより、モデルが局面をより人間的に捉え、特徴量を増やすことを試みる。現状、試作段階のAIは意味不明な手を指すものの、学習が進むことで改善を期待。最終的な完成を目指し、随時更新予定。
DockerでStreamlitを動かしてみる
StreamlitアプリをDockerで動かす手順の備忘録。Dockerfileは公式ドキュメントをベースに、Python 3.13.5のslimイメージを使用。streamlit_app.py
とrequirements.txt
をコピーし、pip3 install
で必要なパッケージをインストール。ポート8501を公開し、ヘルスチェックを設定。docker build
, docker run
, docker stop
コマンドでイメージのビルド、コンテナの起動・停止を行う。ローカル環境構築は割愛。
joyokanji
をリリースしました
New-Village氏が、旧字体を新字体に変換するPythonライブラリjoyokanji
をリリースしました。文化庁の常用漢字表に基づき、旧字を新字へ確定的に変換し、オプションで異体字の正規化も可能です。str.translate
による高速な変換が特徴で、初回のみマッピングを読み込みキャッシュします。OCRテキストの正規化や検索索引の整形に役立ちますが、人名や商標など原字形が重要な場合は注意が必要です。
【2025/8/13】「Python環境、もっと手軽に・確実にしませんか?」今週の人気記事TOP5(2025/08/13)
Nixとuvで磨くPython開発環境の再現性
Nixとuvを用いてPython開発環境の再現性を高める手法が紹介されています。
Nixは依存関係地獄を回避するパッケージマネージャで、uvは高速なパッケージ管理ツールです。
具体的な手順として、Nixで開発用シェルを作成し、その中でuvを使ってPythonプロジェクトを初期化し、requirements.txt
に基づいて依存パッケージをインストールします。
これにより、環境構築を自動化し、実装者ごとの挙動の差異や将来的な環境変化による影響を軽減できます。
最終的にNixとuvのロックファイルが作成され、より厳密な環境再現を可能にします。
LM Studioを使ったgpt-oss-20bとDifyの連携方法【Mac】
Mac(M4)環境で、ローカルLLM環境構築ツールLM StudioとDifyを連携させ、OpenAIのオープンウェイトモデルgpt-oss-20bをDify上で利用する方法を解説。LM Studioでgpt-oss-20bをダウンロードしAPIサーバーを起動後、DifyにOpenAI互換APIプラグインを導入。APIエンドポイントをDocker環境に合わせて設定することで、DifyからLM Studio経由でgpt-oss-20bを使用可能にする。PythonによるAPI呼び出し例も紹介。これにより、API使用料を気にせずローカル環境で大規模言語モデルを試せるようになる。
Python の f 文字列の、やや思いがけない挙動
Pythonのf文字列において、f"{a:{b}}"
のb
に数値や計算式を入れた際の挙動が興味深い。b
が文字列化された数値として解釈され、精度や桁数として影響する。大きな数値をb
に指定するとValueError
やクラッシュが発生する場合がある。符号に関する挙動も確認された。基本的にはb
には文字列を入れるべきだが、数値が文字列化される仕様により、予期せぬ挙動が起こりうる。
YOLOv8によるダストスポット検出AI「KlarSky」開発録:プロトタイプからMLOps、Vertex AIへの道
航空写真のダストスポット検出AI「KlarSky」の開発記録。YOLOv8を使い、プロトタイプからMLOpsパイプライン構築、Vertex AIへの移行、精度改善までを解説。
Hydra+MLflowで実験管理を効率化、Terraformでインフラをコード化。GCS FUSE利用時のコスト問題とその対策、評価指標の深掘り、ネガティブサンプリングによる精度向上など、具体的なノウハウを紹介。
最終的に、データセットと学習時の解像度を最適化し、軽量なyolov8nモデルで高精度/バランス重視の2種類のモデルを構築。デモアプリを公開し、Lightroomプラグイン化を目指す。書籍では、実装の詳細やコスト分析も公開。
uv run 徹底解説
この記事は、自作エージェントShaftを利用してuv runを徹底解説したものです。
uv runはPython環境でコマンドやスクリプト実行を効率化するツールで、pyproject.tomlを基にした依存関係管理、--withによる一時的な依存関係追加、--isolatedによる隔離環境、PEP 723サポートなどが特徴です。
ロックファイル制御(--locked, --frozen)、ワークスペース対応(--all-packages, --package)、Pythonインタープリタ指定(--python)など、高度な機能も解説。
ベストプラクティスとして、日常的なタスクでの利用、CIでの--locked使用、スクリプト共有でのPEP 723活用を推奨しています。
【2025/8/3】「自動化とAI連携、どこまでPythonでできる?」今週の人気記事TOP5(2025/08/03)
Microsoft Docs の MCP サーバーに接続してみた(Python・PowerShell)
Microsoft DocsのMCPサーバー(エンドポイント:https://learn.microsoft.com/api/mcp)にローカルから接続し、公式ドキュメント検索(microsoft_docs_search)を行う方法を解説。
PythonとPowerShellを使用し、MCP公式SDKのCLIを利用して、ドキュメントのタイトル、URL、抜粋を取得する手順を示す。
mcp[cli]
をインストールし、サンプルスクリプトを実行することで、検索結果をMarkdown形式で保存したり、ブラウザで開いたりできる。
[Dify] 4. Dify で作ったフローを API として呼び出して Stremlit で 簡単チャットボットアプリを作る
Difyを使って簡単なWebチャットボットアプリをStreamlitで構築する方法を紹介。DifyのAPI公開機能を利用し、StreamlitでAPIを呼び出すことで、マルチターン会話が可能なチャットボットを容易に作成できる。ストリーミング処理の実装例も提供し、エンドポイントとAPIキーの設定、Streamlitコード例、Dify側の調整について解説。
Gemini CLIでKiroみたいなCLI型コーディングエージェント作ったのでPersonaという機能を紹介します
Gemini CLIを活用したCLI型コーディングエージェント「Shaft」が、Kiroのペルソナ機能を強化して登場。PythonとLiteLLM採用でWindows対応とGemini以外のモデル利用を実現。
Shaftの目玉は、LLMの応答を最適化する「ペルソナ」機能。プログラマーや小説家など役割を与えることで、専門的で文脈に沿ったアウトプットを生成。カスタムペルソナも作成可能で、企業戦略やドキュメント整理など多様なタスクに対応。小説家ペルソナによる物語の連続執筆例も紹介。
【サーバ代0円】GitHub ActionsとPythonで、自動メール通知システムを実装してみた
GitHub ActionsとPythonでサーバ代0円の自動メール通知システムを構築した事例。
GitHub ActionsでPythonスクリプトを定期実行し、Gmail経由でメールを自動送信。
具体的な手順として、リポジトリ準備、Pythonでのメール送信処理実装、GitHub Actions設定、パスワード管理(GitHub Secrets利用)を紹介。
Gmailのアプリパスワードを使用し、セキュリティにも配慮。
タスクリストやAPI連携など、応用も可能。
官報とは。python/UV/Docker/GitHubActionsで通知システムを勢いだけで構築してみたが。
官報の情報を自動収集・通知するシステムを、Python, uv, Docker, GitHub Actionsを用いて構築した事例。
- 官報スクレイパーGitHub Actionを開発。官報のPDFと目次情報を取得し、GitHub Actionsのoutputsとして提供。
- 取得した情報を基にRSSファイルを自動生成。All Handsと連携し、簡易WebビューワーをGitHub Pagesで公開。
- RSSフィードからX(Twitter)へ自動投稿するBotを作成。
AIエージェントを積極的に活用し、既存のツールを流用することで、短期間での開発を実現。
Discussion