- Events
ドラッグ&ドロップLLM:FlowiseAIとMilvusでRAGを簡素化
ウェビナー
ドラッグ&ドロップLLM:FlowiseAIとMilvusでRAGを簡素化
Join the Webinar
Loading...
セッションについて
FlowiseAIのHenry Heng氏を迎えた詳細なウェビナーにぜひご参加ください。このセッションでは、Retrieval Augmented Generation(RAG)の重要な役割に特に焦点を当てながら、カスタマイズされた大規模言語モデル(LLM)を構築する方法を探ります。主要なベクトルデータベースであるMilvusが、RAGプロセス内で効率的なデータ検索と生成の基盤として機能し、FlowiseAIとシームレスに統合されてLLMの能力を高める方法をご紹介します。
主なポイント
- LLMフローを構築するためのFlowiseAIのオープンソースUIビジュアルツールの概要を把握できます。
- 主要なベクトルデータベースであるMilvusが、FlowiseAIとシームレスに統合され、RAGにおけるベクトルストアコンポーネントを支える方法を学べます。
- FlowiseAIとMilvusの組み合わせた強みを活用し、言語理解と生成を最適化する実際のユースケースを見ていきます。
ええと、私の名前はHenryで、えー、Flow Wiseの創業者の一人です。では、ここからご覧いただけるように、私自身の背景を少しお話しします。私は、えー、Fidelity Investmentという会社でソフトウェアエンジニアをしていました。ええと、多くの人に「なぜFidelityなのか?」と聞かれてきました。金融の証券会社、ええと、会社のようなものです。主に、自社の内部自動化ツールと、自社の、ええと、事前学習済み大規模言語モデルを組み合わせたものに取り組んでいました。
つまり、ChatGPT以前の時代には、私たちは、ほら、自分たちでデータセットにラベル付けし、自分たちのモデルを学習させる、といったことをしなければなりませんでした。ええと、そこで数年間働いていて、また、ええと、University of Yorkでコンピューターサイエンスを学び、人工知能を専攻しました。なので、それが私のちょっとした経歴です。特に華々しいものではなく、HarvardやMITの出身というわけでもありません。では、Flow Wiseについて少しお話しします。
ええと、先ほどお話ししたように、私はFidelity investmentで働いていて、その当時、私たちは、ほら、方法を探そうとしていました。つまり、当然ながら、ChatGPTが登場した後、人々は、ええと、以前は不可能だったことを実現する方法を探そうとしていたわけです。そうですよね?ChatGPTがあり、人々はLangChainやLAMA index、Haystackのようなライブラリを使って、この悲劇、この時代以前には解決できなかった問題を解決しようとしていました。そして私はチームの、ええと、開発者の一人として、これらのフレームワークが、ほら、開発時間を短縮するのにどのように役立つかを間近で見ていました。また、私はそのフレームワークや、ほら、開発の進捗全体にとても興味を引かれました。ええと、私は、Flow-wiseを作ろうと決めたのですが、大規模言語モデルを構築するうえで重要な点の一つは、先ほど述べたように、自分のユースケースに合う完璧な組み合わせを見つけるまでに非常に多くの反復が必要だということです。そうですよね?つまり、正しいチャンク分割戦略、ええと、使用する適切なベクターストア、ええと、設定、プロンプト、そしてモデルも見極める必要があります。
そこでFlow-wiseは、何度も何度もコードを書くことなく、それを行えるように設計されています。ええと、ではFlow Wiseのアプリケーションに移って、皆さんに、Flow Wiseとは何か、どのように機能するのかをイメージしていただければと思います。ここで少し下げてみましょう。はい、これがFlow Wiseです。ええと、ご覧のとおり、ここにあるこれらのコンポーネントの一つをクリックすると、このように小さなLegoブロックのようなものがあり、一つのブロックから別のブロックへ接続できるようになっています。そしてその考え方は、自分自身のLego、つまり自分の用途に合ったカスタムAIソリューションを構築できるようにすることです。
そしてそれを行うために、私たちには、ええと、実際にどのように物事を行えるかのアイデアを与えてくれる、さまざまなテンプレートがたくさんあります。ご覧のとおり、最初のものはflow wise documents question answeringと呼ばれています。これを使うと、大まかな仕組みとしては、GitHubからドキュメントを取り込み、その後、もちろん埋め込みモデルを使ってベクター埋め込みに変換できます。その後、それはconversational retriever QA chainに送られ、この場合はChatGPTであるチャットモデルによって使用され、回答を返せるようになります。これらすべてがどのように機能するかは、ええと、後ほどお見せします。
ええと、ただ今は、ほら、さまざまなことができるテンプレートが本当にたくさんあるということを皆さんにお見せしようとしています。例えば、ええと、この種のエージェントは、CSVデータ、つまりスプレッドシートやExcelシートに対して質問できるように設計されています。ですので、単にファイルをアップロードするだけで、質問できるようになります。例えば、今日の株式市場の始値はいくらですか?今日の最高取引額はいくらですか?といった、そういうさまざまなことです。ええと、では早速、どのように動くのかをお見せするために、ええと、簡単なデモに移ります。
いいですか?これは非常にシンプルな、ええと、いわゆるチャットフローのようなものです。考え方としては、あなたとAIの間の会話を保持できるメモリを用意するということです。そしてこのモデルがありますが、これは当然、ええ、Che, G P T です。最後に会話チェーンがあります。このチェーンはLongChainの上に構築されており、内部では、あなたがAIと普通の会話をできるようにプロンプトが設計されています。
なので、use templateをクリックして、次に行うことは自分の認証情報を入力するだけです。必要であれば、新しいものを作成することもできます。これらは私が作成したものです。ええと、create newをクリックします。認証情報を入力して、それからe p iキーを入力するだけで、それで完了です。
ええと、ただし、異なるパラメータを選択するオプションもあります。ご覧のように、max token、top probability、frequency、penality timeout、base pathなどがありますよね?では選びます。異なるモデルを使用するオプションもあります。ええと、私は16 Kのものを選びます。それで、本当にそれだけです。なのでフローを保存します、save one, three。次にできることは、すぐに自分の、ええと、つまり自分のAIとチャットできるということです。これはとてもシンプルな例ですよね?そして今度は次のステップに進みましょう。databasefactor、vuのようなデータベースを含むrack stackをどのように構築するか、ということです。
それを行うために、私たちには、ええと、実際にはそのためのテンプレートがあります。必要ならそれを使えます。ただしweb minsでは、皆さんが理解しやすいように、最初から作成していきます。なので、はい、質問や、ええと、何かあれば遠慮なく止めてくださいね。ええと、開いたら、ここでnewをそのままクリックできます。すると新しいキャンバスが表示されます。そして、ここでプラスアイコンをクリックすると、選択できるさまざまな統合がたくさんあります。エージェントを使うこともできますし、embeddingsモデルや、ええと、さまざまなものを使うこともできます。今はrec stackを構築しようとしていますよね?rec stackでは、当然、ドキュメントソースを取り込み、それをembeddingsに変換して、それをアプリに渡すことが含まれます。
まず、これらのdocument loadersを見ていきます。データを取得できるさまざまなオプションがあります。たとえば、a p Iから読み込むこともできますし、Airtableから取得することもできます。ウェブサイトをスクレイピングすることもできますし、Confluenceページや、ドキュメントファイルなどなどから取得することもできます。このデモでは、ウェブサイトをスクレイピングして、そこからrec stepを構築する方法をお見せします。なので、chio web scrapperを使用します。このデモでは、自分のウェブサイト、つまりFloris aiをスクレイピングします。そこにはそれほど多くの情報はありません。
ええと、非常に基本的な、ええと、1ページアプリケーションです。ええと、なのでここに自分のURを入力するだけです。ただしadditional parametersをクリックすると、スクレイピング機能をより、ええ、強化するためのさまざまなオプションがあります。しかし、このデモのために、シンプルにしておきます。これで、ええと、scrapperの準備ができました。そして当然、データを異なる部分にチャンク化する必要がありますよね?なぜなら、私たちはlmsの限られたコンタクトサイズで作業しているからです。
ええと、なのでデータを異なるチャンクに分割する必要があります。そのためにtext splittersを使用します。ここにも使用できるさまざまなオプションがあります。ええと、ウェブサイトの場合は、H D ML to mark downtext splitを使用することが推奨されています。これは、H D M Lページをmarkdownに変換し、それを異なるセパレータで分割するように特別に設計されています。
ウェブサイトを見ると、そうですね、たくさんのHTMLコードがあり、たくさんのCSSコードがありますが、それらは実際の情報を、ええと、いわゆるあなたのLLMアプリに提供しているわけではありません。ですので、私たちがやりたいのは、ウェブサイトの実際の文言を取得することです。たとえば「build apps easily」のようなものです。そうすれば、人々が「flow wiseとは何ですか」と尋ねたときに、このテキスト片を取得して、その質問に答えられるようになりますよね?また、人々が、ええと、「どうやって始めればいいですか」や「flow wiseをどうやってインストールしますか」と尋ねたときにも、ここから情報を取得して返すことができます。だからこそ、このようなsplitterを使って、さまざまな、ええと、HTMLやCSSコードを取り除く必要があるのです。
そのために、web scrapperに接続します。これでこのツールの準備ができたので、当然、次にやるべきことは、さまざまなチャンクをvector embeddingsに変換することです。そして当然、その後でuniverseにできます。そのために、ええと、さまざまなOpenAIとembed modelsを使用します。ここでは、ほかにも使用できるさまざまなオプションがあり、hugging phase、Azure、cohere、Google、ええと、などを使うことができます。
local ai、これは、ええと、いわゆるオープンソースのembeddingsでもあります。embeddingsを取得した後は、vector storesが必要になりますよね?この場合はvuを使うので、opposite documentsを入れるだけです。vector stores integrationsを見ると、vu、ええと、upsetとload as existing collectionsがありますよね?ここでは、この場合、vectorとembeddingsをvuにupsetしたいと思います。ですので、当然これを使いますし、別の例で、もう一方をどのように使えるかもお見せします。ただし、この場合はこちらを使います。
embedsに接続して、それから当然、ええと、credentialsを接続し、documentsを接続します。ご覧のとおり、これは2つの入力documentsを受け取ります。contentsから異なるチャンクに分けたものを、ここにinputとして入れます。そしてembeddings modelsと組み合わせることで、さまざまなチャンクをそれぞれのvector embeddingsに変換します。後ほどdashboardで、ええと、それがどのように見えるかを確認します。ええと、ここではcredentialsを接続する必要があります。
ええと、新しいcredentialsを作成することもできます。usernameとpasswordを指定するだけです。ええと、それからserverのu r lですが、今はすでにvu上にprojectをセットアップしていますよね?なので、link、つまりpublic endpointを取得するだけです。これをコピーします。ええと、H D P Ssを入れる必要があることを覚えておいてください。log sheetでlinkをここにコピー&ペーストして、さらにここにあるportもコピーするのを忘れないでください。
つまり、Q R Lの末尾にportを追加する必要があります。これで必要なものはすべて揃いました。そして、ええと、toしたい新しいcollection nameを指定する必要があります。この場合はbu、ええと、demoにします。これでuniverse nodesが正しくセットアップできたので、次にやるべき細かいことが2つありますよね?ここには多くの異なるchainsがあります。
chainsとは、ええと、long chainの上に構築されたコンポーネントで、その内部では、それぞれのchainが異なることを行うように特別に設計されています。この場合はconversational re QA chainを使用します。内部的には、document sourcesからの質問に答えるために特別に設計されています。つまり、異なることを行うように設計された、ええと、さまざまなchainsがあります。ただし、ええと、さまざまなユースケースを理解するために、私たちのdocumentations、ええと、またはlong chain documentationsを自由に確認してください。
この場合、私はこのconversational QA chainを使用します。そしてご覧のとおり、3つの入力を受け取る必要があります。1つ目はlanguage model、2つ目はvector stores、3つ目はmemoryです。これは任意ですよね?これが接続されていない場合、default buffer memoryが使用されます。したがって、必須の入力は2つだけで、ここにasteriskが付いているもの、つまりlanguage modelとvector storesです。つまり、ええと、Legoのように、これをここに接続すればよいのです。
そして最後に、言語モデルです。ええと、私は chat G P T モデルを使います。なので chat g PT ノードを入れて、認証情報を接続してください。好きな別のモデルを選択できます。ええと、私はいつも six linky を選びます。だって、いいじゃないですか?4,000 のコンタクトサイズしかないものと比べて、より大きなコンタクトサイズがあるので。
それで、ええと、接続します。これで全部ですよね?つまり、これはシンプルな rack stack のようなもので、すぐに始められて、素早くテストし、プロトタイプを作成し、そこから反復できます。では保存しましょう。保存した直後、今ここに小さなチャットがあるので、もう質問を始められます。覚えておいてほしいのは、私がここでやろうとしていることは、flow wise のウェブサイトをスクリプト化して、情報をアップロードし、flow wise のウェブサイト上で基本的な質問応答ができるようにすることです。
では、flow wise とは何かを聞いてみましょう。その前に、ご覧の通り、ここで私のコレクションには book しかありません。そしてここで新しいコレクションを指定しています。すべてがうまくいけば、それは vis demo と呼ばれます。ええと、そうなるので、ここに新しいコレクションが表示されるはずです。では、flow wise とは何かを聞いてみましょう。ああ、いくつかエラーがあります。
ええと、わかりました。これをクリーンアップして、それから、うーん、これはかなり大きなエラーですね。ええと、4,000 のチャンクサイズのように指定して、それからすべてが正しく設定されているか確認してみます。Share your pity。triple point、ええと、triple 0. 5 と embeddings に切り替えてみます。
これは正しいようです。そして私のサーバー u r l が正しいか再確認します。なので、ええと、この instance は後で削除します。なので、ハッカーを防ぐためです。ええと、正しそうです。Okay。ええと、すべて正しいようです。
保存します。もう一度更新してみます。ああ、うまく動くことを祈ります。そうでなければ、うーん、Okay、何かがおそらく動いていません。見てみます。Okay、少し戦略を変えてみましょう。
なぜ動いていないのかわかりません。数秒前には動いていたんですけどね。ええと、Okay、私の render incident がダウンしています。なので実際にはここで自分の、ええと、flow wise instance をデプロイしていました。ええと、サービスを再起動するだけでいいです。
もちろん、flow wise のドキュメントを見て、flow wise をデプロイしたいときに利用できるさまざまなデプロイオプションを確認することもできます。私たちはさまざまな、ええと、デプロイを提供しています。この場合、私は render を使っていました。準備ができたので、これを試してみましょう。これは私が、今作成したものです。
ええと、ここでウェブサイトをスクレイピングする代わりに、ファイルをアップロードしました。ええと、text one ファイルのようなものです。そして text one ファイルを見ると、そこには 1 つあり、それはただのテキストの一部で、ええと、いくつかの情報が含まれているだけで、あまり凝ったものではありません。そして私は text leader を使っていました。考え方は同じようなものですよね?つまり、私は異なるドキュメントソースを使っているだけで、それだけです。ええと、保存すると、すべてはまだ同じです。
change PT models があり、opposite note があり、ええと、open air embeddings があります。なので、Flow Wise の共同創業者は誰ですか、をクリックすると、ここで試みることは、フロー全体を通って、それを異なる部分にチャンク化し、それから up、move vu に送り、最後に CHE を使って回答を返せるようにすることです。ご覧の通り、動作しています。また、回答を取得しているソースドキュメントがどこかも確認できますよね?そして vu を見ると、更新すれば、ここに新しいコレクションが表示されるはずです。それは VU 1, 2 3 oh と呼ばれ、ここで私が指定したものです。そしてここでデータプレビューを見ると、私が ell したばかりのテキストが表示され、これらは open air embed models によって変換された vector embeddings です。
モデル。つまり、こちらがあなたの、いわばシンプルな、ええと、とてもシンプルな rec スタックで、そして、もしそれを、あー、ご自身のアプリケーションで使いたい場合です。私たちはそのために多くの異なる方法を提供していて、ええと、つまり、使うことができ、あー、A P I を閉じるために、そして指定できるさまざまな設定もあります。なので、これらすべての異なる情報、つまり、ヘイ Henry、これが基本的な考え方のようなものです。はい。
ヘイ Henry。Alex が考えていたのですが、もしかすると、ええと、最初のデモの VISS エンドポイントについて、あー、HT t p s が入っていたのではないかと、もしかしたら H T T P であるべきで、それがエラーだったのかもしれません。ああ、思うに、エラーだったかどうかはわかりませんが、でもご覧のとおり、この場合も私は HT p s を使っていました。わかりました。では、はい。
わかりました。ええと、今ちょっと割り込みます、実は質問がいくつか来ているので。ええと、では、そうですね、あー、Jefferson がちょうど質問しました。データは、ええと、あー、暗号化されてデフォルトで保存されるのか、あー、この rag の例のデータソースにおいて、つまりこの、これらの異なる認証情報のようなものは?それらは暗号化されます、ええと、flow wise ではデフォルトで。なので flow wise インスタンスを立ち上げると、独自の暗号化キーを指定できるようになります。そうでなければ、こちらでランダムな暗号化キーを作成します。
それによって、flow wise 内で作成したすべての認証情報を暗号化できます。なので、認証情報についてはそうで、同じ議論です。そして、ええと、RAG アプリケーションのために保存されるすべてのデータについても同じです。まさにそのとおりです。つまり influence では、私たちは情報を一切保持しません。なぜなら、それはつまり、アップロードされたこれらすべてのドキュメントは、同じ暗号化キーを使ってすべて暗号化されるからです。保存場所は指定できますが、より安全な、あー、場所、たとえばさまざまなプロバイダーの secure vault のようなところに保存できるようにすることは、私たちのロードマップにあります。
ただし現時点では、データベース内に保存されるだけですが、はい、暗号化はされます。わかりました。ええと、もう 1 つ質問があります。それからデモを続けましょう。では、あー、dupan carves が、rag モデルの典型的な応答時間はどのくらいかと質問しています。これは設定がどのようになっているかに少し依存しますが、平均的にはかなり速いと言えます。ご覧のとおり、たとえば、ええと、flow wise の共同創業者は誰ですか、と聞けば、回答を私に返してくれますよね?ええと、平均で 3〜5 秒くらいだと思います。ドキュメントソースが何かによります。というのも、当然、より複雑なドキュメントソースがある場合は、少し時間が長くかかるかもしれません。なぜなら、それはこのさまざまな無関係な情報を処理して、最も関連性の高い情報を取得し、それをあなたのアプリケーションに返す必要があるからです。ですよね?ええと、でも平均では 3〜5 秒くらいだと思います。
ただし繰り返しますが、ドキュメントソースによります。それは理にかなっています。つまり、私が言いたいのは、ここで見ている rec スタックでは、最初に質問するとき、ベクターとエンベディングを upsert するプロセスを通るということです。でも、2 回目に質問するとき、たとえば、flow wise の response は何ですか?という場合です。2 回目に質問されたときは、全体を再度 upsert するプロセスは通りません。なぜなら、それはすでに upsert されているからです。そうですよね?そして私たちは、全体の図のハッシュを保存しているので、実際には、何度も何度も観察しに行こうとはしません。ですよね?なのでご覧のとおり、2 つ目の質問では、回答が、あー、とても素早く返ってきます。そうですよね?つまり、最初の質問のときだけ、質問されると、ベクター埋め込みなどを upsert する全体のループを通ります。なので、ええと、どのような種類の、ええと、エージェントが利用可能ですか?カスタムエージェントはサポートできますか?あー、カスタムエージェントですか?現時点ではできませんが、それに対する要望は非常に多いです。ええと、次のリリースで、独自のカスタムの、あー、エージェントとチェーンを作成できるようにする作業を実際に進めています。
ただ現時点では、これらが、ええと、プレビューエージェントとして利用できるものです。はい。わかりました。なので ui で確認できますが、独自のカスタムも作成できるようになります。わかりました。
うん、まさにその通りです。それで、ええと、あの、実は質問があります。ええと、思うんですが、つまり見ている限りでは答えはわかっていると思うんですけど、ええと、embeds について話しているとき、ええと、単に API を使っているだけですよね?ええ、アクセスするために。実際にホスティングしているわけではないんですよね?いいえ。わかりました。
ええと、いいですね。うん、なので、もし自分の embeddings をホストしたい場合は、ええと、それもできます。local AI embeddings を使えます。これにより、自分でホストした embeddings モデルを指定できます。ええと、ただし当然ながら、embedding モデルをそこでホストするために local AI の docker インスタンスを自分で立ち上げる必要があります。でも、ええと、デモでは open AI API を使っているだけなので、では、この領域に少し留まってみましょう。というのも、ええと、Vitale が質問していました、ええと、chunk sizes はカスタマイズできますか?はい、カスタマイズできるようなものを見た気がしました。はい、ありますね。
いいですね。ではカスタマイズしてみましょう。はい、これで質問の答えになっているといいです、ええと、vital。それから、ええと、Bruno がとても良い質問をしています、評価についてはどうですか?はい、良い質問です。良い質問です。
では、ええと、動いていた flow に戻ります。これですね?そしてここで analyze chat flow のようなものが見えます。ここには異なる providers を使うためのさまざまなオプションがあります。多くの人が Lang Smith を知っていますよね、つまり、Lang chain の製品で、ええと、いわゆる自分の異なる stacks を確認できるようにするものです。そして landfill を使うオプションがあり、ええと、on、ええと、では実際にどう動くのか見てみましょうか?ええと、analyze chat flow したい場合ですね?なので create new credentials をクリックすると、当然ながら msmith から API を取得する必要があります。ええと、皆さん見たことがあるかはわかりませんが、これが msmith です。
インターネットが動くといいんですが。遅いですね。なので、でも考え方としては選択して、あ、すみません、回線が不安定でした。はい、では、ええと、皆さんに聞こえているといいです。ええと、credentials を指定して、それから project name を指定できます。
では vis demo として、save it をクリックします。そして今もう一度質問してみると、たとえば how to install flow wise のように、full trace、rack stack 全体の step by step を見ることができます。なので project に行くと、ここに作成された新しい project が見えます。この demo があり、そして chain をクリックすると、開始から終了まで flow through している、ええと、その step by step の、ええと、process が見えます。これが flow を分析して、評価し、どれがより良く動いているかを見る方法の一つです。ええと、また、environment variables もあります。これは、flow watch インスタンスの ap、ええと、stack trace をオンにして使うことができるものです。たとえば、ええと、render にデプロイした場合、見てわかるように、ここで、ええと、flow wise applications に最終的な回答を与えていた、ええと、すべての異なる steps を確認できます。
debug、ええと、その2つをオンにするだけでいいです。はい、なので、flow wise flow を評価する方法はいろいろあります。どれを選びたいかによります。では念のため、全員が、ええと、そこについて理解できているようにしたいと思います。では、ええと、evaluation とは何で、ええと、そこで実際に何をしていたのですか?なぜ実際に、ええと、何が実際に流れていたのかを見る必要があったのですか?はい、多くの人が、私が質問をするときですね?質問されたときに、返ってくる回答が正しくないものになることがありますよね?何か、ええと、脱線している、完全に脱線しているようなものになることがあります。そして、それがなぜなのか知りたいですよね?裏側で何が実行されていたのかを知りたいのです。
たとえば、このようなログのようなトレースが必要なのはそのためです。あなたのLMSにどのような情報が投入され、そうした質問応答のためにユニバースからどのドキュメントが取得されたのかを確認するためですよね?だから、評価が必要なんです。異なるパフォーマンスをある程度確認して比較し、本当に、どうなのか、そしてなぜなのかを知るためです。つまり、これらはここで、あなたの、あなたの、ええと、あなたの、あなたの「なぜ」と「どのように」というクエリに答えるためにあります。ご覧のように、たとえば、Flowiseをどうインストールするかと尋ねると、ここにソースドキュメントがあります。つまり、実際にはこの情報の一部を使って、このテキストを返しているわけです。「Flowiseは、特定の私たちのウェブサイトからインストールでき、提供された手順に従ってください、云々」というように、ですよね?だから、最終的なレスポンスを構築して返すために、どの情報の断片が取得されているのかを知りたいわけです。そうですね。これがないと、ある意味、手探りで運用していることになりますよね。確実には分かりません。何を、どこから、何を、何を、何を取得しているのか、ええ。
そして、実際に何が起きているのか?その通りです。それがまさに全体の考え方で、ファクトリーがあり、それから異なる、ええと、たとえば私が見せたものやShuffleのようなものがあり、ステップごとに確認できるさまざまな可能性のあるプラットフォームがある、ということです。では、チャットの回答に引用を追加するのはどうでしょうか?そうすれば、ユーザーでさえも、ある程度、安心できますよね?これは実際に正当な回答なんだと。それのデモを見せてもらえますか?方法の一つですか?ここで言っているのはそういう意味ですか?これはソースドキュメントを返すもので、それから、そのドキュメントがどこから照合されたのかを確認できるようになります。実際にはすでにそれがありますが、いくつかのチェーンまたはエージェントに限られています。うんうん。
ここで、このように確認できます。回答は実際にこの特定のコンテンツからのものです、ということですね。そして、まあ、それらは同じです。そうですね。というのも、この特定の例では、テキストファイルから取得しているだけでしたが、うんうん。別の例では、ウェブサイトから取得していましたよね。その場合は、実際に取得元のページが表示されるのですよね。その通りです。
はい。ええと、今、これをもう一度動くようにしようとしています。ええと、簡単にフローを複製して、それからもう一度、Scrapeless Web Scraperに置き換えます。ええと、この1つのドキュメントを使い続けます。ここにリンクを入れて、ツリーに保存します。なので、同じエンドポイントと同じコレクション名のままにします。
では、すべて動くか見てみましょう。ええと、稼働時間が提供されていません。うーん。では、使ってみましょう、ええと、すべて同じような気がします。
また同じ問題に遭遇しているかもしれません。うーん。わかりました。どこかにバグがあるのかもしれません。ええと、もう一度戻って修正する必要があります。
そうですね、それはデモの神々ですね。心配しないでください、デモの神々はいつも残酷です。文字通り動いていたんです。ウェビナーの前に3回か4回確認していて動いていたのに、そのあと実際にデモになると動かないんです。ええと、ではAlexからもう1つ質問があります。ええと、実際には2つ質問です。最初の質問は、ええと、このAIチャットはこの特定のWeb UIからのみ利用可能なのか、それとも彼がAUMウェブサイト上、またはWebサービスとして利用できるようにするにはどうすればよいのか、というものです。はい、つまり、ええと、ここにこの小さなボタンがあり、クリックすると、いろいろな使い方があります。
ああ、ええと、1つの方法は、埋め込みチャットとして使うことです。このコードをコピー&ペーストしてHNAページに貼り付けるだけで、アプリケーションにこの小さなチャットボットを追加できます。それが使い方の一つです。また、さまざまな設定もできます。色、サイズ、タグ、ええと、いろいろなものを指定できます。いいですね。
それは一つの方法です。それから、Reactアプリケーションにインポートすることもできます。なので繰り返しになりますが、これは、ええと、いわゆる、より良いチャットと同じような概念です。つまり、さまざまな設定があります。ええと、もう一つの方法はAPIを使うことです。
先ほどお見せしたように、Python、API、JavaScriptで使うこともできますし、あるいは単純に、ええと、curl呼び出しを使うだけでもできます。そして一番良い点は、フロー内でさまざまな設定をすべて指定できる柔軟性があることです。ここで必要なのは、見てわかるように、ええと、temperatureやモデル名、APIキーを指定することだけで、API内で上書きすることさえできます。これがもう一つの使い方です。そして最後の方法は、共有したい非常に簡単なチャットボットのようなものが欲しい場合です。その場合、ええと、公開するをクリックすると、誰かにリンクを送ったときに、その人たちは、このチャットボット全体を開くことができ、あなたが作成したフローとやり取りできるようになります。
つまり、それ以外の場合も、繰り返しになりますが、このバックエンドは実際にこれらすべてを実行しているわけですよね?つまり、ここで質問をするのと同じ考え方です。なので、はい、繰り返しになりますが、これを使う方法はたくさんあります。ええと、では次の質問ですが、Alexからの質問はスケールについてです。受信リクエストに対して、1秒あたり100件ではなく1000件のクエリを処理できますか?はい。それを行うには、ええと、繰り返しになりますが、ここにAxillaryというスクリプトがあります。Axillaryは有名な、ええと、負荷テストフレームワークで、APIを使ってどれだけのリクエストを処理できるかをテストできます。
フローインスタンスをデプロイした後、インスタンスを指定し、それからAPI、ええと、呼び出しを指定するだけです。そうすれば、1秒あたりどれだけの同時リクエストを処理できるかをテストできます。私たちは、ええと、テストを行いました。1秒あたり10,000リクエストについては問題ありません。ただし繰り返しになりますが、使用している、またはデプロイしているインスタンスに多少依存します。
ええと、また、あなたが行っているAPI呼び出しの制限にもある程度依存します。つまり、あなたのモデルやembedding、そしてtovuにも対してですよね?なので、制限はフロー側にあるのではなく、内部で呼び出しているすべてのAPI側にあると言えると思います。つまり、chat G P D A P I、VU A P I、embed a P Iです。ええと、何であれ、あなたと私はG P T cacheについて少し話したと思います。ええ、私たちがオープンソースプロジェクトとして持っているセマンティックキャッシングレイヤーです。うん。ユーザーはそれをこれにも追加できますか?ええと、実は、それに取り組んでいるストーリーがあります。
なので、ええと、リクエストごとに、これは次のリリースに入ります。G P PT catchがあり、これは提供予定です。ええ、なので私たちはそれに取り組んでいます。ええと、いいですね。まもなく人々は、ええと、embedding用、そして自分のチャットモデル用にもcatchを使えるようになります。素晴らしい。できれば。
はい。素晴らしい。Alex、それは実際に、ええと、パフォーマンスにも役立つはずです。なので、ええと、それから、ええと、visでは、私たちはG P T Cashという別のオープンソースプロジェクトを作りました。ええと、それは、ええと、ミスから生まれたものでした。基本的に、私たちはOSSchatというデモアプリケーションを作っていました。
ioで、ええ、これです。そして、ええと、もちろん、Dev環境で同じ質問をしていたので、OpenAIからかなり大きな請求が来ました。それから、ええと、OpenAIでいくつかパフォーマンスの問題に遭遇したので、ええと、キャッシングレイヤーを作ることにしました。そして、これはおそらく誰もが直面する問題になるだろうと気づきました。なので、ええと、実際に、ええと、それをオープンソース化しました。そしてそれは、visやZillowだけに限定されず、さまざまなベクターストアと実際に連携します。Henry、あなたがそれを追加する予定だと聞いてうれしいです。それは、ええと、かなりクールです。
ええと、私は次に行きたいです、はい、私たちもたくさん受け取っています、なので、はい。いいですね。ええと、ミスというのは、時には非常に価値がありますよね?はい。ええと、私は、ええと、Brunoの質問に戻りたいです。というのも、実は私も、ええと、確かにこれについてあります。
それで、ええと、彼はあなたにエージェントの話に戻ってほしい、エージェントについて話すことに戻りたいそうで、ええと、ツールの指定方法を示してほしいそうです。それに私も同意します。可能であれば、エージェントの部分をもう少しゆっくり進めて、どのように選択できるのか、設定オプションには何があるのかを示していただけると助かります。いいですね、ありがとうございます。完璧です。Flow-wise では、独自のカスタムツールを作成するオプションがあります。
つまり、ツールはエージェントが使用するように設計されたものです。例えば、マーケットプレイスにはさまざまなツールがあります。例えば、連絡先を追加する、HubSpot、編集可能なレコードを作成する、などです。さまざまなツールがあります。しかし内部的には、これらのツールはすべて、つまり、JavaScript 関数のようなものを見ることができて、単に API を呼び出しているだけです。それだけですよね?この場合は、IBLE から API を呼び出して、ible のデータベースにレコードを追加しています。ええと、Slack メッセージを送信する、スコープメッセージを送信する、などいろいろあります。そのため、ここにある例を見ることで、これらのツールがそれぞれどのように機能するのか、だいたいの考えをつかむことができます。そして、自分で反復していくことができます。ここで一つ強調したいのは、出力スキーマです。
では、ええと、Flow とツールを組み合わせた場合をお見せするほうがよいかもしれません。ええと、探してみます。1つはエージェントです。エージェント、ええと、はい。ああ、はい、これは違うかもしれません。Open AI conversation agent。エージェント、はい。不要なものを消してみます。ええと、はい、ここにいるついでに見せるのもよいですね。
実際には、チェーンを組み合わせることができます。つまり、先ほど作成したチェーン、VUS の質問応答用のチェーンを、エージェント用のツールとして使用できます。そのためには、そのためのカスタムツールを作成するだけです。ええと、では皆さんに、ええと、どのように機能するのかをお見せします。ここには、ええと、2つのセクションがあり、そして、ええと、特定のことを行える事前構築済みツールがいくつかあります。例えば、カスタム Google 検索を実行する、ええと、Web を閲覧する、ファイルに書き込む、Zebra に接続する、など、さまざまなものです。
ただ、私がお見せしていたのは、カスタムツールをどのように使用できるかです。ここにはカスタムツールノードがあり、ツールを選択できます。もちろん、まだ何もありませんが、使用したいツールを選択できますよね?ここには Discord ツールがあり、テンプレートを使用して、それを自分のツールセクションに追加できるようになります。ここにツールがあり、実際に何をしているかというと、関数を見ると、単に webhook URL を呼び出していて、そしてメッセージ、つまり上位スキーマからのコンテンツを使っています。上位スキーマについて少しお話ししますね。説明からわかるように、JS 形式での上位レスポンスがどうあるべきか、というものです。
では、もしツール Connect ツールを使うとしましょう。ええと、もしかすると保存してから更新する必要があるかもしれません。そうすればツール、Discord チャンネルへのメッセージを読み込めるようになります。今、ツール自体を指定しました。そして問題は、私が hello と言うことです。はい?それから、ええと、OpenAI キーを指定する必要があります。私の名前は Fox です、よね?そうすると、ええと、私に回答できるようになります。では今、もし、ええと、Discord にメッセージを送れますか、と言いたい場合、今は Discord に送信したいメッセージを指定するよう求められますよね?つまり、実際にはユーザーの、ええと、回答を取得して、そのメッセージが Discord に送信されるようにしたいわけです。しかし問題は、それをどうやって行うかです。だからこそ、ツールセクションには出力スキーマがあります。これはそのために設計されています。これはユーザーから情報を取得するために設計されています。コンテンツを見ることができます。
では、たとえば私が、ええと、これを指定して、Hello と言うと、実際に hello とか何とかいうこのメッセージをキャプチャして、それをコンテンツとして渡すことができます。それから a p i を使って、実際のメッセージをあなたの Discord に送信できます。では、特定のチャンネルに実際に送るように、どこで設定したのでしょうか?これは web hook、ああ、u r のようなものです。そうですね、ただ指定するだけです。私はこのノートパソコンに A Discord アプリをインストールしていないのですが、ええと、ご存じのように、Discord に行くと Wahoo U があり、WebBook U rl を指定するだけで、それで終わりです。これがあなたの WebBook U rl ですよね?そしてこの部分は、ここのチャットからの、ええと、情報を実際にキャプチャするためのものです。
つまり、それがカスタム too のようなものの考え方です。想像できると思いますが、基本的にこれを使って任意の a p i を呼び出せるわけですよね?インターネットの a p I があって、それを使いたい場合、エージェントの組み合わせ、そして、ユーザーから情報をキャプチャする能力と組み合わせることで、そのように custom two を使うことができます。これは、この種のことをどのようにできるかを示す、とてもシンプルで基本的な例のようなものです。なので、ええと、そして繰り返しになりますが、ええと、これは openand function agents に特有のものです。ええと、私たちには別のエージェント、agents、auto、G B P、baby、h i、ええと、chain 由来のさまざまなエージェントもあります。
ええと、繰り返しになりますが、私が言うなら、これらのエージェントのほとんどは、ええと、どのように動作するのか、そして、何というか、ユースケースは何かを知りたい場合、実際に、ええと、link chain に行って、エージェントタイプを見てみることができます。すると、ここに私たちが、ええと、上に置いているエージェントのいくつかがあります。会話エージェントは、ここのものとまったく同じです。そうですね、これは、two を使うだけでなく、ユーザーと ai の間の会話を保持できるように設計されています。では、ええと、あなたにもう一つ質問があります。ええと、Gill が、素晴らしいデモだと言っています。ええと、flow wise はオープンソースですか?まったくその通りで、100% です。
私たちは、私たちは、これからも常にオープンソースです。ええ。なので、GitHub に行けば、ええと、自分自身の flow wise インスタンスをデプロイするオプションがあります。また、私たちのドキュメントも見て、好きなクラウドサービスの一つに、ええと、どのようにデプロイできるかを確認してください。いいですね。
残り、ええと、5分だけあります。ええと、最後の、ええと、質問のために、ええと、回線を開けておきたいのですが、ええと、あなたはそれをとても簡単そうに見せてくれましたが、何か、ほら、人々が少し困ったことになり得る場所についてのアドバイスや、それを避けるために何をしたほうがよいか、何をおそらくすべきかについてありますか?そうですね、繰り返しになりますが、ええと、そうですね、評価の話に戻ると思いますよね?なので、評価や、可観測性プラットフォームが存在するのはそのためで、内部で何が実行されているのかを、ある程度、知ることができます。なので、何らかの問題にぶつかったときはいつでも、ええと、私はいつも、内部で何が実行されているのかを見るために、ええと、これらの MSF role の一つを使うことを皆さんに勧めています。もしそれをしたくない場合は、スタックトレースを見てもいいです、mm-hmm。そして、何が、ええと、段階的に実行されているのかを理解します。
それで、ええと、ええと、それから Mike が、録画は利用可能になりますか、と質問しました。もちろんです、Mike。はい、もちろんです。録画です。録画は zillows. com に載せますし、簡単な編集をした後で、私たちの YouTube チャンネルにも、ええと、載せます。完璧です。
それで、あなたのウェブサイトに一つタイプミスを見つけたと思います。ええと、ウェブサイトのバナーでは、ええと、そうですね、chroma ではなく VIS と書くべきです。ええと、これです。でもそれ以外は、本当に素晴らしいデモでした。ええと、見た目も素晴らしいです。とても使いやすそうに見えますし、ええと、できればこの、ええと、ウェビナーに参加している皆さん全員が、ええと、自分で試してみてください。ええと、そうですね、そしてまた、ええと、最初に言ったように、これは Isto Fest です。ええと、Henry にはきっと、皆さんの助けをぜひ得たいと思っている課題がたくさんあるでしょう。ええと、vis も同じです。
なので、もし、ええと、もし手伝うための帯域に余裕があれば、あー、あー、皆さん、はい。あー、オープンソースコミュニティの皆さんはそれをとても喜ぶと思います。185件オープンです。なので、どうぞ、どうぞ自由にそのどれでも引き受けてください。やることはいつもたくさんあります。はい。
素晴らしいです。では、本当にありがとうございました。そして皆さん、本当に素晴らしい質問をありがとうございました。ええと、それから、はい、皆さんが、あー、Flow wise と、そして Vis を使って何を作るのかを見るのを楽しみにしています。皆さん、ありがとうございました。
Meet the Speaker
Join the session for live Q&A with the speaker

Henry Heng
Co-founder, Flowise
Ex-software engineer @ Fidelity Investment, Msc Comp Science in AI @ University of York.


