> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# チャットストリームエージェントを使用した Twitter アカウントの分析方法

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/learn/tutorials/twitter-chatflow) を参照してください。

## はじめに

Dify では、Web ページを LLM（大規模言語モデル）が読み取れる Markdown 形式に変換するためのクローラーツール、例えば Jina を利用できます。

最近、[wordware.ai](https://www.wordware.ai/)が、クローラーを使ってソーシャルメディアをデータ収集し、LLM 分析用の面白いアプリケーションを開発できることを教えてくれました。このアプリケーションは、特にデータ分析や洞察を提供するために設計されています。

しかし、かつて Twitter として知られていた「X」は、2023 年 2 月 2 日以降、無料の API アクセスを提供しなくなり、それに続いてクローリング対策を強化しました。そのため、Jina のようなツールは X のコンテンツに直接アクセスすることができなくなっています。

> 2023 年 2 月 9 日から、Twitter API の無料アクセスは終了し、v2 および v1.1 のサポートも行われなくなります。代わりに、有料の基本プランが提供されます。 🧵
>
> — Developers (@XDevelopers) [February 2, 2023](https://twitter.com/XDevelopers/status/1621026986784337922?ref_src=twsrc%5Etfw)

幸いなことに、Dify には HTTP ツールがあり、これを使用して外部のクローリングツールに HTTP リクエストを送信できます。それでは、始めていきましょう！

## **前提条件**

### Crawlbase の登録

Crawlbase は、ビジネスや開発者向けに設計されたデータクローリングとスクレイピングのプラットフォームです。このツールを使うことで、X、Facebook、Instagram などのソーシャルメディアプラットフォームからデータを収集できます。

登録は以下のリンクから行えます：[crawlbase.com](https://crawlbase.com)

### Dify へのサインイン

ブラウザで Dify を開いてサインインします。このチュートリアルを進めるには、起動中の Dify インスタンスにアクセスできる必要があります。

### LLM プロバイダーの設定

少なくとも 1 つのモデルプロバイダーの認証情報が必要です（OpenAI の API キーや、Ollama などのローカルプロバイダーなど）。**統合** > **モデルプロバイダー** で設定してください：

<div className="image-side-by-side">
  <Frame>
    ![LLM プロバイダー設定画面 1](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/4b4102f9027e2bda3fc520eaa8ea2354.png)
  </Frame>

  <Frame>
    ![LLM プロバイダー設定画面 2](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/0cc645cbf984c7ed90b4e4fc639e45a7.webp)
  </Frame>
</div>

## チャットフローの作成

それでは、チャットフローの作成を始めましょう。

`最初から作成`をクリックして、新しいフローの作成を開始します：

<div className="image-side-by-side">
  <Frame>
    ![チャットフロー作成画面 1](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/b2955735f5c122d8a2fc08ef13654239.png)
  </Frame>

  <Frame>
    ![チャットフロー作成画面 2](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/e35a7a9bcd3c96fbc28c41d9e0bebe7c.webp)
  </Frame>
</div>

初期化されたチャットフローは以下のようになります：

<Frame>
  ![初期化されたチャットフロー画面](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/baee341b771d1cd77780fd4845b467b2.png)
</Frame>

## チャットフローにノードを追加

<div className="image-side-by-side">
  <Frame>
    ![チャットフローノード追加画面](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/bad3185d9f2c92994c24de65a5414182.png)
  </Frame>

  <Frame>
    ![最終的なチャットフロー](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/4524d29962bc9cc3c96e6d87376622da.webp)
  </Frame>
</div>

### 開始ノード

開始ノードでは、チャットの最初にシステム変数を追加できます。このプロセスでは、Twitter ユーザーの ID を文字列型の変数として使用します。変数名を`id`としましょう。

開始ノードをクリックして、新しい変数を追加します：

<Frame>
  ![開始ノードの変数追加](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/0d77379c7c224bd6bd738e54ccc2ec5e.webp)
</Frame>

### コードノード

[Crawlbase のドキュメント](https://crawlbase.com/docs/crawling-api/scrapers/#twitter-profile)によれば、次のノードで使用する変数`url`は`https://twitter.com/`に`ユーザーID`を加えた形にする必要があります。例えば、Elon Musk のユーザーID の場合は`https://twitter.com/elonmusk`となります。

ユーザーID を完全な URL に変換するためには、以下の Python コードを使用して、プレフィックス`https://twitter.com/`とユーザーID を結合します：

```python theme={null}
def main(id: str) -> dict:
    return {
        "url": f"https://twitter.com/{id}"
    }
```

セキュリティ上の観点から、トークン値を平文で直接入力することは避けるべきです。これは推奨されるベストプラクティスではありません。実際、Dify の最新バージョンでは、トークン値を **環境変数** に設定できるようになっています。`env`をクリックして`Add Variable`を選択し、トークン値を設定すると、ノードに平文が表示されなくなります。

あなたの Crawlbase API キーについては、[こちら](https://crawlbase.com/dashboard/account/docs)で確認できます。

<div className="image-side-by-side">
  <Frame>
    ![API 設定画面 1](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/c99b66ac8d30289615a8869bae5a6455.png)
  </Frame>

  <Frame>
    ![API 設定画面 2](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/b022eeb088377ff9b62866c8de03f642.webp)
  </Frame>
</div>

`/`を入力することで、API キーを簡単に変数として挿入できます。

<div className="image-side-by-side">
  <Frame>
    ![API キー変数設定画面 1](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/51f9350677acb396bad5841fa80c903c.png)
  </Frame>

  <Frame>
    ![API キー変数設定画面 2](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/bf75a9783dc263df37d08d183d745fa4.webp)
  </Frame>
</div>

このノードが正しく動作するか確認するために、ノードの開始ボタンをタップしてください：

<div className="image-side-by-side">
  <Frame>
    ![ノード動作確認画面](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/094b96e513169a47f1749e46e1357893.png)
  </Frame>

  <Frame>
    ![LLM ノード設定画面](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/46f4e15ac1e9d3ca3f47dc5bb921ff01.png)
  </Frame>
</div>

### LLM ノード

さて、Crawlbase によってスクレイピングされた結果を分析し、コマンドを実行するために LLM を使用できます。

値`context`は HTTP リクエストノードからの`body`でなければなりません。

以下はサンプルのシステムプロンプトです。

## テスト実行

`プレビュー`をクリックしてテスト実行を開始し、`id`に Twitter ユーザーID を入力してください。

<div className="image-side-by-side">
  <Frame>
    ![テスト実行画面 1](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/a25b122dfa14f0c65fcd3498ccf1898e.png)
  </Frame>

  <Frame>
    ![テスト実行画面 2](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/a019cbc5a970c786e129af8cc987b121.png)
  </Frame>
</div>

例えば、Elon Musk のツイートを分析し、彼の口調で地球温暖化についてのツイートを書きたいと思います。

<Frame>
  ![Elon Musk の口調分析結果](https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/workshop/intermediate/835a01082e74723138d9f97bee0c6c4b.png)
</Frame>

これは Elon らしいですか？笑

右上隅にある`公開`をクリックして、あなたの Web サイトに追加してください。

楽しんでください！

## 最後に…

### 他の X(Twitter) クローラー

この記事では、Crawlbase を紹介しました。これはおそらく利用可能な最も安価な Twitter クローラーサービスですが、時々ユーザーのツイートの内容を正しくスクレイピングできないことがあります。

以前に紹介した[wordware.ai](https://www.wordware.ai/)が使用している Twitter クローラーサービスは **Tweet Scraper V2** ですが、ホストされているプラットフォーム **apify** のサブスクリプションは月額 49 ドルです。

## リンク

* [X@dify\_ai](https://x.com/dify_ai)
* Dify の GitHub リポジトリ：[https://github.com/langgenius/dify](https://github.com/langgenius/dify)
