商品

Jockey: TwelveLabsのAPIとLangGraphを搭載した会話型ビデオエージェント

ジェームズ・ル、トラビス・クチュール

Jockeyは、LangGraphとTwelve LabsのAPIをベースに構築されたオープンソースの対話型ビデオエージェントです。開発者は自然言語インターフェースを介してビデオコンテンツの検索、編集、テキスト生成を行うことができ、特定のユースケースに合わせてカスタマイズや拡張が可能なモジュール式アーキテクチャを採用しています。

Jockeyは、LangGraphとTwelve LabsのAPIをベースに構築されたオープンソースの対話型ビデオエージェントです。開発者は自然言語インターフェースを介してビデオコンテンツの検索、編集、テキスト生成を行うことができ、特定のユースケースに合わせてカスタマイズや拡張が可能なモジュール式アーキテクチャを採用しています。

この記事の内容

No headings found on page

ニュースレターに登録する

ニュースレターに登録する

ビデオ理解に関する最新の技術進歩、チュートリアル、業界の動向をお届けします

ビデオ理解に関する最新の技術進歩、チュートリアル、業界の動向をお届けします

AIを活用してビデオを検索、分析、探索します。

2024/07/03

5分

記事へのリンクをコピー

TL;DR

LangGraphの柔軟なフレームワークとTwelve Labsの強力な映像理解APIを活用した、先進的な対話型ビデオエージェント「Jockey」をご紹介します。この記事では、Jockeyのアーキテクチャ、LangGraphおよびTwelve Labsとの統合方法、そしてその機能のカスタマイズや拡張方法について解説します。Jockeyの開発協力に対して、LangChainチームに深く感謝申し上げます!

1 - Twelve Labs APIの概要

__wf_reserved_inherit

Twelve Labsは、ビデオコンテンツから豊かなインサイトや情報を引き出す最先端の映像理解APIを提供しています。高度なビデオ基盤モデル(VFM)を活用したこれらのAPIは、事前に生成されたキャプションなどの仲介表現に頼ることなく、ネイティブにビデオを処理します。これにより、視覚、音声、オンスクリーンテキスト、時間的関係など、ビデオ全体のより正確で文脈に沿った理解が可能になります。

Twelve Labs APIの主な機能には、ビデオ検索、分類、要約、Q&Aなどがあります。開発者はこれらのAPIを簡単に統合し、コンテンツ検出、ビデオ編集の自動化、インタラクティブなビデオFAQ、AI生成のハイライト集などの用途向けアプリケーションを構築できます。エンタープライズグレードのセキュリティと、最大級のビデオアーカイブにも対応できるスケーラビリティを備えたTwelve Labs APIは、ビデオを活用したアプリケーションにエキサイティングな新しい可能性を切り拓きます。

2 - LangGraph v0.1およびLangGraph Cloudのローンチ

__wf_reserved_inherit

LangChainは最近、より高い制御性と精度でエージェント型およびマルチエージェント型アプリケーションを構築するためのフレームワークであるLangGraph v0.1をリリースしました。旧来のLangChain AgentExecutorとは異なり、LangGraphはカスタム認知アーキテクチャ向けに柔軟なAPIを提供し、開発者がコードのフロー、プロンプト、LLM呼び出しを制御できるようにします。また、LangGraphは組み込みの永続化レイヤーを通じて、人間とエージェントのコラボレーションを促進し、タスク実行前の人間による承認や、エージェントのアクションを編集・再開するための「タイムトラベル」などの機能を実現します。LangGraphの柔軟性と低レベル制御により、シングルエージェントおよびマルチエージェントのセットアップが可能になると同時に、エージェントの信頼性も向上します。これはReplit、ノルウェージャン・クルーズライン、Elasticなどの企業にとって重要な要素となっています。

