Nexta Tech Blog
👍

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時間ほどあれば完了できる規模感です。

Nexta Tech Blog
Nexta Tech Blog

Discussion