ケミカンのLangfuse活用事例

1.5K Views

August 21, 25

スライド概要

Langfuse Night #3 ( https://langfuse.connpass.com/event/362656/ ) の資料です。

profile-image

温かい目で見守ってください

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ケミカンのLangfuse活用事例 Langfuse Night #3

2.

自己紹介 ふじい です ● Role: LLM Ops / バックエンド / インフラ / :@ystkfujii ● 最近の活動: ● ひとこと: 先週ポリープ切除して、ちょうど 1週間です! 本日をとても楽しみにしてました!

3.

今日の内容 • 話すこと • ○ ケミカンでのLangfuseの活用方法 ○ 20分セッションなので、Tracingに絞って話します ■ Session / Trace / Observation の使い分け ■ Tracing入れてどうだったか 話さないこと ○ 昨今話題のAgentやMCPサーバーについて

4.

ケミカンは、 SDSをデータ化 &一元管理するクラウドサービスです ※SDSとは、化学物質の取扱説明書のようなもの

5.

SDS ( Safety Data Sheet ) の管理とは • SDSとは 化学物質および化学物質を含む混合物を譲渡または提供する際に、その化学物 質の物理化学的性質や危険性・有害性及び取扱いに関する情報を化学物質等を 譲渡または提供する相手方に提供するための文書 [1] 原材料の提供者 製造業の方々 SDS どういう設備・装備で利用したら良いのか? 吸引・付着した場合どうしたら良いのか? 火災時・漏出時にはどうしたら良いのか? などなど。。。 SDS SDS SDS [1] https://anzeninfo.mhlw.go.jp/yougo/yougo07_1.html

6.

SDS ( Safety Data Sheet ) の管理とは • SDSとは 化学物質および化学物質を含む混合物を譲渡または提供する際に、その化学物 化学物質の取扱説明書 のようなもの 質の物理化学的性質や危険性・有害性及び取扱いに関する情報を化学物質等を 譲渡または提供する相手方に提供するための文書 [1] 原材料の提供者 製造業の方々 SDS どういう設備・装備で利用したら良いのか? 吸引・付着した場合どうしたら良いのか? 火災時・漏出時にはどうしたら良いのか? などなど。。。 SDS SDS SDS [1] https://anzeninfo.mhlw.go.jp/yougo/yougo07_1.html

7.

ケミカンは、 SDSをデータ化 &一元管理するクラウドサービスです ※SDSとは、化学物質の取扱説明書のようなもの ユーザーが管理しているSDSのPDFをデータ化。 データ化したSDSに関連する管理業務をサポート。

8.

私たちについて 多くの企業の化学物質管理業務をサポートしています。 一部抜粋 8

9.

LLM アプリケーションの概略 PDFをLLMアプリケーションで受け取ってデータ化 LLM の呼び出し SDS アップロード LLMアプリケーション Trace/Scoreの送付 データ化 評価 ドメインエキスパート

10.

LLM アプリケーションの中身 処理概要 SDS 前処理 構造化 OCR データ完成 具体例 ## 1. 製品及び会社情報 { “section1”: { “product_name”: “「トライ用」サンプル ”, “company”: “〇〇〇〇株式会社 ”, …(略)... }, “section2”: { “引火性液体 ”: “区分2”, “急性毒性(吸引・蒸気) ”: “区分3” …(略)... } 製品の名称:「トライ用」サンプル 会社名: 〇〇〇〇株式会社 … (略)... ## 2. 危険有害性の要約 GHS分類 物理化学的危険性: 引火性液体 区分2 健康に対する有害性: 急性毒性(吸引・蒸気) 区分3 … (略)... } … …

11.

LLM アプリケーションの中身 処理概要 SDS 前処理 意外と複雑 OCR 構造化 データ完成 OCRの精度 + 構造化の精度 が求められる 具体例 ## 1. 製品及び会社情報 よりシステムを理解したい { “section1”: { “product_name”: “「トライ用」サンプル ”, “company”: “〇〇〇〇株式会社 ”, …(略)... }, “section2”: { “引火性液体 ”: “区分2”, “急性毒性(吸引・蒸気) ”: “区分3” …(略)... } 製品の名称:「トライ用」サンプル 会社名: 〇〇〇〇株式会社 … (略)... ## 2. 危険有害性の要約 GHS分類 物理化学的危険性: 引火性液体 区分2 健康に対する有害性: 急性毒性(吸引・蒸気) 区分3 … (略)... } … …

12.

Langfuse ● LangfuseはOpenSource LLM プラットフォーム[1] ● 特徴 ○ Tracingを利用した可視化 今日話す内容 ○ Datasetを利用したテストや評価 ○ プロンプトの管理 ○ スコアシステムを利用した評価 [1] https://github.com/langfuse/langfuse