LangGraphフレームワークを補完するために、LangChainは現在クローズドベータ版として提供されているLangGraph Cloudも発表しました。LangGraph Cloudは、LangGraphエージェントを展開するために専用設計されたスケーラブルなインフラストラクチャを提供し、水平スケーリングするサーバーとタスクキューを管理して、多数の同時ユーザーを効率的に処理し、大規模な状態を保存します。このプラットフォームは、現在実行中のスレッドで新しいユーザー入力を処理するためのダブルテキスティングや、時間のかかるタスクのための非同期バックグラウンドジョブなど、現実世界のインタラクションパターンをサポートしています。LangGraph Cloudは、エージェントの軌跡を可視化してデバッグするためのツールであるLangGraph Studioと統合されており、エージェント型アプリケーションを構築する開発者の迅速な反復とフィードバックを可能にします。

3 - JockeyがLangGraphとTwelve Labs APIを活用する方法

オープンソースの対話型ビデオエージェントであるJockeyは、最新のv1.1リリースで大幅に進化しました。当初v1.0でLangChain上に構築されたJockeyは、現在LangGraphのパワーを活用しており、フロントエンドとバックエンドの両方の機能でスケーラビリティの向上と機能改善を提供しています。この移行はJockeyのアーキテクチャにおける極めて重要な進歩であり、複雑なビデオワークフローに対するより効率的で精密な制御を可能にします。

__wf_reserved_inherit

その核心において、JockeyはLangGraphの柔軟なフレームワークを通じて、大規模言語モデル(LLM)の強みとTwelve Labsの専門的なビデオAPIを組み合わせています。上の画像に示すLangGraphのUIは、Jockeyの意思決定プロセスを構成するノードの複雑なネットワークを示しています。これには、スーパーバイザー、プランナー、ビデオ編集、ビデオ検索、ビデオテキスト生成ノードなどの主要なコンポーネントが含まれ、それぞれがユーザーのクエリを処理し、ビデオ関連のタスクを実行する上で重要な役割を果たしています。

LangGraphを採用する主な利点の1つは、ワークフローの各ステップを細かく制御できることです。これによりJockeyは、ノード間でどの情報を渡すか、またノードの応答が全体のステートにどのように寄与するかを正確に管理できます。このような微調整された制御は、トークン使用量を最適化するだけでなく、ノードの応答をより正確にガイドすることを可能にし、結果としてより効率的で効果的なビデオ処理を実現します。

__wf_reserved_inherit

上記のJockeyのデータフロー図は、システム内を情報がどのように移動するかを明確に視覚化しています。初期のクエリ入力から始まり、LangGraphの分析によるクエリの複雑さの判断、そして単純なテキスト応答またはより複雑なビデオ処理ステップの連鎖へのその後のルーティングに至る意思決定プロセスを示しています。これには、Twelve Labs APIからのビデオの取得、必要に応じたビデオコンテンツの結合またはセグメント化、そして最終的な結果のユーザーへの提示が含まれます。

LangGraphのスケーラブルなアーキテクチャとTwelve Labsの強力なビデオAPIを活用することで、Jockeyはビデオの理解と操作に対する高度なアプローチを提示しています。この組み合わせにより、ビデオ検索や編集から、ビデオコンテンツに基づくテキスト生成に至るタスクのシームレスな処理が可能になり、そのすべてがインテリジェントな対話型インターフェースを通じて統合管理されます

4 - Jockeyアーキテクチャの概要

__wf_reserved_inherit

Jockeyのアーキテクチャは、高度なマルチエージェントシステムを通じて、複雑なビデオ関連タスクを効率的に処理できるように設計されています。上の図に示すように、システムは主に3つのコンポーネントで構成されています。スーパーバイザー(Supervisor)プランナー(Planner)、そしてワーカー(Workers)であり、それぞれがユーザーリクエストの処理とビデオ関連タスクの実行において重要な役割を担っています。

