Zendesk × Dify × Slack!リアクション一つで始めるナレッジ活用術
株式会社ネクスタの奥上です。
はじめに
Slackのリアクションをトリガーに、Difyを活用してZendeskの記事から必要な情報を簡単に取得できる仕組みを構築しましたので、その紹介をさせていただきます。
背景
弊社が提供するプロダクト「SmartF」には、ユーザさまにご活用いただくために、ZendeskでKブックという改善支援ドキュメントを用意しています。
お問い合わせいただいた際や導入を進めるときにも、以前から社内でKブックは活用していましたが、記事が膨大で探し出すのに苦労をしてました。
そのため、Zendesk上にDifyのチャットボットを設置することで、より活用できるようにしていましたが、導入当初より明らかに利用数が減少していると耳にしていました。
そこで、利用のしやすさという観点で、業務の中心として根付いてるSlackからDifyを利用できる仕組みを構築しました。
使い方
特定のチャンネルにメッセージを送信して、特定のスタンプを押す、だけです。
また、そのあとにGood/Badのスタンプを押すことで、Difyにフィードバックする機能も実装しています。
<実際の問い合わせ例>
実装について
仕組みの概要
Slackメッセージ + リアクション →
Slack App →
自作API →
Dify API →
Dify (Zendesk記事をデータソースとして利用) →
自作API →
Slack API → Slackメッセージを返信
Slack Appの設定
OAuth & Permissionsで必要な権限をBotに付与します。
リアクションを読み取るための権限と、メッセージを読み取ってスレッドに返信するための権限を付与します。
リアクションが追加されたときに、自作APIにリクエストするように設定します。
Dify APIの仕様
チャットメッセージの送信
POST /chat-messages
パラメータ | 内容 |
---|---|
query | プロンプト |
input | アプリで定義した変数値 |
response_mode | ストリーミングモードorブロッキングモード |
user | アプリで決めたユーザ名 |
conversation_id | 会話ID |
files | ファイル |
auto_generate_name | タイトルの自動生成 |
Difyスタンプを押したときに、Slackのメッセージをプロンプトとしてセットして、Difyにチャットを送信します。
※後述の改善点を対応する場合は、今後会話IDやファイルを活用しようと思っています。
メッセージのフィードバック
/messages/:message_id/feedbacks
パラメータ | 内容 |
---|---|
rating | フィードバック(like or dislike) |
user | アプリで決めたユーザ名 |
content | メッセージでのフィードバック |
Goodスタンプのときはlike、Badスタンプのときはdislikeで、Difyへフィードバックを送ります。
その他に必要な作業
・SlackのチャンネルにSlackアプリを招待する
・Slackに利用するカスタムスタンプを追加する
・自作APIを実装する
・Slackアプリの初回認証を済ませる
・DifyにKブックを学習させる
導入してみてどうだったか
Difyを導入して直後は多くて30件近くでしたが、仕組み導入後は通常時で30件、さらに利用が伸びてる状況です。
また利用されフィードバックによりKブックに不足してる情報が分かるようになり、よりKブックを充実させるためのタネも得れるようになりました。
これにより、問い合わせ→Kブック改訂のサイクルが完成しました。
<利用状況>
左(導入当初)、中(導入2ヶ月)、右(本仕組み導入)
改善点と今後の展望
機能としては、一問一答形式での実装のため、会話できるようにすること、
画像でのインプットに対していないこと、が機能拡張したい点になります。
また、Kブックは日々更新されていますが、プロダクトに関するすべての情報が集まってるわけではありません。プログラムのソースコードの情報や必要に応じてデータベースからも調査できるようになるとより強力になるはずです。
最後に
本記事ではSlackでリアクションすることで、気軽にAIを利用でき、ドキュメントがより充実する仕組みづくりについて共有させていただきました。
ただAIから回答を得るだけであれば、リアクションではなくメンションやメッセージ送信をトリガーにすることで実現可能ですので、もし同様に作られる方は運用に合わせて用意するとよいかと思います。
(弊社では、データ集計や整形などを実施するため、リアクションをトリガーに動作するようにしました。)
実装としては、1時間ほどあれば完了できる規模感です。
Discussion