
OpenAI DevDay 2024 | コミュニティスポットライト | Mindtrip
3,634 文字
Mindtripの共同創業者のガリック・トゥバッシです。そしてより重要なのは、私が皆さんとランチの間に立っているということですね。90分という短い時間なので、みんなで協力すれば終われると思います。冗談です。Mindtripでのマルチモーダル入力に関する取り組みについて少しお話しさせていただきます。
ネタバレになりますが、新しいリアルタイムAPIについてはあまり触れません。そのプロトタイプ開発は行っていますが、それについては最後にコメントする程度にとどめ、主に皆さんがすでによく知っているChat CompleteのAPIでできる素晴らしいことについてお話しします。では、始めましょう。
まず、Mindtripとは何なのか?MindtripはあなたのためのAI搭載の旅行プラットフォームです。私たちには、インスピレーションと発見から、プランニング、他の旅行者とのコラボレーション、予約、そして実際の旅行中のサポートまで、旅行のライフサイクル全体をサポートするという野心的な目標があります。
これは私の唯一のマーケティングスライドで、CMOは喜んでくれると思います。このスライドは全デッキの中で最高の制作価値を持っています。ここからは下り坂ですね。でも実際に何を話しているのでしょうか?私たちが旅行についてのアイデアを出し始めたとき、多くの人がそうしたように、ChatGPTから始めました。もちろん、私もChatGPTが大好きで、よく使っています。
しかし、旅行プランニングをする時、結局は不活性なテキストが残されるだけで、いわば祭壇の前で立ち往生してしまいます。実際に旅行を計画したり、アクションを起こしたりすることはできません。多くのLLMベースのアプリケーションにおける課題は、この不活性なテキストをどのようにアクション可能で生きたものにするかということだと思います。Mindtripでは、会話内のエンティティを接続し、地図上に配置するなどができます。
写真もあれば、レビューもあります。ちなみに、これは少し見覚えがありませんか?あのWanderlustのデモですよね。記録のために言っておきますと、私たちが先でした。彼らは私たちの初期デモを見て、1年前のDevDayで少し使わせてもらってもいいかと尋ねてきました。それはとてもクールですね。
私たちの多くの取り組みは、テキストを生きた、アクション可能なものにすることです。それは素晴らしいことです。次に、人々が旅行プランニングを始める際に、どこからインスピレーションを得ているのかを調べました。インターネット上には旅行プランニングのきっかけとなる素晴らしいコンテンツがたくさんあることがわかりました。
しかし、ここでも同じ問題を目にします。不活性で、アクション不可能なコンテンツが多いのです。ブログ記事や旅行記事、長編ビデオや短編のソーシャルビデオ、あるいは単なるインスピレーション的な画像であっても、これらのどれもが有用で活気のある旅行プランニングの種となれるようにしたいと考えています。
ここでスライドから離れて、クイックデモをお見せしましょう。これがMindtripの空の会話画面です。ある面白いブログ記事に出会ったとしましょう。誰かがポルトガルの一部である大西洋の真ん中にある興味深い島について書いています。
Mindtripに行って「これを基に旅行を計画して」と言うだけです。すると、その記事のイテレーリーが構造化された形で忠実に表現されます。地図上にスポットが表示されます。あの面白い洞窟はどこにあるのか見てみましょう。はい、洞窟はここです。
あなたのために下書きした旅程があるので、それを調整することができ、すべて準備が整っています。これは面白いですが、観察力のある聴衆の方々は気づいたと思いますが、まだマルチモーダルなことは何もしていません。まだLLMテキストの領域内にいます。
では、もう少し面白いことを試してみましょう。ブログ記事の代わりに、誰かが私に画像を送ってきた、あるいはインターネットで画像を見つけたとしましょう。これをコピー&ペーストするだけです。アップロードやドラッグ&ドロップもできます。これから始めて、新しい会話で「ここに行きたい」と言います。
これは適切な年齢層の方には「30 Rock」のリファレンスとわかるでしょう。ここでは画像を直接GPT-4oに送っています。それができるのを知っていましたか?直接送れるんです。PhDは必要ありません。すぐに画像の解釈が得られ、いくつかのクールな提案が出てきました。
これが画像についてです。では、ビデオはどうでしょうか?ビデオにはさまざまな形態やサイズがありますが、私がかなりクールでヒップな若者だということはお分かりだと思いますので、私はスナックサイズのソーシャルビデオが大好きです。よくキャプションベースで、背景には酔っぱらったようなサウンドトラックが流れているものです。ここにそんな例があります。
[スティーブン・サンチェスの「Until I Found You」が流れる]
ええ、これは旅行気分を盛り上げてくれますね。これはロンドンに関するいくつかのおすすめです。ここで「おすすめに基づいて旅行を計画して」と入力できます。するとロンドンだと認識して、それらの場所を地図上にプロットし始め、再び下書きのイテレーリーを作成します。
これは全部かなりいい感じですね。では、少し内部の仕組みについて話し、スライドに戻りましょう。まず、超明確にしておきたいのですが、Chat Complete APIには画像とテキストという2つのデータタイプがあります。画像を扱う場合は、その画像の意味的価値が何なのかを考える価値があります。あの素敵な洞窟のように視覚的なものであれば、おそらくGPT-4oに直接送るだけでいいでしょう。
画像内にテキストコンテンツがある場合は、OCRを行うための別の会話を行い、その結果のテキストを最終的な回答生成に送ることをお勧めします。ビデオは少し厄介です。ビデオはモデルで直接サポートされているネイティブタイプではないので、少し工夫が必要です。
again, what semantic value can extract from the video?(ビデオから抽出できる意味的価値は何か)を決める必要があります。価値の高い音声トランスクリプトがある場合は、そのトランスクリプトを取得し、FFmpegでビデオから抽出して、音声テキスト変換APIを使用できます。私たちはOpenAIのWhisperモデルを使用していますが、音声テキスト変換APIは素晴らしく機能します。
これでテキストが得られ、作業を進めることができます。また、純粋に視覚的なコンテンツだけのビデオもあるかもしれません。その場合は、フレームのサンプリング方法を決める必要があります。FFmpegなどでフレームを抽出してモデルに送るか、あるいはあのソーシャルビデオのようにテキストキャプションがある場合は、フレームをサンプリングしてOCRを行い、結果のテキストをモデルに送る方法を考える必要があります。
運用面では、当たり前かもしれない細かい詳細がいくつかあります。モデルに画像を送る際は、URLを提供するか、データURLとしてインラインで行うことができます。私たちはS3にホストしてURLを送っています。そして、音声テキスト変換やOCRなどの後処理を行う場合は、それらをキャッシュすることができます。つまり、少しホットなコンテンツがある場合は、お金を節約し、ユーザーの待ち時間を短縮できます。これはウィンウィンですね。
最後に、いくつか考えを述べさせてください。新しいリアルタイムAPIを試す機会がありましたが、これはかなり素晴らしいものです。APIの形は非常に異なりますが、それは本質的に異なるものだからです。リアルタイムをサポートしたい、特に中断に関するセマンティクスをサポートしたいという興味深い課題があるからです。
これはとても素晴らしく、私たちはそれに興奮しています。先ほどのデモから、私たちの製品でリアルタイム音声についてどのようなことができるか想像できたかもしれません。しかし、私たちにとって画像や既存のマルチモーダル機能を使うことは、インスピレーションと行動、予約を結びつけるのに役立ちます。
一般的に、あなたのアプリケーション領域が何であれ、会話を始めるために活用できる既存のエコシステム内のコンテンツがあるかどうかを考える価値があると思います。そうすれば、ユーザーを事前に用意されたプロンプトや、点滅するカーソル、空白のページ現象に置き去りにすることはありません。
以上が私からの考えです。質問がありましたら、お気軽に連絡してください。ご清聴ありがとうございました。