スーパーバイザーは中央のコーディネーターとして機能し、異なるノード間でのタスクのルーティングと全体ワークフローの管理を担当します。ユーザーの入力を受け取って、複雑なリクエストに対してプランナーを関与させるか、あるいは特定のワーカーにタスクを指示するかといった、次の行動方針を決定します。また、スーパーバイザーはエラー回復を処理し、システムが現在の計画を遵守するようにするか、必要に応じて再計画を開始します。

プランナーは、複雑なユーザーリクエストに対して詳細な段階的計画を作成するために、スーパーバイザーから呼び出されます。このコンポーネントは、複雑なタスクを、ワーカーが実行できる管理可能なステップに分解するために不可欠です。プランナーの役割は、戦略的なアプローチを必要とするマルチステップのビデオ処理ワークフローを扱う際に特に重要となります。

ワーカーセクションは、次の2つの主要なコンポーネントで構成されています。

  1. インストラクター(Instructor):プランナーの戦略に基づいて、個々のワーカー向けに正確で完全なタスク指示を生成します。

  2. 実際のワーカー:利用可能なツールを使用して指示を実行する、専門化されたエージェントです。これらには、ビデオ検索ビデオテキスト生成、そしてビデオ編集機能が含まれます。

このアーキテクチャにより、Jockeyは幅広いビデオ関連タスクを柔軟かつ正確に処理することができます。システムは、単純なテキスト応答から複雑なビデオ操作タスクに及ぶまで、さまざまなタイプのクエリに動的に適応できます。LangGraphのフレームワークを活用することで、Jockeyはノード間のステートを効率的に管理し、トークン使用量を最適化し、ビデオ処理ワークフローの各ステップの実行を細かく制御できます。

5 - Jockeyのカスタマイズ

Jockeyのモジュール設計は、カスタマイズや拡張も容易にします。開発者はプロンプトを変更したり、より複雑なシナリオを処理するためにステートを拡張したり、特定のユースケースに対応するために新しいワーカーを追加したりできるため、Jockeyは高度なビデオAIアプリケーションを構築するための汎用性の高い基盤となります。

機能としてのプロンプト(Prompt as a Feature)

このアプローチは、Jockeyの言語モデル機能を活用して、基盤となるコードを変更することなく、新しい機能を導入します。たとえば、コアシステムを変更することなく、アクションシーケンスやエモーショナルな瞬間など、ビデオから特定の種類のシーンを特定して抽出するようJockeyに指示するプロンプトを作成できます。

Jockeyの拡張または変更

より実質的なカスタマイズを行うために、開発者はJockeyのコンポーネントを直接変更できます

  1. プロンプトの変更:スーパーバイザー、プランナー、ワーカーなど、Jockeyのさまざまなコンポーネントで使用されている既存のプロンプトを編集できます。これにより、システムの決定プロセスや出力生成を微調整できます。

  2. ステートの拡張または変更:Jockeyのステート管理を拡張して追加情報を含めたり、新しいタイプのデータを処理するように変更したりできます。これは、Jockeyを他のシステムと統合する場合や、専門的なビデオメタデータを処理する場合に特に便利です。ステートオブジェクトに新しいフィールドを追加したり、既存のステート情報が処理されてコンポーネント間で渡される方法を変更したりできます。

  3. ワーカーの追加または変更:高度なビデオエフェクトやビデオ生成などのタスク用の新しい専門ワーカーを作成したり、既存のワーカーを変更して機能を強化したり、新しいAPIと統合したり、インストラクターが新しいタスクタイプを処理するためのカスタムロジックを実装したりできます。

6 - JockeyとTwelve Labs APIを試す

Jockeyは、LangGraphの柔軟なエージェントフレームワークとTwelve Labsの最先端の映像理解APIの強力な融合を象徴しており、インテリジェントなビデオ処理とインタラクションの新しい可能性を切り拓きます。開始するには、JockeyのGitHubリポジトリにアクセスし、ソースコードとドキュメントを確認してください:https://github.com/twelvelabs-io/tl-jockey。開発やテストのためにJockeyをローカルにデプロイすることも、スケーラブルなプロダクション展開のためにLangGraph Cloudを活用することもできます。

