LLMシステム改善サイクルの最高のお供、LangSmith
株式会社Gaudiy / seya
メンバー / フロントエンドエンジニア
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
Plus | ログ、評価、データセット、Prompts、Playground | 10名以下 | 2023年7月 | B to B |
利用プラン | Plus |
---|---|
利用機能 | ログ、評価、データセット、Prompts、Playground |
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2023年7月 |
事業形態 | B to B |
アーキテクチャ

導入の背景・解決したかった問題
導入背景
ツール導入前の課題
- プロンプトを改善していく際にすぐに実際のデータを使える手段がない
- プロンプトがアプリケーションコード内に書かれていたので、エンジニア以外がプロンプトチューニングをする時の受け渡しが手間
- そもそもプロンプトチューニング自体がすごい手間
- 様々なプロンプトテンプレートに対するインプットの組み合わせがある
- 特に RAG で記憶を埋め込んだりするような文脈情報が多いプロンプトではデータを用意するのが大変
- プロンプトの評価基準が言語化されていない
- プロンプトはそれを持ってどんな体験をユーザに届けたいかの目的があるが、プロンプトの評価基準を最初からバシッと決めるのはおそらく不可能
- なので逐次育てていくことになるが、そのログが取れていないため、後にいじったり他の環境(使用するモデルなど)で試した際にリグレッションが起きてないか確認する術がない
どのような状態を目指していたか
- プロダクトで実際に送られたプロンプトのログが取れる & それをいじれる Playground 、を元にプロンプトチューニングのサイクルを回す
- 評価データセット構築とそれを元に評価を実行するサイクルを回す
比較検討したサービス
- PromptLayer
- W&B Weave
- Langfuse
比較した軸
- ロギング、評価データセットの構築・実行など一通りの機能が一箇所に揃っているか
- お値段
選定理由
LangChain, LangGraphなどのエコシステムとの親和性。LangChainを使っていれば、環境変数を入れるだけでログが取れますし、LangGraphを実行した時にツリー上にログが見れて非常に見やすくなっています。
導入の成果
ロギングはほとんど不満なく、Playgroundも最近かなり改善されたため、プロンプトチューニングを始める場所としては最適だと考えています。また、評価サイクルを回すための土壌も整いました。 これ抜きだとあまり整っていないプロンプトチューニングに時間を割いていたため、最終的な品質の向上や工数削減に繋がりました。
具体のプロセスは弊社のテックブログをご参照ください。 https://techblog.gaudiy.com/entry/2024/07/23/080240
導入に向けた社内への説明
上長・チームへの説明
初導入時はベータ版で無料だったのもあり、特になし。その後有料になったタイミングでは、既に欠かせないものになっていたので説明は不要でした。
活用方法
よく使う機能
- ロギング
- LLMのAPIコールのロギングを行なっています
- LangChainを使っている場合は環境変数をセットするだけです
- Evaluation & Datasets
- データセットをLangSmith上に作って評価を実行しています
- Prompts & Playground
- プロンプトをLangSmithで管理して、PlayGroundで様々な設定を並列に走らせながらチューニングできますし、チューニングをした結果をコードにimportすることもできます。 Playgroundは想像以上に神だと思うので下記紹介記事もご参照ください。 https://zenn.dev/seya/articles/71b6cf48c26d4f
- オンライン評価
- 実際のログに対してルールを設定して自動で評価を走らせたり、手動で人間が評価をして、その結果を使ってFew-shotsを充実させたり、評価基準のアップデートをできたりします。継続的なLLMシステムの改善に重要な機能です。
ツールの良い点
- LangChainエコシステムに乗っかっていれば楽に効果が得られる
- 評価からプロンプト管理、ログからデータセットを育てるなど、LLMシステムを育てていくライフサイクルの全てのステップを1ツールでサポートしてくれる
ツールの課題点
- データセットの取り扱いが微妙。データのメンテナンスにはスプレッドシートのようなフォーマットが望ましいので、マスターデータはスプシで管理 -> スクリプトでLangSmithにインサートをしています。
- シートあたりの課金。1ユーザ月額$39と安くなく、ユーザ数が多いほどレバレッジが効くというツールでもないのでこの料金体系はやめてくれんかなという気持ちがあります。
ツールを検討されている方へ
「LangChainエコシステムに乗っかっていれば楽に効果が得られる」とは言いましたが、LangChainを使ってなくてもデコレータを使ってそこまで手間をかけずにロギングは仕込めます。 LangSmithと比較すると他のツールたちはどこか足りない機能がチラホラある印象だったので、お値段が少しネックではありますが検討してみてはいかがでしょうか。
今後の展望
評価基準に関してもどうメンテナンスしていくかのフォーマットなどのベストプラクティスが固まって、ツールとしてそれがサポートされると盤石になっていくんじゃないかな〜と期待しています。
株式会社Gaudiy / seya
メンバー / フロントエンドエンジニア
株式会社Gaudiy / seya
メンバー / フロントエンドエンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法