13.

LangfuseのTracing機能とは LLMアプリケーションの一連のイベントをまとめたもの 画面例 Data Model[1] Session 0 n Trace 1 n Observation Event Span Generation [1]https://langfuse.com/docs/observability/data-model

14.

LangfuseのTracing機能とは LLMアプリケーションの一連のイベントをまとめたもの 画面例 Data Model[1] Session / Trace / Observationって どう使い分けたらいいんだ? Session 1 n Trace 1 n Observation Event Span Generation [1]https://langfuse.com/docs/observability/data-model

15.

Tracingの使い分け Traceレベル ○ LLM as a Judgeで評価したい単位 ■ LLM as a JudgeのターゲットはTrace単位となる必要がある[1] Observationレベル ○ 基本全てのLLMの呼び出しはGenerationとして記録 ○ Datasetsを利用してテストしたい単位をSpanとして記録 ○ 視認性をあげるためのグルーピングをSpanとして記録 Sessionレベル ○ Traceレベルをまとめたい場合に利用 [1]https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge

16.

Metadataの利用 ● PDFを処理する特性上、ファイル名での問合せが多い ○ すぐ検索できるように、Metadataに設定 foo.pdfの処理がおかしくなってそうです。 何かエラーが起きてます? ● 処理的には問題ないですね Dashboardでフィルターしたい項目をMetadataに設定 ○ フィルターの条件にMetadataのKey/Valueが利用可能 Metadataは痒いとこ に手が届く

17.

導入して良かったこと ● チーム内で簡単に状況を共有できる ○ URLをSlackやGitHubのIssueに貼ればOK ● システムを理解し易い環境があることで、バグが発見し易くなった ○ LLMは非決定的な動作なので、問題があればLLMが疑がわれがち ■ デバッグが後回しになることも... ○ 実際に確認すると、実装の問題だったケースもある

18.

実際にあった話: Langfuse導入前 データ化の流れ ある日の午後 また、データ化に失敗している。。。 SDS 出鱈目なデータ を出力するケースが稀に発生するな LLMアプリケーション LLMは動作が非決定的だから そういうこともあるのかな。。。 うん、 あとで調べよう データ化 したSDS

19.

実際にあった話: Langfuse導入前 データ化の流れ ある日の午後 また、データ化に失敗している。。。 SDS あとで 出鱈目なデータ を出力するケースが稀に発生するな LLMアプリケーション 調べよう。 LLMは動作が非決定的だから そういうこともあるのかな。。。 で、調べることなく 数日 。 うん、 あとで調べよう データ化 したSDS 😇

20.

実際にあった話: Langfuse導入後 データ化の流れ ある日の午後 また、データ化に失敗している。。。 SDS 出鱈目なデータ を出力するケースが稀に発生するな LLMアプリケーション LLMは動作が非決定的だから そういうこともあるのかな。。。 Langfuseで見てみよう! データ化 したSDS

21.

実際にあった話: Langfuse導入後 データ化の流れ ある日の午後 SDS LLMアプリケーション ? データ化 したSDS 添付されている PDFは、、、

22.

実際にあった話: Langfuse導入後 データ化の流れ ある日の午後 SDS 白紙 LLMアプリケーション ? データ化 したSDS え、白紙。。。?

23.

実際にあった話: Langfuse導入後 データ化の流れ 何があったか 特殊なフォントがPDFに 含まれている場合、白紙になる SDS SDS 白紙 ## 1. 製品及び会社情報 製品の名称: 出鱈目な 製品名 LLMアプリケーション プロンプト 会社名: … (略)... 出鱈目な 会社名 ? データ化 したSDS プロンプトの情報から それっぽい情報 を出力

24.

実際にあった話: Langfuse導入後 データ化の流れ 何があったか 実は、利用ライブラリにバグがあり、 特定条件で白紙になる 調べれば分かったこと SDS SDS 白紙 そのハードルが高いと調べない ## 1. 製品及び会社情報 製品の名称: 出鱈目な 製品名 LLMアプリケーション プロンプト 会社名: … (略)... 出鱈目な 会社名 ? データ化 したSDS 分かりやすさは 負担軽減と品質向上の 鍵 プロンプトの情報から それっぽい情報 を出力

25.

まとめ ● SDSのデータ化は OCRの精度 + 構造化の精度が求めらる ○ Langfuseを導入して理解しやすいシステムに! ● Tracing: ○ Session / Trace / Observation の使い分けについて説明 ○ Metadataの活用について説明 ● 理解しやすいシステムにすることで、調査コストが下がり、バグが 見つけやすい環境にもなる

26.

We are hiring now