Jockeyを実行するには、Twelve Labsのアカウントに登録し、https://playground.twelvelabs.io/ からAPIキーを取得する必要があります。Twelve Labsの包括的なビデオ理解ツール群とJockeyのインテリジェントなオーケストレーションがあれば、これまでにない容易さと正確さでビデオコンテンツを検索、分析、操作できる、次世代のビデオ活用アプリケーションを構築する準備が十分に整います。

最後に、Jockeyでの作業中に質問がある場合や問題が発生した場合は、Twelve LabsのMultimodal Minds Discordサーバーにぜひご参加ください!

TL;DR

LangGraphの柔軟なフレームワークとTwelve Labsの強力な映像理解APIを活用した、先進的な対話型ビデオエージェント「Jockey」をご紹介します。この記事では、Jockeyのアーキテクチャ、LangGraphおよびTwelve Labsとの統合方法、そしてその機能のカスタマイズや拡張方法について解説します。Jockeyの開発協力に対して、LangChainチームに深く感謝申し上げます!

1 - Twelve Labs APIの概要

__wf_reserved_inherit

Twelve Labsは、ビデオコンテンツから豊かなインサイトや情報を引き出す最先端の映像理解APIを提供しています。高度なビデオ基盤モデル(VFM)を活用したこれらのAPIは、事前に生成されたキャプションなどの仲介表現に頼ることなく、ネイティブにビデオを処理します。これにより、視覚、音声、オンスクリーンテキスト、時間的関係など、ビデオ全体のより正確で文脈に沿った理解が可能になります。

Twelve Labs APIの主な機能には、ビデオ検索、分類、要約、Q&Aなどがあります。開発者はこれらのAPIを簡単に統合し、コンテンツ検出、ビデオ編集の自動化、インタラクティブなビデオFAQ、AI生成のハイライト集などの用途向けアプリケーションを構築できます。エンタープライズグレードのセキュリティと、最大級のビデオアーカイブにも対応できるスケーラビリティを備えたTwelve Labs APIは、ビデオを活用したアプリケーションにエキサイティングな新しい可能性を切り拓きます。

2 - LangGraph v0.1およびLangGraph Cloudのローンチ

__wf_reserved_inherit

LangChainは最近、より高い制御性と精度でエージェント型およびマルチエージェント型アプリケーションを構築するためのフレームワークであるLangGraph v0.1をリリースしました。旧来のLangChain AgentExecutorとは異なり、LangGraphはカスタム認知アーキテクチャ向けに柔軟なAPIを提供し、開発者がコードのフロー、プロンプト、LLM呼び出しを制御できるようにします。また、LangGraphは組み込みの永続化レイヤーを通じて、人間とエージェントのコラボレーションを促進し、タスク実行前の人間による承認や、エージェントのアクションを編集・再開するための「タイムトラベル」などの機能を実現します。LangGraphの柔軟性と低レベル制御により、シングルエージェントおよびマルチエージェントのセットアップが可能になると同時に、エージェントの信頼性も向上します。これはReplit、ノルウェージャン・クルーズライン、Elasticなどの企業にとって重要な要素となっています。

LangGraphフレームワークを補完するために、LangChainは現在クローズドベータ版として提供されているLangGraph Cloudも発表しました。LangGraph Cloudは、LangGraphエージェントを展開するために専用設計されたスケーラブルなインフラストラクチャを提供し、水平スケーリングするサーバーとタスクキューを管理して、多数の同時ユーザーを効率的に処理し、大規模な状態を保存します。このプラットフォームは、現在実行中のスレッドで新しいユーザー入力を処理するためのダブルテキスティングや、時間のかかるタスクのための非同期バックグラウンドジョブなど、現実世界のインタラクションパターンをサポートしています。LangGraph Cloudは、エージェントの軌跡を可視化してデバッグするためのツールであるLangGraph Studioと統合されており、エージェント型アプリケーションを構築する開発者の迅速な反復とフィードバックを可能にします。

