信頼性の高い大規模言語モデル(LLM)アプリケーションを構築する際の最大の課題の1つは、人工知能(AI)システムが一度導入されると、なぜ失敗したり予期せぬ動作をしたりするのかを理解することです。開発者はしばしば、バグの追跡やプロンプトの微調整、エッジ・ケース全体のパフォーマンスの評価、または複雑なエージェント・ワークフローにおけるツールの使用やメモリーの問題のデバッグに苦労します。LangChainの開発チームによって開発されたLangSmithは、これらの課題に対処するための堅牢なソリューションを提供します。大規模言語モデルで構築されたアプリケーションの監視、デバッグ、評価のための専用プラットフォームとして機能します。開発者は、LLMアプリをより堅牢で実稼働対応にするように設計された統合インターフェース内で、トレースの検査、パフォーマンスの監視、さまざまなプロンプト・バージョンのテスト、外部ツールとメモリーの使用状況のリアルタイム追跡を行うことができます。
LangChainとLangSmithはLLMの開発をサポートするツールですが、それぞれのツールの目的は異なります。
LangChainはオープンソースのPythonフレームワークで、LLMアプリケーションの構築とデプロイメントを簡素化します。チェーン、エージェント、メモリーなどのモジュール式ビルディング・ブロックを使用して、複数のLLMコンポーネントを構造化されたワークフローに接続します。これらのコンポーネントにより、LLMを外部ツール、アプリケーション・プログラミング・インターフェース(API)およびデータ・ソースと統合して、複雑なアプリケーションを構築できます。単一のモデルに依存するのではなく、テキスト理解、応答生成、推論などのタスクのためのモデルの連鎖をサポートし、各ステップが最後に構築できるようにします。LangChainは、再利用可能なテンプレートを通じてプロンプト・エンジニアリングをサポートし、LangGraphと統合してワークフローを視覚的に設計します。この機能は、コンテキスト処理と論理的な進行を必要とする会話型エージェントやAIシステムの構築に特に強力です。
さらに、LangSmithはLangChainの開発機能の運用上のバックボーンです。LangChainはワークフローの構築を支援しますが、LangSmithは複雑なAIシステムのデバッグ、監視、管理のためのツールを提供することで、ワークフローがスムーズに実行されるように支援します。LangSmithは、モデルの動作を詳細に可視化するため、パフォーマンスの問題を特定し、エラーを追跡し、リアルタイムで応答を最適化することが容易になります。また、複数のモデルとパイプラインにわたるオーケストレーションもサポートしているため、シームレスなデプロイメントと調整が可能です。LangSmithは、TensorFlowやKubernetesなどの外部ツールとのシームレスな統合を提供します。また、AWS、GCP、Azureなどの主要なクラウド・プロバイダーと統合することも可能で、ハイブリッド・セットアップやオンプレミスでのデプロイメントに対する堅牢なサポートも提供します。LangSmithは、チャットボットや、AIエージェント、バーチャル・アシスタント、会話型インターフェースなどの対話型システムを含む、現実世界のAIアプリケーション開発をサポートします。この機能は、開発者のワークフローの合理化に役立ちます。
LangChainとLangSmithは協力して、プロトタイピングから実稼働までの開発プロセス全体を簡素化します。
LangSmithは、LangChainを使用しているか、カスタム・パイプラインを構築しているかに関係なく、LLMアプリケーション・スタックに自らを組み込むことによって運営され、開発および実稼働のあらゆる段階で可視性、トレーサビリティー、およびコントロールを提供します。それぞれのLLMのやり取りから詳細なデータをキャプチャーして視覚化し、開発者が問題を特定し、解決策をテストし、性能を最適化するのに役立ちます。
LangSmithの主な機能は次のとおりです。
デバッグ
テスト
評価版
モニタリング
LLMアプリケーションには、複雑な推論パス、動的なツールの使用、および複数ステップの連鎖が含まれることがよくあります。無限ループや不正なアウトプット、ツール呼び出しの失敗などのエラーが発生した場合、従来のデバッグ手法では不十分です。LangSmithは、LLMとの各やり取りを詳細かつ順次に可視化し、プロセス全体にわたる明確なトレーサビリティーを確保します。LangChain Expression Language(LCEL)を使用して、アプリケーションのステップバイステップのデータ・フローをトレース、追跡、表示します。この可視性は、長い応答時間、エラー、または予期しない動作のトラブルシューティングに役立ちます。LangSmithは、LLM呼び出しトレースを表示するための豊富な視覚化ツールを提供し、開発者が複雑なワークフローを簡単に理解してデバッグできるように支援します。開発者は、個々のプロンプトと応答、チェーンとエージェント内の中間ステップ、ツール呼び出しとそれに対応する出力を検査できます。このきめ細かな可視性により、問題の迅速な特定と解決が可能になり、開発時間が大幅に短縮され、アプリケーションの安定性が向上します。
LLMアプリケーションは、プロンプトの最適化、チェーンロジックの調整、モデル・パラメーターの変更など、頻繁に更新する必要があります。こうした変更が回帰を引き起こさないようにすることが不可欠です。LangSmithはデータ・セット駆動型のテストをサポートしており、開発者はアプリケーション・バージョン全体で事前定義またはカスタム・テスト・スイートを実行し、アウトプットを視覚的かつ意味論的に比較し、本番環境にデプロイする前に動作の変化を特定できます。このテストにより、厳格な品質保証が促進され、安全で反復的な開発が促進されます。LangSmithの自動評価のサポートにより、チームはプロンプト設計とモデル・パラメーターを迅速に反復し、一貫した品質を確保することができます。
機能的な正確さだけでなく、LLMが生成したアウトプットの品質は、ビジネスとユーザーの期待に対して継続的に評価される必要があります。LangSmithは、精度、関連性、一貫性などのさまざまな側面にわたって性能を評価するための、組み込み評価ツールとカスタマイズ可能な評価ツールの両方を提供します。LangSmithの評価機能を使用することで、チームはデータ・セット全体のパフォーマンスをベンチマークし、プロンプトのバリエーションや、ユーザー体験を低下させるエッジ・ケースを明らかにし、明確なメトリクスで改善または回帰を追跡することができます。この構造化された評価プロセスは、LLMシステムの有効性と正確性を維持し、意図した結果に沿っていることを保証するのに役立ちます。
LLMアプリケーションを本番環境に導入するには、一貫したパフォーマンスと即時のインシデント対応を確保するための堅牢な監視が必要です。LangSmithは、実行、遅延、エラー率のリアルタイムログ、迅速なインシデント・レポートのためのアラート・システムとの統合、使用パターンやシステムの健全性に関する洞察を提供するダッシュボードなど、LLMワークフローのエンド・ツー・エンドのオブザーバビリティーを提供します。この運用インテリジェンスにより、エンジニアリング・チームはアプリケーションの動作を積極的に管理できるようになり、ライブ環境での信頼性と応答性を確保できます。LangSmithによる実際のデプロイメント監視は、チームがインシデント対応を合理化し、堅牢なシステム健全性を維持するのに役立ちます。
LangSmithは、開発者がAIアプリケーションを簡単に構築および管理できるようにする、シンプルなPython SDKを使用しています。OpenAIのGPTなどのAIモデルと接続し、検索拡張生成(RAG)などの手法を使用してこれらのモデルの動作を改善します。APIキーを使用することで、開発者はChatGPTに基づくものも含めAIエージェントを追跡およびデバッグし、生成AIプロジェクトですべてがスムーズに実行され、適切に機能することを確認できます。
例えば、この研究では、特にNLP分野で英語で学術論文を作成する際に非ネイティブな研究者を支援するLangSmithエディターを紹介しています。このシステムは、大まかな草案に基づくテキストの改訂の提案、文脈に応じたテキストの完成、文法またはスペルの誤りの修正という3つの主要な機能を備えています。[1]結果として、LangSmithは、特に人間と機械のコラボレーションが伴う場合に、ドラフト改訂の品質を向上させ、ネイティブ以外のライターでもより流暢かつ構文的に適切な学術テキストを作成できることが実証されました。このシステムは、科学コミュニケーションにおける言語の壁を下げることにより、ダイバーシティーとインクルージョンを強化します。この例では、LangSmithが学術論文における人間とAIのコラボレーションを改善することで、データサイエンス研究を促進した実世界のユースケースを紹介します。このようなユースケースは、AIが主導するさまざまな分野で包括性と生産性を向上させるLangSmithの能力を示しています。
ソフトウェア開発ライフサイクル(SDLC)を自動化するAIエージェントを構築する企業であるFactory社は、企業環境における安全で信頼性の高いLLM運用を確保するためにLangSmithを使用しています[2]。LangSmithをAWS CloudWatchと統合し、LLMパイプライン全体で完全なトレーサビリティーを実現し、より高速なデバッグとより優れたコンテキスト管理を可能にしました。LangSmithのフィードバックAPIを使用して、実際のユーザー インプットに基づいて迅速な評価とプロンプトの調整を自動化しました。これにより、イテレーション速度が2倍になり、オープン・マージ・タイムが20%短縮されたため、LangSmithはAI開発とオブザーバビリティー・ワークフローにおいて重要な役割を担うようになりました。
オールインワン・プラットフォーム:LangSmithは、デバッグ、テスト、デプロイメント、監視など、すべてのコア機能を単一の一貫したプラットフォームに統合します。実際のデプロイメント監視は、チームがインシデント対応を合理化し、堅牢なシステムヘルスを維持するのに役立ちます。クリーンで開発者向けのインターフェースにより、複数のツールを切り替えることなく、複雑なワークフローを簡単にナビゲートし、プロジェクトを効率的に管理できます。
堅牢なデバッグと評価:詳細なトレース分析、プロンプト・テスト、データ・セット管理ツールを提供します。これらツールは、問題の特定、パフォーマンスの測定、LLMの動作の精度の向上に役立ちます。
エンタープライズ対応の拡張性:大容量の生産グレードのアプリケーションをサポートするように設計されており、複雑なAIシステムを構築および保守するエンタープライズ・チームに最適です。
初心者にとって急な学習曲線:LangSmithは、LLMツールとDevOpsプロセスをしっかりと理解する必要があり、初心者にとっては始めやすいものではないため、初心者にとっては困難なことがあります。
LangChainエコシステムへの強い依存:LangSmithはLangChainと深く結びついています。これは、そのフレームワークのユーザーにとっては素晴らしいことですが、他のオーケストレーション・ツールやカスタム・スタックを使用しているユーザーにとってはそれほど役に立たない可能性があります。
大規模プロジェクトの拡張性とコスト:企業で使用する場合、特に頻繁な評価、大規模なトレース・ストレージ、または高度な分析を扱う場合、コストが規模が大きくなる可能性があります。
LangChain、LangSmith、またはその両方の組み合わせのいずれかを選択するかは、LLMアプリケーションの特定の要件によって異なります。LangChainは、複雑な言語モデルワークフローの設計とプロトタイピングに適しており、外部ツールやAPIとの統合を可能にします。本番環境に移行する準備ができ、LLMアプリケーションのデバッグ、テスト、監視、保守を大規模に行うための堅牢なツールが必要な場合は、LangSmithを使用してください。これらのプラットフォームを組み合わせて使用すると、高品質のLLMアプリケーションを構築、デプロイ、維持するための包括的でスケーラブルなソリューションが得られます。
1 Ito, T., Kuribayashi, T., Hidaka, M., Suzuki, J., & Inui, K. (2020). Langsmith: An interactive academic text revision system. arXiv preprint arXiv:2010.04332.
2LangChain。(2024, June 19). How Factory used LangSmith to automate their feedback loop and improve iteration speed by 2x. LangChain Blog. https://blog.langchain.dev/customers-factory/
RAGアプリケーション構築を合理化。企業のナレッジ・ベースを活用して、RAGパイプラインを構築、最適化、デプロイします。
IBMの業界をリードするAIの専門知識とソリューションのポートフォリオを活用して、AIをビジネスの業務に利用しましょう。
AIの導入によって重要なワークフローと業務を再構築し、エクスペリエンスの最大化、リアルタイムの意思決定、ビジネス価値の向上を実現しましょう。