投稿

ラベル(クラウド)が付いた投稿を表示しています

GPTsのCustom ActionsでNature Remoのセンサー情報を回答するカスタムチャットボット作成

イメージ
サム・アルトマンCEOの解任で、今後OpenAIがどうなるのかなあ...と思いつつ、GPTsのCustom Actionsで、自宅の仕事部屋に設置している環境センサーの温度・湿度などを、関西弁w で答えるカスタムGPTを作成するテスト。 GPT Builderで、ChatGPTと対話しながらノーコードでカスタムGPTを作成できる。Instructionsで、チャットボットの会話や振る舞いなどの条件指示(ここでは関西弁で明るくフランクに話すよう指示している) 図のように、Nature Remo Cloud APIから環境センサーデータを取得するためのSchemaを記述。Authenticationは、Authentication Typeで「API Key」、Auth Typeで「Bearer」を選択して、Nature Remo Cloud APIのAPI Keyを入力する。 Webブラウザとスマートフォンでの実行画面。現在の環境センサーの情報を取得して、自然言語で回答してくれる。GPT Builderでの指示した通り、関西弁でフランクに回答している。 環境センサーBOTのデータの流れは以下の図の通り。GPTsのCustom ActionsでNature RemoのAPIを呼び出し、温度・湿度等の情報を取得して自然言語で回答する。 Nature Remo Cloud APIのHTTPレスポンス(JSON形式)をそのまま渡しても、GPT-4が適当に解釈してくれる模様... 外部サービスのAPIとの連携したチャットボットが、実に簡単に作成できてしまう。「AIしげちゃん」作成時、OpenAI APIの Function Calling でゴリゴリとコードを書いてのは何だったんだろう?と思ってしまった。 しかし、こうなってくると、いろいろ妄想が膨らんでくるね...w

検索から生成へ

イメージ
MidjourneyやStable Diffusionで遊んでいると、これからは検索して選ぶ時代から、自分の好みのもの生成する時代になるのかも と思ってしまいますね。 例えば、「日本のアフリカ系少女の侍」で画像検索しても、Googleさんは何も答えてくれませんが、Stable Diffusionは 次から次へといろんな画像を生成していきます。 今は画像生成で実現しつつあることですが、いずれ 様々なものがAIによって生み出されるようになるでしょうから、いずれ「 検索から生成 」へとパラダイムシフトが起こりそうな気がします。

Stable Diffusion

イメージ
なかなか忙しくて遊んでいる暇がないけれど、「 Midjourney 」に続いて、画像生成AI「Stable Diffusion」を試してみた。 プロポーザルのイラストで使われてそうなCGパースや、木造建築のファサードっぽいものを出力してみたかったんだけど、なかなか難しい。。。建築の場合は特化した調整がいるかもね。 でも、イラスト的な使用なら、いろいろ試したらいい感じの画像が出力できそう。そうなったら、ストック写真にお金払わなくて済むんだけどw

Midjourney

イメージ
コロナ療養期間中は、AIが自動でイラストを生成してくれる「 Midjourney 」を試してました。同様のサービスが次々と登場し、精度もどんどん向上しているので、アップロードするのをためらっていたんだけど、完全に時期を逃しそうなので。。。 「ゴッホが描いた雷雨のサイバーパンクシティ」「サイバーシティのAI搭載ロボットネコちゃん」「サイバーパンクシティ・オーサカ」みたいな お題で描いてもらいました。キーワードが「サイバー」とか「猫」なのは、「 Stray 」で遊んでたからなんですけどねw しかし、うちの娘の卒論ごときでも、「AIによる画像異常検知の高精度化」みたいなタイトルだったので、AIはもう 普通の技術になってるんですよね。 サイバーパンクシティ・オーサカ サイバーシティのAI搭載ロボットネコちゃん ゴッホが描いた雷雨のサイバーパンクシティ

Googleフォトの無制限アップロード

イメージ
Googleフォトの無制限アップロードが廃止された後も、Pixel 5シリーズまでは圧縮画像ならこれまで通り可能だったんだけど、 Pixel 6aに買い替えた ので出来なくなってしまった。 それで、Pixel 6aで撮った写真をいったん自宅のNASにアップロードし、それをPixel 4aにダウンロードしてから、Googleフォトにバックアップするようにした。 手順が面倒臭そうに見えるけど、 アプリ などを使えば自動でできる。というわけで、画面の割れたPixel 4aは、中継サーバーとして余生を送ることになった。 NASにアップロードしているのに、わざわざGoogleフォトでバックアップする必然性はないかもしれないけど、以前は東京と西宮のNASの間でミラーリングし、遠隔地バックアップ出来ていたので、それの代替。