3 - JockeyがLangGraphとTwelve Labs APIを活用する方法

オープンソースの対話型ビデオエージェントであるJockeyは、最新のv1.1リリースで大幅に進化しました。当初v1.0でLangChain上に構築されたJockeyは、現在LangGraphのパワーを活用しており、フロントエンドとバックエンドの両方の機能でスケーラビリティの向上と機能改善を提供しています。この移行はJockeyのアーキテクチャにおける極めて重要な進歩であり、複雑なビデオワークフローに対するより効率的で精密な制御を可能にします。

__wf_reserved_inherit

その核心において、JockeyはLangGraphの柔軟なフレームワークを通じて、大規模言語モデル(LLM)の強みとTwelve Labsの専門的なビデオAPIを組み合わせています。上の画像に示すLangGraphのUIは、Jockeyの意思決定プロセスを構成するノードの複雑なネットワークを示しています。これには、スーパーバイザー、プランナー、ビデオ編集、ビデオ検索、ビデオテキスト生成ノードなどの主要なコンポーネントが含まれ、それぞれがユーザーのクエリを処理し、ビデオ関連のタスクを実行する上で重要な役割を果たしています。

LangGraphを採用する主な利点の1つは、ワークフローの各ステップを細かく制御できることです。これによりJockeyは、ノード間でどの情報を渡すか、またノードの応答が全体のステートにどのように寄与するかを正確に管理できます。このような微調整された制御は、トークン使用量を最適化するだけでなく、ノードの応答をより正確にガイドすることを可能にし、結果としてより効率的で効果的なビデオ処理を実現します。

__wf_reserved_inherit

上記のJockeyのデータフロー図は、システム内を情報がどのように移動するかを明確に視覚化しています。初期のクエリ入力から始まり、LangGraphの分析によるクエリの複雑さの判断、そして単純なテキスト応答またはより複雑なビデオ処理ステップの連鎖へのその後のルーティングに至る意思決定プロセスを示しています。これには、Twelve Labs APIからのビデオの取得、必要に応じたビデオコンテンツの結合またはセグメント化、そして最終的な結果のユーザーへの提示が含まれます。

LangGraphのスケーラブルなアーキテクチャとTwelve Labsの強力なビデオAPIを活用することで、Jockeyはビデオの理解と操作に対する高度なアプローチを提示しています。この組み合わせにより、ビデオ検索や編集から、ビデオコンテンツに基づくテキスト生成に至るタスクのシームレスな処理が可能になり、そのすべてがインテリジェントな対話型インターフェースを通じて統合管理されます

4 - Jockeyアーキテクチャの概要

__wf_reserved_inherit

Jockeyのアーキテクチャは、高度なマルチエージェントシステムを通じて、複雑なビデオ関連タスクを効率的に処理できるように設計されています。上の図に示すように、システムは主に3つのコンポーネントで構成されています。スーパーバイザー(Supervisor)プランナー(Planner)、そしてワーカー(Workers)であり、それぞれがユーザーリクエストの処理とビデオ関連タスクの実行において重要な役割を担っています。

スーパーバイザーは中央のコーディネーターとして機能し、異なるノード間でのタスクのルーティングと全体ワークフローの管理を担当します。ユーザーの入力を受け取って、複雑なリクエストに対してプランナーを関与させるか、あるいは特定のワーカーにタスクを指示するかといった、次の行動方針を決定します。また、スーパーバイザーはエラー回復を処理し、システムが現在の計画を遵守するようにするか、必要に応じて再計画を開始します。

プランナーは、複雑なユーザーリクエストに対して詳細な段階的計画を作成するために、スーパーバイザーから呼び出されます。このコンポーネントは、複雑なタスクを、ワーカーが実行できる管理可能なステップに分解するために不可欠です。プランナーの役割は、戦略的なアプローチを必要とするマルチステップのビデオ処理ワークフローを扱う際に特に重要となります。

