Cozeを使用してAIチャットボットを作成する方法

Cozeを使用してAIチャットボットを作成する方法

Cozeを使用してAIチャットボットを作成し、追加のスキルやプラグインをプロンプトに使用してボットにペルソナを与え、さらにナレッジベースを使用してインテリジェンスを与えましたが、ボットが認識できるようにさらにカスタマイズしたいと考えています。

特定のニーズに合わせてタスクを実際に完了する方法をこのビデオで説明します。これにより、ボットが複数ステップのタスクを完了する方法を認識できるようになります。

Cozeのワークスペースの紹介

Cozeのワークスペースに行き、その方法を説明します。ワークフローはあなたのライフスタイルを本当に強化します。

それで私はNBAボットを作成しています。このボットの目的は、今シーズンに行われるすべてのNBAの試合の統計やスコアなどの最新情報を提供することです。

過去および前のシーズンに起こった試合だけでなく、リアルタイムで起こっている試合も見ることができるので、このボットは非常に強力で、ワークフローがそこに到達するのに役立つので、実際には私が行う必要はありません。もうESPNを見ることさえありません。なぜなら、私には専用のパーソナルアシスタントがいるからです。

ペルソナのインプレッションプロンプト

そのため、ペルソナのインプレッションプロンプトを見ると、いくつかのスキルと制約を備えたキャラクターセットがあり、時間が経てば、これにさらに追加してボットを強化することもできるでしょう。

さらに、ここでスキルを見ると、現時点ではプラグインやワークフローがありません。その理由は、まだ作成していないことと、ワークフローなしでこれがどのように動作するかの違いを示したいからです。

ワークフローの追加

ビデオの終わりに向けて、ワークフローを追加したときにどのように動作するかを説明します。そこで、このボットに2024年1月20日のスコアを尋ねてみましょう。後で違いがわかります。このボットがどのように応答を生成するかを見てみましょう。

この日の試合を観たことは覚えていますが、そのような試合が起こった記憶はありません。この日、ウォリアーズはロケッツと対戦したことはなく、レイカーズはミルウォーキーバックスと対戦しなかったので、ここでワークフローが登場することになりますが、我々はそうではありません。

ワークフローの作成

このデータがどこから来たのかは確かですが、ワークフローを使用すると、最も正確なデータを取得して均一な方法でユーザーに提供するために、複数のステップのタスクを設定できるようになります。

そのため、これから行うことは次のとおりです。ここに移動してワークフローを追加し、ワークフローを作成します。ここではワークフローにMBAワークフローという名前を付けます。もちろん、説明ボックスはワークフローを説明できる場所ですが、大規模な言語モデルを使用して、ワークフローがどのように呼び出す必要があるかを理解できるようにするため、最新のNBAスコアを取得するだけでOKです。

ノードの理解

ワークフローについて最初に理解する必要があるのは、ノードであり、ノードはワークフローを構成する基本単位であり、ノードは順番に相互に接続されます。最終結果を取得するため、ノードをユーザーに必要な特定の答えを与えるために必要なステップと考えてください。

そのため、ここに開始ノードが付属しており、この開始ノードがユーザーが入力を行う場所です。または、彼らが尋ねている質問と、ワークフローが提供する他のノードがここの終了ノードであり、その終了ノードが出力を生成し、ここで探している値を返すので、それが答えになります。

基本的なノード

ここで左側に注目すると、基本的なノードがあることがわかります。したがって、大きな言語モデルノードがあり、これにより大きな言語モデルが呼び出されます。言語モデルを使用すると、与えられた入力に基づいて応答を生成できます。

さらに、答えをさらに指定する必要があるプロンプトも表示されます。その使用方法も示します。コードもあります。ここにあるノードを使用すると、入力変数を処理して戻り値を生成できるため、ワークフローではコーディング方法を知る必要はありませんが、この知識があれば非常に役立ちます。

プラグインとAPI

プラグインやAPIなどからこれらの具体的な答えを得るには、コーディング方法を知るか、少なくとも望む結果を得るために何が起こっているのかを理解する必要があります。ここにある次のノードはナレッジノードです。これは、作成したナレッジベースを使用し、ここで質問している内容と入力内容に基づいて情報を照合するノードです。

ここには、コーディングに少し関連するif条件と変数ノードもあります。これらはロジックを支援するためのもので、ここのif条件を使用すると、何かが起こったらこれを実行するという何らかの決定を実際に行うことができます。

変数ノードの役割

変数ノードは、値を読み書きして、値を保存して渡すことができるようにするのに役立ちます。これらの基本的なノードがあるだけでなく、ノードになることができるプラグインや、ノードになることもできるワークフローもあるので、ノード自体として作成した別のワークフローを使用することもできます。

ビデオではそれについては説明しませんが、ここでは実際にプラグインについて話します。プラグインには、Reddit、Microsoft Outlook、Slack、Google検索など、たくさんのプラグインがありますが、ここにあるこれらのプラグインは実際には機能しません。

独自のプラグイン作成

具体的に欲しいものをくれるので、時間をかけて独自のプラグインを作成しました。このプラグインは、必要なデータを取得できるNDA APIに接続します。そのため、このデータは過去に発生したゲームや、現在行われている試合もリアルタイムで取得できるので、スコアや統計を取得したり、誰が試合を進行したかを確認したりすることもできます。

このワークフローを作成するのにすべての情報は必要ないかもしれませんが、ビットを使用します。部分的には問題ないので、プラグインからここにMBAノードを追加しましょう。それをここの中央にドラッグします。

開始入力の設定

実際に行うことは、ここにあるこの開始入力に実際に名前を付けることです。開始入力日の名前を付けます。これはユーザーが質問する場所であるため、この質問は、ここにもあるこのNBA APIノードに送信する予定の日付に基づいているため、説明も同様です。

