Cogbot Community #41 Azure OpenAI ゆるハッカソン!に参加してみた

概要

Cogbot Community #41 Azure OpenAI ゆるハッカソン!に参加させていただきました。今回はその記録です。 会場はなんと日本マイクロソフト株式会社 セミナールーム C+Dです。 Microsoft WiFi、電源も使わせていただきドリンクもフリーという・・・太っ腹です。ありがとうございます。

Day 1

  • 概要とハンズオン紹介
  • 質問などしながら会場退出(21:00)までにAzure OpenAIを使って〇〇する宣言をする

社内データなどをクローズドデータをAzure OpenAIで活用するアイデアが多かった印象です。

わたしは身の回りのことしか考えられないので次のことをやってみようと思いました。

「変数名をAzure OpenAIでそこそこいい感じにしたい、それをPower Automateカスタムアクションにする」

社内にローコードツールを扱える人が増えてくるのは良いことなのですが、命名がカオスで内容を読むのが辛くなることがあります。ドキュメントを書いてみたりしましたがうまくいきません。 これをもう少し一貫性をもたせてイイ感じにできたらと思います。

相談しやすいのもリアルイベントの良いところです。そこでCognitive Searchとか使えばできるでしょうかと運営さんに話しかけてみました。「たとえば社内のデータを活かすにしてもSharePointサーチで要件を満たせることのほうが多いように、今回の題材だったらまずはChat Completionでプロンプトエンジニアリングしない?」とアドバイスをいただきました。そしてChatGPT プレイグラウンド (プレビュー)のアシスタントセットアップでサッと例を見せていただきました。このプロンプトを工夫すればいい感じになりそうです。というかすでにいい感じなんだけどw恐るべし! Alt text

明日はChat Completion APIを触りつつ、カスタムコネクタにしようと決めて初日は帰りました。

Day2

  • 10:00~15:00まで作業時間
  • 15:00~17:00までそれぞれ発表

わたしは残念ながら未完のまま失敗として発表することに。宣言に拘って、Chat Completion APIをPower Automateのカスタムコネクタにしたくて迷走していました💦。 システムメッセージの部分がうまく投げれなくてグダグダです。 失敗は失敗としてパワポの資料をつくって発表しました。悔しい。

運営さまが用意してくれたしま⚪︎ろうbotを使えば良いじゃないかと思っていたのは内緒です。

他の参加者さんの発表が楽しすぎてあっという間の時間でした。

他の方のアイデアなので具体的な内容は書けませんが、一見無関係そうなデータを生成AIに組み合わせて新たな価値に転換する取り組みをされていた方が凄かったです。 身の回りの困りごとを解決するのも必要なのですが、そうした新しい取り組みが、世の中変えていくんだろうなぁと思いました。

Extend 夏休み宿題

完成できなくて悔しかったので、夏休みの宿題として形にしたいと思います。

そもそも目的なんだっけ?って話です。

「変数名がうまくつけれないのでAzure OpenAIでそこそこ一貫性を持たせて、いい感じにしたい」 これが実現できれば良いわけでPower Automateのフローが多少長くて見かけがイマイチでもいいんです。なのでそれを踏まえて考え直しました。

  • Power AutomateとPower AppsのPremiumアカウントが使用可能なのでこれを使う
  • プロジェクトごとに使った変数名の内容がわかるようするしてナレッジ的な役割にする
  • データ保存先をDataverseにしてモデル駆動型アプリで記録する
  • Chat Completion APIはHTTPアクションで叩く

Chat Completionの設定

命名規則を次のようにしました。

  • テーブル列名 Pascal Caseの英語
  • 関数名およびテーブル名 Upper Snake Caseの英語
  • 変数名 Camel Caseの英語

ChatGPTプレイグラウンドから(プレビュー)で試しながら作成します。 Alt text

これまで相当カオスだったのでこれだけでもみやすくなると思います。

Power Apps モデル駆動型アプリの作成

Dataverseにテーブルを作成してビューとフォームを表示したシンプルな構成です。

Alt text

Alt text

Power Automateの作成

動作としては行が作成されるとTypeとInquiryをカンマ区切りでChat Completion APIにHTTPリクエストをします。Azure Open AIが返してくれた答えを行更新でDataverseに記入します。 Alt text

HTTPアクションの内容です。 Alt text

ポイントは例示した最後に入力とアシスタントからの回答を空にしてあげるところです。

まとめ

ハッカソンはハック+マラソンの造語とのことです。ゆるとついていたのでノリで参加ボタンを押してしまいました。 最初は場違いなところに来てしまったかも!と少々ビビリ気味でした。しかしオンラインでは味わえない雰囲気のなか、限られた時間内に作って発表する。それぞれのスタンスで楽しむ。田舎の片隅でボーっと生きていたらできないような貴重な体験をさせていただきました。

また、オンラインの勉強会を主催されていて画面越しに勝手に憧れている方々にもお会いできて記念撮影までさせていただいちゃいました。 リアルイベントは運営さまのご苦労があるかと思いますが、とても楽しかったです。ありがとうございました。

なおここ数日Azure OpenAIのAPIをたくさん触りましたがコストはこれだけです。 Alt text

「やっちゃえばいんだよ。怖くないから。」という@ayako_omoriさんのお言葉が印象深かったです。