Slide 1

Slide 1 text

WorkatoからAWSのAI系 機能を使ってみた Shingo Miyakoshi

Slide 2

Slide 2 text

AWSのAI系サービス ● Amazon Bedrock ○ 近しいもので有名どころはChatGPT ○ 文章を要約したり回答を生成したいところで使っています ● Amazon Kendra ○ 検索機能を持つデータベース ■ データベースに保存するときに「ベクトル化」してから保存している ● 「意味」で検索ができる ○ 過去対応したITへの問い合わせチケットを入れています ■ 新たな問い合わせが来たときに「類似」を検索しています

Slide 3

Slide 3 text

AWSのAI系以外のサービス ● AWS Lambda ○ Kendraを実行するときに登場します ● ServiceNow ○ ユースケースで登場します ○ 今回ServiceNowについてはあっさりです ■ 詳しく聞きたい方はお声がけください ● Slack ○ ユースケースで登場します ○ 今回Slackについてもあっさりです ● Workato ○ みなさんだいすき(!?)Workatoです ○ 今回はWorkatoを中心におはなしします

Slide 4

Slide 4 text

ユースケース

Slide 5

Slide 5 text

前提 ● SlackでServiceNowに問い合わせチケットを発行しています

Slide 6

Slide 6 text

今回ご紹介する内容で実現できたこと ● Bedrockを使用することで実現 ○ チケット作成時に「内容を要約」してチケットのタイトルにする ○ チケット解決時に「根本原因」と「解決メモ」を自動で生成する ● Kendraを使用することで実現 ○ チケット発行時に「類似した問い合わせ」を通知する ● これらの実現の中心にいるのがWorkatoです 要約、自動生成 類似の検索

Slide 7

Slide 7 text

今回お伝えしたいこと ● WorkatoからAmazon Bedrockを使うことは簡単に実現できます! ● WorkatoからAmazon Kendraを使うにはひと手間必要でした!! ● 今回AWS側の準備については触れていませんのでご了承ください

Slide 8

Slide 8 text

いざ本題

Slide 9

Slide 9 text

Amazon Bedrock篇

Slide 10

Slide 10 text

WorkatoからBedrockを使う方法 以上。

Slide 11

Slide 11 text

WorkatoからBedrockを使う方法(コネクタ) Custom connectorとしてAWS Bedrockコネクタが存在します! (Amazon Bedrockじゃないことに違和感を覚えつつ) Workato Customer Successさんありがとうございます! Installed By が28であまり使われていない疑惑なので宣伝です

Slide 12

Slide 12 text

WorkatoからBedrockを使う方法(レシピ1) コネクタがあるので処理が色々定義されています コネクタがあるということはレシピに追加してコネクションを設定できます つまりAI系を実装するけど、やることはいつものWorkatoの使い方です

Slide 13

Slide 13 text

WorkatoからBedrockを使う方法(コネクション) ● 通常通りコネクションを作成します ● Authentication typeは2種類から選択し ます ○ Access key ○ IAM role ● リージョンの指定が必要です ○ コネクタで処理を設定するときにモデルが指定 しますが、ここで指定したリージョンで許可して いるモデルだけが選択できます ○ 最新モデルは来日していないことが多いので リージョンに注意してください!

Slide 14

Slide 14 text

WorkatoからBedrockを使う方法(レシピ2) 以下はanalyze textの例です ● 使いたいモデル ● 解析させたいテキスト(Source text) ● 依頼したいこと(Instruction)

Slide 15

Slide 15 text

テストしてみます 1

Slide 16

Slide 16 text

テストしてみます 2

Slide 17

Slide 17 text

Amazon Kendra篇

Slide 18

Slide 18 text

WorkatoからKendraを使う方法 以上。 ひと手間

Slide 19

Slide 19 text

WorkatoからKendraを使う方法(コネクタ) コネクタが存在していないのです!!

Slide 20

Slide 20 text

WorkatoからKendraを使う方法(Lambda) そこでAWS Lambdaに登場いただきます Lambdaコネクタはもともと使える状態にあると思われます

Slide 21

Slide 21 text

なぜLambdaを使うのか ● Kendraコネクタが存在しないため ○ どうにかしてKendraのAPIを叩きたい ● WorkatoのPythonなどで実行できるのでは? ○ boto3を使って実現することが一番楽な道だと思っています ■ WorkatoのPythonでboto3を使う方法は大野さんによって方法を共有いただいていま す ● しかし認証なども実装が必要になる ○ 素直にLambdaから実行で良いのでは? ■ Workatoのコネクタでセキュアに使える ■ AWSの仕組みに乗れる ということで、今回はLambdaを使いました Workato:Pythonコネクタで任意のモジュールをインストールして利用する https://qiita.com/tabimoba/items/e3dc2529248a90eaac8e

Slide 22

Slide 22 text

実装について LambdaでPythonによる 実装 Workatoのレシピによる 実装 実装は以下の順番で進めるのが良いと思います 1. Kendraにデータが収集できている状態 a. IndexとData Sourceを作成してデータのSyncまで完了 2. Lambdaで関数を作成 a. Kendraへクエリを発行して結果を取得できている 3. Workatoのレシピを実装 a. Lambdaの関数を呼び出して結果が取得できている

Slide 23

Slide 23 text

AWSが提供しているドキュメントを 確認いただくのが良いと思います 例 Querying an index https://docs.aws.amazon.com/kendra/latest/dg/searching-example.html Lambdaを使ったPythonによる実装について

Slide 24

Slide 24 text

WorkatoでLambda呼び出す方法(Action) ● 今回は関数を実行するので Invoke functionを選択します ● 選択すると次はコネクションの選です ○ Bedrockでも作りましたがLambdaコネクタ用にも必 要です ○ Google DriveとGoogle Sheetsでそれぞれコネク ションが必要なのと同じですね

Slide 25

Slide 25 text

WorkatoでLambda呼び出す方法(Setup) ● Function name ○ 呼び出したLambdaの関数を指定します ● Function input ○ 実行するときに渡す引数を設定できます ● Function output ○ Lambdaが処理して戻した値をWorkatoのレシピで使用 するためのmetaデータです ○ ここで定義しておかないとレシピの後続処理で使えない のでご注意ください ● Invocation type ○ Lambdaからの戻り値を後続で使いたいときには RequestResponseを選択してください

Slide 26

Slide 26 text

冒頭で このようにお伝えしましたがいかがだったでしょうか ひと手間必要だったり、接続先のAWS側の準備が大変かもしれません しかしWorkatoを使うことで、AI系のサービスとも連携できて社内にAIを活用 した体験を提供できると思います! ご清聴ありがとうございました。