Difyのテンプレートを触ってみる

さくっとLLMアプリが作れて便利というDifyをさわってみました。
（すみません、４ヶ月くらい前に下書きに書いて放置していたものなので、供養的な気持ちで投稿します。古い情報となりますのでご注意ください）

https://cloud.dify.ai/signin

とりあえず、ちょっと触った感触としては、ネット上とかだと、これですぐLLMアプリ作れる！みたいな雰囲気ですが、やはりそれなりに作りこまないと難しそうです。営業提案用のプロトタイプをささっと作ってもっていくぐらいなら使えますが、本格的な開発をするとなると、もう少し作りこみが必要です。
テンプレートは、結構微妙なものが多いですが、組み方などは参考になります。

ちなみにOSSなので自サーバ上に立てられたりするのですが、とりあえず簡単に使ってみたいのでクラウド上のFree版をさわってみます。
Free版だとアプリを10個までしかつくれません。
また、chatGPTも無料でつかえますが3.5までしかつかえず、回数制限もあります。（タダで使わせてもらえるだけすごい）
とりあえず、Googeアカウントでサインアップ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/bda728d1-6368-a13f-9dbc-7cc615ba2cf7.png)

速攻、スタジオ画面に遷移するので、左側のテンプレートから作成をクリックすると、もりもりたくさんでてきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/4bd451a8-7fea-e15c-3700-e3e3210df45f.png)

2024/5/10の段階で、28のテンプレートが作成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/e3b171db-8948-d332-0506-3e34a79e3367.png)

大別して、以下の４種類が存在します。
- チャットボットタイプ：シンプルなチャットで応答するタイプのもの
- エージェントタイプ：ツールを使ったりしたちょっと複雑なもの
- ワークフロータイプ：チャットではなく、一問一答タイプ
- 完了タイプ：謎。

それぞれ、以下のテンプレートが存在します。
- チャットボットタイプ
    - ★Workflow Planning Assistant：つくりたいアプリの説明をいれると、どんなワークフローをつくればよいか教えてくれる
    - Question Classifier + Knowledge+chatbot:質問の種類を分類し、分類に応じた資料をもとにチャットで回答
    - Knowledge Retreival + chatbot:ナレッジベースを備えたチャットボット
    - Dify Feature Request Copilot：Difyに対するリクエストをきくボット
    - ★Website Generator：ウェブサイト生成
    - ★Python bug fixer：pythonのバグ修正ツール
    - Saas Startup Mentor：Saasスタートアップのメンターボット。起業家のアイデア生み出しをサポート
    - Meeting Minues and Summary:議事録作成ツール
    - ★Article Grading Bot：記事採点ボット
    - Strategic Consulting Expert：戦略的マーケティングに関する質問に回答
    - Code Interpreter：コード執筆
    - AI Front-end interviwer：フロントエンド開発のスキルレベルをテストする模擬面接官

- エージェントタイプ
    - SVG Logo Design：ロゴ作成ツール
    - YouTube Channel Data Anaysis：Youtubeチャンネル分析（ただしGoogle API keyが必要）
    - Travel consultant：旅行コンサルタント
    - Investment Analysis Report Copilot：投資分析レポート作成
    - Flat Style Ilustration Generation：イラスト生成
    - Cyberpunk Style Illustration Generator：サイバーパンク風イラスト生成

- ワークフロータイプ
    - Three-Step Translation Workflow:
    - Text Summarization Workflow
    - SEO Blog Generator
    - Sentiment Analysis
    - Email Assistant Workflow
    - Customer Review Analysis Workflow

- 完了タイプ
    - Fully SEO Optimized Article includin FAQ
    - Code Converter
    - SQL Creator
    - Translation assistant

# 試してみる
エージェントタイプは、他ツールを使うためのAPIなどが必要だったりしたので、あまり試せなかったですが、簡単に試せるものをいくつか試してみました。

## チャットボット
### Workflow Planning Assistant
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d611b9c0-0b7d-ce00-6a33-db064d2577bd.png)

### Website Generator
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/a5350663-c5fb-e563-9a70-27f299abc7e1.png)

できあがったページがこちらです。シンプル。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/7f51ffde-aa5b-ca31-56aa-3c966e88a607.png)

### python bug fixer
簡単なバグを直してくれて、お願いしたら日本語のコメント（sphinx対応）もつけてくれた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/e8f20825-5068-f09f-33bc-bb7ab42b7581.png)


# ワークフロー
### Three Step Translator
以下の３ステップで翻訳するツール。
1. 直訳
2. 直訳の問題を指摘
3. 再翻訳

以下がワークフローです。
そのままだと中国語に翻訳されるので、LLM1とLLM3に記載されたプロンプト内のChaineseをJapaneseに変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/8d56922c-41ff-c47b-db0f-eeeec17a95ab.png)
以下が実際の翻訳画面。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/4f97d233-3b52-d2b7-0152-0ef196eb8337.png)

### メールアシスタント
チャットで要約、メール返信、メール執筆、文章の推敲、文法チェックのいずれかをサポートしてくれるアシスタントです。

また、仕上げテイスト（シンプル、長め、など）を選ぶことができます

ワークフローは以下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/a8d77b87-a7a7-7f01-7f60-06efa33dd804.png)

実際の使用感は以下。
お客様への謝罪文という、書きにくいメールをかいてもらいます。
よい仕上がりです。どう謝っても許してもらえないパターンなので、このクオリティでよいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/514a68d3-f17c-e977-986f-3b90c0f9281e.png)

### 感情分析

以下、ワークフローです。MultiSentimentだけでなく、ユーザー指定のカテゴリに対しても分類してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d003f0a7-5780-c4b1-02c2-3c0f41de41af.png)

以下は、ある商品について怒っている顧客のレビューメッセージです。
ちゃんと怒りやネガティブであることが検出できています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/46ed6d57-e1b3-ee50-2802-d38b2e98c9d7.png)


以上