ワーカーセクションは、次の2つの主要なコンポーネントで構成されています。

  1. インストラクター(Instructor):プランナーの戦略に基づいて、個々のワーカー向けに正確で完全なタスク指示を生成します。

  2. 実際のワーカー:利用可能なツールを使用して指示を実行する、専門化されたエージェントです。これらには、ビデオ検索ビデオテキスト生成、そしてビデオ編集機能が含まれます。

このアーキテクチャにより、Jockeyは幅広いビデオ関連タスクを柔軟かつ正確に処理することができます。システムは、単純なテキスト応答から複雑なビデオ操作タスクに及ぶまで、さまざまなタイプのクエリに動的に適応できます。LangGraphのフレームワークを活用することで、Jockeyはノード間のステートを効率的に管理し、トークン使用量を最適化し、ビデオ処理ワークフローの各ステップの実行を細かく制御できます。

5 - Jockeyのカスタマイズ

Jockeyのモジュール設計は、カスタマイズや拡張も容易にします。開発者はプロンプトを変更したり、より複雑なシナリオを処理するためにステートを拡張したり、特定のユースケースに対応するために新しいワーカーを追加したりできるため、Jockeyは高度なビデオAIアプリケーションを構築するための汎用性の高い基盤となります。

機能としてのプロンプト(Prompt as a Feature)

このアプローチは、Jockeyの言語モデル機能を活用して、基盤となるコードを変更することなく、新しい機能を導入します。たとえば、コアシステムを変更することなく、アクションシーケンスやエモーショナルな瞬間など、ビデオから特定の種類のシーンを特定して抽出するようJockeyに指示するプロンプトを作成できます。

Jockeyの拡張または変更

より実質的なカスタマイズを行うために、開発者はJockeyのコンポーネントを直接変更できます

  1. プロンプトの変更:スーパーバイザー、プランナー、ワーカーなど、Jockeyのさまざまなコンポーネントで使用されている既存のプロンプトを編集できます。これにより、システムの決定プロセスや出力生成を微調整できます。

  2. ステートの拡張または変更:Jockeyのステート管理を拡張して追加情報を含めたり、新しいタイプのデータを処理するように変更したりできます。これは、Jockeyを他のシステムと統合する場合や、専門的なビデオメタデータを処理する場合に特に便利です。ステートオブジェクトに新しいフィールドを追加したり、既存のステート情報が処理されてコンポーネント間で渡される方法を変更したりできます。

  3. ワーカーの追加または変更:高度なビデオエフェクトやビデオ生成などのタスク用の新しい専門ワーカーを作成したり、既存のワーカーを変更して機能を強化したり、新しいAPIと統合したり、インストラクターが新しいタスクタイプを処理するためのカスタムロジックを実装したりできます。

6 - JockeyとTwelve Labs APIを試す

Jockeyは、LangGraphの柔軟なエージェントフレームワークとTwelve Labsの最先端の映像理解APIの強力な融合を象徴しており、インテリジェントなビデオ処理とインタラクションの新しい可能性を切り拓きます。開始するには、JockeyのGitHubリポジトリにアクセスし、ソースコードとドキュメントを確認してください:https://github.com/twelvelabs-io/tl-jockey。開発やテストのためにJockeyをローカルにデプロイすることも、スケーラブルなプロダクション展開のためにLangGraph Cloudを活用することもできます。

Jockeyを実行するには、Twelve Labsのアカウントに登録し、https://playground.twelvelabs.io/ からAPIキーを取得する必要があります。Twelve Labsの包括的なビデオ理解ツール群とJockeyのインテリジェントなオーケストレーションがあれば、これまでにない容易さと正確さでビデオコンテンツを検索、分析、操作できる、次世代のビデオ活用アプリケーションを構築する準備が十分に整います。

最後に、Jockeyでの作業中に質問がある場合や問題が発生した場合は、Twelve LabsのMultimodal Minds Discordサーバーにぜひご参加ください!