<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on GAO AI Blog</title><link>https://gao-blog-7a8ba9.gitlab.io/tags/python/</link><description>Recent content in Python on GAO AI Blog</description><generator>Hugo -- gohugo.io</generator><language>ja</language><copyright>© ガオ株式会社 All Rights Reserved.</copyright><lastBuildDate>Wed, 04 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://gao-blog-7a8ba9.gitlab.io/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Google ADKで作ったエージェントに Langfuseのトレースにプロンプトを紐付ける方法</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2026-02-04-google-adk%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AB-langfuse%E3%81%AE%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E3%81%AB%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%82%92%E7%B4%90%E4%BB%98%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2026-02-04-google-adk%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AB-langfuse%E3%81%AE%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E3%81%AB%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%82%92%E7%B4%90%E4%BB%98%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;Google ADK（Agent Development Kit）のトレースに Langfuse のプロンプト情報を紐付ける方法を解説します。これにより、プロンプトごとのコスト・レイテンシ分析や A/B テストが可能になります。&lt;/p&gt;</description></item><item><title>【入門編】Langfuseで画像OCRの精度検証をシンプルに始める方法</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2026-01-26-%E5%85%A5%E9%96%80%E7%B7%A8-langfuse%E3%81%A7%E7%94%BB%E5%83%8Focr%E3%81%AE%E7%B2%BE%E5%BA%A6%E6%A4%9C%E8%A8%BC%E3%82%92%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AB%E5%A7%8B%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2026-01-26-%E5%85%A5%E9%96%80%E7%B7%A8-langfuse%E3%81%A7%E7%94%BB%E5%83%8Focr%E3%81%AE%E7%B2%BE%E5%BA%A6%E6%A4%9C%E8%A8%BC%E3%82%92%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AB%E5%A7%8B%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;Geminiの性能向上によりOCRは実用的になりましたが、高精度を目指すならプロンプト調整は必須です。しかし、調整のたびに画像と結果を目視で見比べるのは、手間がかかりミスも誘発します。&lt;/p&gt;</description></item><item><title>LangfuseのExperiments Compare ViewのBaseline機能を解説</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2026-01-09-langfuse%E3%81%AEexperiments-compare-view%E3%81%AEbaseline%E6%A9%9F%E8%83%BD%E3%82%92%E8%A7%A3%E8%AA%AC/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2026-01-09-langfuse%E3%81%AEexperiments-compare-view%E3%81%AEbaseline%E6%A9%9F%E8%83%BD%E3%82%92%E8%A7%A3%E8%AA%AC/</guid><description>&lt;h2 class="relative group"&gt;はじめに
 &lt;div id="はじめに" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;LLMアプリケーションの開発において、プロンプトの改善は避けて通れない作業です。しかし、プロンプトを変更するたびに、こんな不安を感じたことはありませんか？&lt;/p&gt;</description></item><item><title>Google Cloud IAP保護下Langfuseトークン動的更新の実装ガイド</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-12-05-google-cloud-iap%E4%BF%9D%E8%AD%B7%E4%B8%8Blangfuse%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E5%8B%95%E7%9A%84%E6%9B%B4%E6%96%B0%E3%81%AE%E5%AE%9F%E8%A3%85%E3%82%AC%E3%82%A4%E3%83%89/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-12-05-google-cloud-iap%E4%BF%9D%E8%AD%B7%E4%B8%8Blangfuse%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E5%8B%95%E7%9A%84%E6%9B%B4%E6%96%B0%E3%81%AE%E5%AE%9F%E8%A3%85%E3%82%AC%E3%82%A4%E3%83%89/</guid><description>&lt;h2 class="relative group"&gt;はじめに
 &lt;div id="はじめに" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;LangfuseはSelf-Hosted可能で、過去のブログでもご紹介したとおり、Google Cloud上にも簡単にLangfuse環境の構築が可能です。&lt;/p&gt;</description></item><item><title>Langfuseのマルチモーダル対応:画像・音声ファイルのトレース添付機能がGAに</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-12-02-langfuse%E3%81%AE%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB%E5%AF%BE%E5%BF%9C-%E7%94%BB%E5%83%8F%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E6%B7%BB%E4%BB%98%E6%A9%9F%E8%83%BD%E3%81%8Cga%E3%81%AB/</link><pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-12-02-langfuse%E3%81%AE%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB%E5%AF%BE%E5%BF%9C-%E7%94%BB%E5%83%8F%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E6%B7%BB%E4%BB%98%E6%A9%9F%E8%83%BD%E3%81%8Cga%E3%81%AB/</guid><description>&lt;h2 class="relative group"&gt;はじめに
 &lt;div id="はじめに" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;LLMアプリケーション開発において、テキストだけでなく画像や音声などのマルチモーダルなデータを扱うケースが増えています。Langfuseは2024年8月に初めてマルチモーダルトレースのサポートを発表し、同年11月には画像、音声、PDFなどの添付ファイルにも対応する完全なマルチモーダルサポートを実現しました。&lt;/p&gt;</description></item><item><title>音声AIエージェントLiveKit × Langfuse連携 ~トレース分離問題の解決~</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-11-30-%E9%9F%B3%E5%A3%B0ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88livekit-langfuse%E9%80%A3%E6%90%BA-%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E5%88%86%E9%9B%A2%E5%95%8F%E9%A1%8C%E3%81%AE%E8%A7%A3%E6%B1%BA/</link><pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-11-30-%E9%9F%B3%E5%A3%B0ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88livekit-langfuse%E9%80%A3%E6%90%BA-%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E5%88%86%E9%9B%A2%E5%95%8F%E9%A1%8C%E3%81%AE%E8%A7%A3%E6%B1%BA/</guid><description>&lt;h2 class="relative group"&gt;はじめに
 &lt;div id="はじめに" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;LiveKit Agentsは、音声AIアプリケーションを構築するためのオープンソースフレームワークです。本記事では、Langfuseを使った観測可能性の実装と、その際に遭遇したトレース分離問題の解決方法を紹介します。&lt;/p&gt;</description></item><item><title>Langfuseデータセット構築ガイド：UI・CSV・SDKの徹底比較</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-11-13-langfuse%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89-uicsvsdk%E3%81%AE%E5%BE%B9%E5%BA%95%E6%AF%94%E8%BC%83/</link><pubDate>Thu, 13 Nov 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-11-13-langfuse%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E6%A7%8B%E7%AF%89%E3%82%AC%E3%82%A4%E3%83%89-uicsvsdk%E3%81%AE%E5%BE%B9%E5%BA%95%E6%AF%94%E8%BC%83/</guid><description>&lt;p&gt;先日、新規アプリケーションのプロンプトを検討するにあたり、トレースデータ（ログ）が存在しない状態からデータセットを作成する必要がありました。&lt;/p&gt;