これが何をするのかということを単純に設定します。フォーマットで日付を取得するだけです。いずれにせよllmを介して実行されるので、フォーマットはあまり重要ではありません。書き換え方法に基づいて日付を決定します。

NBAプラグインの接続

次のステップでは、NBAプラグインが正しく含まれているNBA Dailyデータノードに開始ノードを接続します。これにより、このプラグインはすでに作成されており、すでにこれを探しています。ここにゲームの日付があるので、ゲームの日付を使用して、今どこでどのゲームがプレイされているかを判断します。

このゲームの日付は、開始ノードからの日付の入力を参照するので、これを接続します。この日付にどのような試合が行われるかというこの質問に、実際にはAPIに接続するプラグインであるNBAノードに日付を付けます。

コードノードの追加

このAPIには、リアルタイムで行われている試合または過去に行われた試合に必要なデータがすべて含まれています。このプラグインを使用するときに今尋ねる日付には、すべてのデータを含むこのペイロードがあります。次のステップで行うことは、ここにコードノードを追加することです。

これらすべてをコードに接続し、この情報の解析を開始するとどうなるかを見てください。コードノードはここで最も複雑な作業を必要としますが、ワークフローを作成する必要はありません。その方法はまだ説明します。とにかく実行してください。

コードノードの接続

このコードノードが実際にワークフローにもたらし、それがボットに表示されることを知ることが重要であるため、先に進み、この日次データノードをコードノードに接続します。すでに作成したコードのブロックを使用し、それを説明して各行を見ていきますが、その前に、これらの入力を見てみましょう。

入力が取得されていることを確認したいと思います。このNBAデイリーデータノードから必要なものがいくつか必要になります。取得したペイロードを調べてみましょう。日付まで調べて、アウェイチームから試合までのすべてのデータが必ず必要な試合がいくつかあります。

入力の取得

プレーヤーのプロフィールから試合数まですべてのデータが含まれるので、この入力を取得してゲームという名前を付け、これをNBAデイリーデータペイロードに参照させて、ここで検索します。日付を入力すると試合を取得します。

次に、ここに試合数の入力を追加します。そのため、その日に行われた試合の数をユーザーに伝えたいと思います。毎日異なるため、次のようにします。これを受け取って、NBAデイリーデータに移動し、データとゲーム数のペイロードにも移動します。

フィールドの調査

ここでさまざまなフィールドをすべて調べて、応答を希望どおりにカスタマイズできるので、これは素晴らしいことです。これらの入力ができたので、このコードブロックを少し見てみましょう。このコードブロックが私に伝えているのは、ペイロード内にあるゲームのリストを調べて、すべてのゲームを教えてくれるということだけです。

起こっていることは、これらの試合の新しい配列を作成し、プロフィールを戻してください、ボックススコア、ホームチームが誰で、アウェイチームが誰でしたか、そしてここで私が言いたいのは、私をホームチームの街に戻して、私を連れてきてくださいということだけです。

情報の取得

ホームチームの名前を返し、アウェイチームにも同じことをするので、このノードから取得してコードに渡すすべての情報を調べて、それを小さな小さなチャンクに分割するだけです。実際に探している情報のみを取得でき、この出力に現時点で必要のない他の多くのものは取得できません。

これから行うことは、出力を設定して、必要なものを設定することです。ここからの入力は、大規模な言語モデルとなる次のノードに渡されるので、これらの同じ入力が必要です。ゲームは何だったのか、ゲームが何回発生したか、そして同じ内にこれらの答えが必要です。

大規模言語モデルノードの作成

このノードから取得する情報は、プロフィール、ボックススコア、ホームチームが誰で、ウェイチームが誰であったかなどを取得します。ここに移動してゲームを追加し、これをタイプ文字列として保持します。これは単なるテキストなので、ゲーム数としてここにもう1つ追加します。

これを数値に変更します。ユーザーに表示するゲームの数だけなので、次のステップは次のとおりです。大きな言語モデルノードを作成し、コードノードに接続するためにここに配置します。この大きな言語モデルノードは、この読み取り不可能な形式で保持している情報を取得して、ユーザーが読みやすくできるようにするためです。

GPTモデルの設定

わかったので、これから行うことは、すでに作成したこの大規模な言語モデルプロンプトを取得し、これを大規模な言語モデルノード内に配置することです。それで、物事を横に移してみましょう。ノードを正しく接続して、これをここの終点ノードに接続しましょう。次に行うことは、GPTモデルをGPT4に変更することです。

温度は同じに保つことができますが、異なる点は次のとおりです。この入力権は実際にはゲームの入力を参照することになるので、ここにゲームを配置してから、このコードノードから取得したものを参照します。それが渡されるので、この入力を配置します。

大規模言語モデルノードの出力

ここにはプラグインから取得したゲームがあり、この出力を通じてここに吐き出されます。この出力をこの大きな言語モデルにずっと渡したいので、ここに行ってコードから取得しましょう。今ゲームが欲しいです。これもすでに書いたプロンプトで、このプロンプトは、コードノードからワークフローに渡すデータに対してこのワークフローで何を実行させたいかを説明しているだけです。

これで、非常に大きな言語に伝えることができるようになります。私たちが望むものを正確にモデル化すると、この大規模な言語モデルを使用しない場合よりもはるかに優れた最終結果内で出力できるようになります。そのため、この出力については、これをゲームの結果に合わせてカスタム作成するだけです。

ワークフローの最終設定

略してゲーム結果と入力します。これを文字列として保持します。これは、必要なすべての情報を保持する単なるテキストになるためです。

Follow me!