Twinmotion Cloud(早期アクセス)によるPixel Streaming

イメージ
久し振りに Twinmotion 触ってたら、 Twinmotion Cloud の早期アクセスが利用可能になっていたので、Revitの3Dモデルをアップロードしてみました。適当に作ったので、マテリアルが飛んでしまったところもありますが、そんなことより、Pixel Streamingやばいですね。 クラウド上のGPUサーバーでリアルタイムレンダリングを行い、結果のみをWebブラウザにストリーミングするので、普通のPCでも品質を落とさず Twinmotion のプレゼンテーションを再生できます。もちろん、高速なインターネット回線は必要ですが。 建築主側のPCは事務用であることが多いので、リアルタイムレンダリングを見てもらいたくても動かないですし、WebGLでは品質が犠牲になりがちなので期待が膨らみます。でも、高速な インターネット 回線とクラウドGPUサーバーのコストが課題かな。

ロマンスのスタート

イメージ
いろいろ突っ込みどころ満載だけど😅 ようやく、いくちゃんと「 ロマンスのスタート 」を踊ることができたよ。

Plask

イメージ
AIによって、Webカメラや動画ファイルの映像からモーションデータを生成し、ヒューマノイドアバターに適用できるWebサービス「 Plask 」を試してみた。 全身が映っていないシーンや指の動きではモーションが破綻しているけど、全身の動きは概ね合ってるね。 自分自身のリアルアバターに適用して、いくちゃんと ロマンスのスタート を踊ってみたかったんだけど、どうしてもうまくいかない。何とかできるようにしたいんだけどなあ。。

スマートルーム構成図更新

イメージ
HoloLens 2 とか Miracastレシーバ 等が加わったので、東京のマンションの スマートルーム構成図を更新した。以前は、IFTTTとかIntergromat等のサービスも使っていたけれど、無償枠が縮小されたのと、やりたいことが ほとんど Google Home/Assistantだけでできるようになったので、もう 使ってない。 PCやら家電製品やらが、何だかんだと繋がっているので、このPCでインカムなしでリモート会議をしている時、「パソコンをシャットダウンして!」とか「電気を消して!」とか誰かに言われたら、Google Homeが反応して、僕は真っ暗な部屋で一人たたずむことになるかもね。😅

ATOM Cam 2

イメージ
ネットワークカメラ「 ATOM Cam 2 」が早割特価キャンペーンで安かったので、自宅の監視カメラを買い替えた。先日、 NASにサイバー攻撃 を受けたばかりだけど、まあ、家の外側しか映してないので。。。😅 以前、設置していたネットワークカメラの1/7くらいの価格だけど、かなりコンパクトになって、性能も随分向上してる。Alexaにも対応してるので、 Fire TV を経由してテレビで映像を見ることもできる。 IP67の防止・防塵仕様だけど、さすがに屋外で雨ざらしだと劣化も早かろうという事で、1000mlのペットボトルで雨避けのカバーを作ってみた。ちょうど底に収まる大きさで、なかなかいい感じ。

Spatial(その2)

イメージ
以前 試してみたっきりで、しばらく触ってなかった「 Spatial 」で遊んでみた。 VRオフィスとかVRコラボレーションプラットフォームとか呼ばれている「 Spatial 」だけど、以前のように、VR空間内に画像や3Dモデルを持ち込むだけでなく、いつの間にやら、Microsoft 365やSlack、Google Driveなんかとも連携できるようになっている。 ビデオ会議の人もVR空間に参加できたり、音声認識でディクテーション(今のところ英語のみ?)もできたりで、ちょっとした仕事ならできちゃうかもなあ。。。って思った。

Google Earthタイムラプス機能

イメージ
Google Earth に、1984年から現在までの衛星画像を表示できる タイムラプス機能 が追加され、その中の日本のコンテンツ2つ、大阪湾と東京湾をそれぞれ動画にしてみた。 大阪湾は、2つの空港島に、関西万博の会場となる夢洲や明石海峡大橋が、東京湾は、羽田空港の拡張や東京湾アクアライン、東京ゲートブリッジなどが できていく様子が見て取れて面白い。

