P.S. このチュートリアルは、Coze と HackerNoon による#AI-chatbot ライティング コンテストの #AI Chatbot デザイン用です。
理想的な世界では、アプリケーションはすべてのユーザーにとってあらゆる機能を備え、すべてのユーザーにあらゆる機能を提供できるはずです。残念ながら、それほど強力なアプリケーションは存在しないため、プラグインは非常に重要です。
プラグインは、アプリケーションの機能と性能をシームレスに拡張することで、アプリケーションとその他の技術エコシステムとの間のギャップを埋めるのに役立ちます。プラグインの最も優れた点は、アプリケーションのソース コードに本質的に影響を与えることなくこれを実現できることです。このチュートリアルでは、Coze でプラグインをゼロから作成する方法を説明します。
しかし、まずはプラグインとは何かを理解してみましょう。
プラグインは、元のコードを書き直したり変更したりせずに、アプリケーションやプログラムの機能を強化するソフトウェア アドオンです。プラグインは、多くの場合、アプリケーション プログラミング インターフェイス (API) またはコア プログラムが提供するその他の統合ポイントを介してアプリケーションのコードベースに統合することで、これを実現します。このプロセスは通常シームレスです。
開発者にとって、プラグインを使用すると、再投資することなく、より多くのカスタマイズ、データ、機能をユーザーに提供して、ユーザー エクスペリエンスを向上させることができます。ユーザーにとって、これはアプリ使用時のエクスペリエンスが向上することを意味します。
Coze は、ソーシャル プラットフォームを介してローコード/ノーコード アプローチを使用して AI ボットを構築、カスタマイズ、展開できるプラットフォームです。したがって、AI チャットボット プロセス全体をほぼすべての人に民主化しています。このプラットフォームには、AI ボットの機能をカスタマイズおよび拡張するのに役立つツール、プラグイン、マルチエージェント モード、知識とメモリ機能も付属しています。
他のプラットフォームと同様に、Coze はさまざまな業界に合わせたさまざまな公式プラグインを提供しています。GPT4V、CapCut、Doc Reader、X などのこれらのプラグインは、ニュースと読書、写真、ライフスタイル、科学、教育、金融など、複数のカテゴリにわたる特定のニーズに応えます。
さらに、ユーザーはカスタム プラグインを送信できます。このチュートリアルでは、暗号通貨の価格から時価総額、取引量まで、さまざまなコインの統計情報をユーザーが追跡できる暗号通貨データ アグリゲーター プラットフォームであるCoinGecko用のプラグインを構築します。
Coze の詳細については、公式の Coze ユーザー ガイドをご覧ください。
Coze では、さまざまな方法でプラグインを構築できます。その方法のいくつかを以下に示します。
このガイドでは、 CoinGeckoプラグインを構築するためのCoze IDE ルートについて説明します。Coze IDE は、Node.js または Python で構築できる Web ベースの統合開発環境です。
このチュートリアルを実行するには、次のものが必要です。
CoinGecko プラグインを構築するには、次の手順に従ってください。
Coze.comにログインし、ワークスペース パネル内のチーム スペースにアクセスします。
「プラグイン」タブをクリックし、 「プラグインの作成」をクリックします。または、エージェントの開発ページにアクセスしてプラグインを作成することもできます。
プラグインに名前、説明、アイコン(オプション)を入力します。
プラグイン ツールの作成方法ドロップダウンで、 Coze IDE で [クラウド プラグイン - 作成]を選択します。
IDE ランタイムで、選択言語としてPython を選択します。
「確認」をクリックすると、プラグイン ページにリダイレクトされ、ツールが作成されます。
次に、プラグイン ツールを作成する必要があります。
プラグイン ページでIDE でツールを作成をクリックします。
ツールに名前と説明を付けます。
「確認」をクリックすると、 Coze IDE ページにリダイレクトされ、ツールをコーディングできるようになります。
依存関係を追加するには、左側のパッケージ パネルの+ アイコンをクリックします。ここでは、HTTP を送信できるように、リクエストパッケージをインストールする必要があります。
そこにパッケージをインストールすると、プラグイン内の任意のツールで使用できるようになります。
CoinGecko 開発者ダッシュボードにアクセスして、CoinGecko API キーを取得します。
コード タブ内で、Coze が提供するテンプレートに基づいてコードを記述します。ハンドラー メソッドを削除または変更しないことが重要です。削除または変更すると失敗の原因になります。ベース URL は認証ドキュメントから取得されました。
from runtime import Args import requests API_KEY = "****" BASE_URL = "https://api.coingecko.com/api/v3" def get_coin_data(coin_id: str, currency: str = "usd", logger=None): endpoint = f"{BASE_URL}/coins/markets" params = { "vs_currency": currency, "ids": coin_id.lower(), # Convert to lowercase "x_cg_demo_api_key": API_KEY } try: response = requests.get(endpoint, params=params) response.raise_for_status() # Raise an exception for bad status codes data = response.json() if logger: logger.info(f"API Response: {data}") return data except requests.RequestException as e: if logger: logger.error(f"API Request failed: {str(e)}") return {"error": f"API request failed: {str(e)}"} def handler(args: Args) -> dict: args.logger.info(f"Received args: {args}") args.logger.info(f"Type of args.input: {type(args.input)}") args.logger.info(f"Content of args.input: {args.input}") # Handle CustomNamespace object if hasattr(args.input, 'coin_id') and hasattr(args.input, 'currency'): coin_id = getattr(args.input, 'coin_id', 'bitcoin') currency = getattr(args.input, 'currency', 'usd') else: return { "message": f"Error: Invalid input format. Expected CustomNamespace with coin_id and currency attributes. Input: {args.input}", "data": None } args.logger.info(f"Processed input - coin_id: {coin_id}, currency: {currency}") try: coin_data = get_coin_data(coin_id, currency, args.logger) if "error" in coin_data: return { "message": f"Error: {coin_data['error']}", "data": None } else: # Check if we got any data if not coin_data: return { "message": f"No data found for {coin_id}", "data": None } # Assuming the API returns a list with one item for the specified coin coin_info = coin_data[0] if coin_data else {} return { "message": f"Successfully retrieved data for {coin_id}", "data": { "name": coin_info.get("name"), "symbol": coin_info.get("symbol"), "current_price": coin_info.get("current_price"), "market_cap": coin_info.get("market_cap"), "price_change_24h": coin_info.get("price_change_24h") } } except Exception as e: args.logger.error(f"An error occurred: {str(e)}") return { "message": f"An error occurred while processing the request: {str(e)}", "data": None }
入力パラメータ: coin_id (文字列): 暗号通貨の ID (例: "bitcoin"、"ethereum")。
入力パラメータ:通貨 (文字列): 市場データの対象通貨 (例: "usd"、"eur")
出力パラメータ: message (文字列): リクエストのステータスを示すメッセージ。
出力パラメータ:データ (オブジェクト): このデータ オブジェクト内では、これらのパラメータを使用します。
データ出力パラメータ内: name (文字列): 暗号通貨の名前。
データ出力パラメータ内: symbol (文字列): 暗号通貨のシンボル。
データ出力パラメータ内: current_price (数値): 指定された通貨での現在の価格。
データ出力パラメータ内: market_cap (数値): 指定された通貨での時価総額。
データ出力パラメータ内: price_change_24h (数値): 過去24時間の価格変動
メタデータにより、Coze ツールはユーザーから何を期待して抽出するか、またユーザーにどのように答えるかを把握できるようになります。
テストするには、 「テスト コード」タブで入力パラメータを入力し、プラグインを実行します。
[実行]をクリックします。
ツールの応答を表示するには、出力値を表示します。
コンソール パネルでログを表示して、成功したかエラーがあったかを確認します。
テストが成功した場合は、 「公開」をクリックしてプラグインを公開します。
当社のプラグインはユーザー データを収集しないため、[プライバシー収集ステートメント] ダイアログ ボックスで [いいえ]をオンにします。ただし、プラグインでユーザー データが必要な場合は、 [はい]をオンにします。
「公開」をクリックします。ストアにアクセスして、このCoinGecko プラグインを調べてください。
プラグインは、ソース コードを変更せずにアプリケーションの機能を統合および拡張する効果的な方法です。Coze プラグインの機能を活用することで、Coze の公式プラグインのいずれかと統合して AI アプリケーションを構築し、その機能を拡張できます。
必要なプラグインが見つかりませんか? 任意の API を選択して、カスタム プラグインを簡単に作成できるようになりました。これにより、ユーザー エンゲージメントを強化し、アプリケーションの機能を簡単に拡張できます。YouTube でツールの詳細をご覧ください。
ここまで読んでくださった方、ありがとうございます! Twitter 、 LinkedIn 、iheifeanyi [at] gmail.comで私に連絡を取ることができます。
ぜひ「いいね!」やコメントをお願いします。ありがとうございます!❤️🚀🙏🏽