&lt;p&gt;ある程度のデータ量を用意したかったため、手動入力を避ける方法（SDK や CSV）を調査・検証しました。 本記事では、&lt;strong&gt;基本となる UI での登録手順と、今回試した一括登録の手順をそれぞれ整理し、使い勝手や特徴を比較した備忘録&lt;/strong&gt;として残します。&lt;/p&gt;</description></item><item><title>Observation Types で mask オプション内での再起呼び出しを回避する</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-10-28-observation-types-%E3%81%A7-mask-%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E5%86%85%E3%81%A7%E3%81%AE%E5%86%8D%E8%B5%B7%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-10-28-observation-types-%E3%81%A7-mask-%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E5%86%85%E3%81%A7%E3%81%AE%E5%86%8D%E8%B5%B7%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;以前、Langfuse の mask オプションを利用する際のトレース保存方法について解説しました。（&lt;a href="https://gao-blog-7a8ba9.gitlab.io/posts/2025-07-16-langfuse%e3%81%a8llm%e3%82%92%e6%b4%bb%e7%94%a8%e3%81%97%e3%81%9fpii%e3%83%9e%e3%82%b9%e3%82%ad%e3%83%b3%e3%82%b0-%e3%83%88%e3%83%ac%e3%83%bc%e3%82%b9%e4%bf%9d%e5%ad%98%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%81%a8%e5%ae%9f%e8%b7%b5%e7%9a%84%e6%b3%a8%e6%84%8f%e7%82%b9/"&gt;該当記事&lt;/a&gt;
）&lt;/p&gt;
&lt;p&gt;当時、 mask オプションに設定した関数内でトレースを保存しようとすると、該当の関数が再帰的に呼び出されてしまう問題がありました。該当記事内では、グローバル変数を用いて制御しましたがあまりスマートな方法とは言えません。&lt;/p&gt;</description></item><item><title>GeminiコンテキストキャッシュとLangfuseで実現するコスト監視</title><link>https://gao-blog-7a8ba9.gitlab.io/posts/2025-08-17-gemini%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%81%A8langfuse%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E3%82%B3%E3%82%B9%E3%83%88%E7%9B%A3%E8%A6%96/</link><pubDate>Sun, 17 Aug 2025 00:00:00 +0000</pubDate><guid>https://gao-blog-7a8ba9.gitlab.io/posts/2025-08-17-gemini%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%81%A8langfuse%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E3%82%B3%E3%82%B9%E3%83%88%E7%9B%A3%E8%A6%96/</guid><description>&lt;h2 class="relative group"&gt;はじめに
 &lt;div id="はじめに" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;GoogleのVertex AI Geminiが提供するコンテキストキャッシュ機能は、大量のコンテキストを再利用することで、APIコストを大幅に削減できる強力なツールです。しかし、実際にどの程度のコスト削減効果があるのかを可視化するには、一手間加える必要があります。&lt;/p&gt;</description></item></channel></rss>