Google マイマップ EXPO

イメージ
国交省の Project PLATEAU が話題ですね。2006~7年頃、 Google Earth で3D都市モデルと属性データを作りたいと思って、チマチマと100棟ほど作っていたことが、国のオープン・データで実現できるようになるとは、良い時代になったものだ。しかし、この時の取り組みで、 Googleさんからマッシュアップ・コンテスト の最優秀賞をもらったのは、プチ自慢😅

スマートルーム構成図更新

イメージ
ついでに、東京のマンションのスマートルーム(?)構成図を更新。買い替えたりで、ちょこちょこっと機器が変わったりしているので。クラウドサービスを介して、みんな 何となく ゆるーく つながってる。

IFTTT Pro

イメージ
Webサービス等の連携サービス IFTTT が突然有料プランを発表し、これまで無制限に作成できたアプレットが、無料プランでは最大3個に制限されることになった。 IFTTT は主に Google Home で家電製品を制御するのに使っているんだけど、以前は IFTTT がないとできなかったことも、今はほとんどが Direct Actions 等で代替可能になっているので、移行作業を行って、 IFTTT のアプレットは1つを残すだけになった。 完全移行をしたい気もするけれど、1つなら無料プランの範囲内だし、ちょっと移行するのは厄介な仕組みになっているので、取り敢えず、これでいいかなあ。

OK Google テロ

イメージ
Google Home から音声でパソコンをシャットダウンできるようにしている けど、在宅でWeb会議中に「OK Google」とか相手に言われたら、確かにうちの Google Home が反応して、PCとか家電を制御できてしまうかもしれんなあ。 「OK Google! パソコンをシャットダウンして」とか言われた、それで会議終了だ。(^^; まあ、普通はヘッドセットで会話しているので、そこまで心配しなくてもいいと思うけど。 そういえば、 Google Home と Nature Remo と Oculus Quest と Autodesk Forge で何か遊べるもは作れないかなあ。。。

Cluster

イメージ
今日は、コロナウィルスのため、金沢工業大学での現地開催が中止になってしまった、情報処理学会 第82回全国大会の公開セッションに、VRイベントサービス「 cluster 」で参加。 Oculus Quest はサポート外だけど、Oculus Linkを使えば、イベント空間には行くことができたんだけど、Oculus Touchコントローラーでは空間内で移動することができず、仕方がないので、デスクトップモードで参加。 初めての試みで、進行も戸惑いながらだったけど、発言者がわかりにくいから、発言する時はジャンプしてからにしようとか、やっているうちに、少しずつ ルールができていくのが面白かった。 正直、VRである必然性はあまり感じられなかったけど (^^; セッション自体は面白かった。日本建築学会とかだったら、参加者でVR空間にみんなで建築モデルを作るとか、VRならではのインタラクティブな仕掛けがあると面白いかも。

環境センサー

イメージ
東京のマンションに設置している環境センサーのデータをクラウド上に蓄積、表示するダッシュボードを作ってから10ヶ月ほど経ったので、温湿度の変化を通しでグラフ化してみた。 別段、どうと言うこともないグラフだけど、実際の自分の部屋の温湿度が教科書のように変化するのを見るのは面白い。あと、途中でデバイスのファームウエアの更新があって、湿度のデータが細かく取得できるようになった。

スマートルーム構成図更新

イメージ
東京のマンションの PC は Google Home やスマホから音声やリモートで起動、シャットダウンできるようにしている。 でも、この間から PC やらネットワークをいじり倒して 制御できなくなってしまっていたので再構築。DDNS やらクラウドサービスやら Node.js サーバーやらを組み合わせてアクロバティックに制御しているので、元に戻すのに結構苦労した。。。(^^; ついでに、東京のマンションのスマートルーム?の構成図も更新。まあ、とにかく、有線・無線でいろんなモノがつながってはいる。。。

スマートルーム構成図

イメージ
東京のマンションのスマートハウス(というか、ルーム)の構成図を更新。環境センサーのモニタリングシステムと Oculus Quest も 一応 無線LAN と Chromecast  経由でつなっがているので、追加。 もともと スマートスピーカー等に対応した家電はほとんどないので、連動させるためにいろいろ Web サービスを使っているけれど、だんだん どこで何を利用しているのか、わからなくなってきたね。(^^;