メインコンテンツへスキップ
見出し画像
Photo byia19200102

#ChatGPT を使って #Slack からChatGPTを使うためのアプリを作ってみた

    先日、こんな記事を書きました

    Slack上のテキストをDeepLで翻訳するアプリを書いたんです。やっぱ便利ですよねDeepL。今回はファイルの翻訳にも対応しました。

    https://support.deepl.com/hc/ja/articles/360020582359-%E6%96%87%E6%9B%B8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%BD%A2%E5%BC%8F

    これを見ると、PDF/Word/PPT/テキスト/HTMLに対応しているみたいです。便利!

    これは一つの投稿に対してスタンプを押すことで翻訳する形なのですが、チャンネルに流れてくる文章すべてを翻訳するというアプリも別に作って公開してあります。

    今回はChatGPTの話

    ChatGPTって知ってますか。AIを相手にチャットできる機能で、ものすごい性能だって話でバズりました。↓Twitterでの検索結果

    今はこのURLからしか使えないんですけど、Slackから使えたら、AIとの会話を試してみたいと思う人が増えるんじゃないかなと思ってSlackアプリに実装してみようということになったわけです。

    https://chat.openai.com/chat

    すごいのは、こんなコードを書いてくれない?って質問すると、そのまま使えそうなコードが返ってくるということで、落合陽一さんが色々やってました。

    ねえテトリス作って? 感動できる! pic.twitter.com/ydzNNuFayu

    — 落合陽一 Yoichi OCHIAI (@ochyai) December 3, 2022

    びっくりですよね。ということで、今回はChatGPTを使って、Slack Bolt for PythonからChatGPTを使うためのコードを教えてもらいましょう

    画像
    ChatGPTからのレスポンス

    おお!それっぽいのが出てきた。
    そもそもOpenAIのAPIの使い方を知らないので、このコードを使えば簡単に実装できそうです。

    def generate_response(prompt, api_key):
     model_engine = "text-davinci-002"
     openai.api_key = api_key
     completions = openai.Completion.create(
      engine=model_engine,
      prompt=prompt,
      max_tokens=1024,
      n=1,
      stop=None,
      temperature=0.5,
     )
     message = completions.choices[0].text
     return message

    model_engine = "text-davinci-002"
    と書かれている通り、ChatGPTのモデルがAPI経由で使えるという状態では今現在はないみたいです。
    promptってのがインプット用のテキストです。
    今回は、アプリへのメンションで会話が始まるような形にしたかったのでインプットはこんな感じでメンション部分のテキストを削除しました。そうしないと変なレスポンスが来ます。

    imput_text = re.sub('<@.*>', '', event['text'])
    message = generate_response(imput_text, open_ai_api_key)

    メンション時に入ってきたテキストを、ChatGPTが吐いたコードをつかってOpenAIに投げればなんとびっくり完成です。スゴ

    APIキーが正しいかどうかを知りたい

    APIキーは、Slackアプリのホームタブから入力する形にしてあるのですが、APIキーが正しいかどうかを判定したいのです。こんな感じで。

    画像

    バリデーションどうやれば良いんだろうと思ったら、ChatGPTに聞きましょう。

    画像

    そのまま使えるじゃない。
    ということで、DeepLで翻訳するために作られたSlackアプリに、ChatでAIと対話できる機能を追加してみました。しかもコードはAIが生成しています。簡単なコードならこうやってAIが作ってくれる時代が来たのか…すごいな(遠い目

    ということで、DeepL TranslatorアプリにAI会話機能をつけました!API経由で使える機能がChatGPTではないので、あそこまでの高機能とはいかないのですが、AIから自然言語でレスポンスが来るというのをちょっと試したいという場合に利用できると思います。是非お試し下さい。

    インストールはこちらから: https://lne.st/deepl

    AIに世界一美味しいパンを聞いてみた

    画像

    日本語で聞いても返答が英語というパターンがあるので、DeepLを使って翻訳してあげると理解がすんなりいきますね!

     
     
    株式会社リバネス取締役CIO/創業メンバー 企画・営業からCMOを経て現職。 Salesforceを中心としたSaaSを活用することで組織のボトルネックを解消し、成長に耐えうる組織づくりを生業としています。

    あなたへのおすすめ