投稿

初心者向けPowerAppsの使い方

イメージ
初心者向けPowerApps 初心者向けPowerAppsの使い方 私は普段、 PowerPlatform を使ったサンプルアプリや各種機能の使い方を紹介しています。 ただ、いままではアプリで使う機能のみを紹介しており、初心者向けというよりはある程度触ったことのある人向けのものでした。 なので今回、 PowerApps について、 初心者向け の解説をする資料を作成したので、それを公開します! なお、2回分の資料を公開しますが、それぞれ YouTube でも解説やデモを紹介しているので、合わせて参考にしてみてください。 第一回 第一回は、PowerAppsでプロジェクトを作成する方法から、簡単な編集、アプリを公開、共有する方法を紹介しています。 第二回 第二回は、PowerAppsで使う機能を紹介しています。 データやPowerAutomateフローの接続、ギャラリー表示の方法や画面遷移を紹介しています。 さいごに 今回は PowerApps の初心者向け資料を公開しました! そのうち、 PowerAutomate なども初心者向けに資料作成していければと思います。 こんな機能も紹介してほしい!みたいなものがあれば、コメントなどいただけると嬉しいです。 ブログや動画で紹介していこうと思います! 今回はこの辺で、ではまた!

オンプレミス環境でベクトル検索をしてみる(OpenSearch)

イメージ
Document オンプレミス環境でベクトル検索をしてみる(OpenSearch) 昨今、生成AIやLLMが話題ですが、より回答精度を上げる方法として RAG という言葉をよく聞きます。 RAG(Retrieval-Augmented Generation) とは、ざっくりいうと、FAQなどのデータをデータベースに格納しておき、ユーザーからのインプットに対して最適な回答をデータベースから抽出し、その回答をもとにLLMに文章を生成させることで、より正確に回答を生成できるようにする方法になります。 RAG用のデータベースでは、 ベクトル検索 という手法が主に使われており、入力されたキーワードを全文検索するのではなく、類似度で検索をする形式が多いようです。 今回は、このベクトル検索について触れていきたいと思います。ただ、AzureやAWSなどのクラウドサービスを使えば容易に実現できる思いますが、少し勉強しながら構築したいのでオンプレミス環境に導入していこうと思います。 なお、私はデータベースにそこまで詳しくなく、見様見真似で進めているので、間違った解釈があるかもしれませんがご容赦ください。 ただベクトル検索に興味のある方の参考になれば幸いです。 データベースの準備 今回ベクトル検索可能なデータベースとして、 OpenSearch を使ってみたいと思います。 クラウド環境では、 Elasticsearch や OpenSearch の名前をよく見ます。調べてもこのあたりのデータベースが良さそうという理由で採用します。 ちなみに、この Elasticsearch はOSSであったものの、色々商用問題などがあったようですね。。。 さっそく、 OpenSearch を導入していきたいと思います。 環境は、Ubuntu22.04です。 Javaをインストールする ...

CPUで処理できるLLM、BitNetを試してみる

イメージ
CPUで処理できるLLM、BitNetを試してみる CPUで処理できるLLM、BitNetを試してみる 近年、 LLM や 生成AI が流行っており、これらを導入するソフトウェアなどが増えてきました。 さらに、当初は企業のサーバに接続するAPI通信が主体でしたが、ローカル環境でも動作するモデルが出てきており、環境が整っている人であれば個人PC内でも実行できるようになりました。 しかしLLMの推論にはCPUでは処理が遅くGPUが必須となっていました。ゲーミングPCなどを持っている人であればある程度のスペックのGPUを持っているかと思いますが、そうでない人がほとんどかと思います。 そんな中、Microsoftは CPUでも処理できるLLMモデル を公開し、さらにGithubにも公開されました。 このあたりの専門ではないので詳細は省きますが、本来32ビットの浮動小数点数で表現するものを、1ビットで表現することでモデル容量を減らし、処理を高速化するもののようです。 モデルサイズが小さくなるので、どうしても精度低下は発生しますが、CPUでも処理をさせることができるようです。 今回はそんな BitNet をローカル環境で実行して、精度などを確認していきたいと思います。 ただし、まだ日本語には対応していなそうなので、英語のみでの確認になります。 なお、OSが異なりますが、動画でも手順紹介をしているので合わせて参考にしてみてください。 導入手順 早速導入をしていきます。基本的にはGithubのReadmeに従って準備をしていきます。 なお、今回は CentOS Stream9 の環境で構築します。 Pythonをインストールする まずはプログラミング言語である、 Python をインストールします...

MacOSと.Net MAUIでAndroid15をビルドする

MacOSと.Net MAUIでAndroid15をビルドする MacOSと.Net MAUIでAndroid15をビルドする .Net MAUI でアプリを作っている人は少数だと思うんですよね。。なのでこんな悩みをしている人は少ないかと思いますが、誰かの参考になれば。。 .Netと言えばWindowsでしたが、 Visual Studio for Mac があったので、Macユーザーでも.Netの開発ができていました。 しかし、Visual Studio for Macは2024/8/31に廃止になり、 VSCode にextensionを導入する形での開発スタイルに。。。 これにより、今まではVisual Studioで一括管理できていたSDKなどが、個別管理になってしまいパスの通し直しなどが発生しました。 これから.Net MAUIの環境を構築する人には関係ないものですが、今まで Visual Studio で構築していた人は新しく Android Studio をインストールし、SDKをインストールします。 ここで問題なのが、Visual StudioにおけるAndroidSDKの格納先は下記で、 $Home/Library/Developer/Xamarin/android-sdk-macosx/platforms Android StudioのAndroidSDKの格納先は下記のため、格納場所が異なります。 $HOME/Library/Android/sdk そのため、Android Studio経由でSDKをダウンロードをすると、Pathを更新しない限りはVSCodeでビルドしようとするとエラーになります。 ダウンロードが完了したら、下記コマンドを実行します。これでビルドする際に、Android StudioでダウンロードしたSDKを利用することができます。 Sudo dotnet build -t:...

.Net MauiでAndroidのEdgeToEdgeに対応する

イメージ
.Net MauiでAndroidのEdgeToEdgeに対応する .Net MauiでAndroidのEdgeToEdgeに対応する Androidアプリをリリースしている人であればご存知だと思いますが、アプリを公開しておくためには常に最新OSに対応しておかないといけません。 なので私も最新の Android15 に対応するべく、アプリ改修をしていたのですが、一つ問題が生じました。。 それは、 Android SDK35 でデフォルト設定になった EdgeToEdge です。 EdgeToEdge が有効になることで、端末の時刻などが表示されている画面上部までアプリ内容を表示できるようになる反面、しっかりアプリ側が対応していないとレイアウトの一部が被ってしまい、正常に動作しなくなってしまったります。 特に私は NavigationBar を表示させていることもあり、画面遷移後の戻るボタンが動作しなくなったり、ツールバーが押せなくなったりしてしまいました。 これに対応しないといけないのですが、使用しているフレームワークが .Net MAUI のため情報がほとんどなく苦戦したので対応方法を纏めようと思います。 EdgeToEdgeに対応する 調べていると色々な対応方法が紹介されているのですが、.Net Mauiに対応したものがなく、それっぽく記述しようとしてもコンパイルエラーになりました。 その中で最終的にうまく行った方法を紹介します。 結論として、かなり無理矢理感があり、NavigationBarの表示文字がカメラに被ってしまっているなどの問題もあるのですが、よければ参考にしてください。。 参考にしたサイト: こちら 下記のコードをPlatform/Android配下の MainActivity.cs に転記します。 public class MainAc...

Teamsでメンションされた際にToDoを作成する

イメージ
メンションされた際に、ToDoを作成する Teamsでメンションされた際にToDoを作成する みなさんは仕事などで Teams でやり取りをする機会が多いかと思います。 Teams には メンション 機能があり、グループチャットやチャネルにて宛先を指定し通知をさせることができます。 非常に便利な機能なのですが、多用されると通知がたまり、対応漏れ気が付かないケースが出てくるかと思います。 こういった対応漏れを防ぐために色々な対策をとっているかと思いますが、今回は私が実装している対策を紹介をしたいと思います。 方法としては、 PowerAutomate で対応フローを作成し、メンションされた際にToDoリストに追加するようにしています。 是非参考にしてみてください。 なお、動画でも同じ内容を紹介しているので併せて参考にしてみてください。 フロー紹介 それではフローを紹介していきます。 トリガー メンションされた際に起動するようにしたいので、トリガーはTeamsの「自分が@mentionされたとき」を選択します。 このトリガーでは詳細設定が必要になるので、設定をしていきます。 メッセージの種類 このトリガーは「グループチャット」と「チャネル」の2つから選択します。 今回は「チャネル」を選択します。 チーム ...

Pythonをオフラインでインストールする(Linux)

イメージ
Pythonをオフラインでインストールする(Linux) Pythonをオフラインでインストールする(Linux) 以前、 Node.jsをオフラインでインストールする(Linux) という記事を投稿していましたが、 今回は Python について、オフライン環境でインストールをする方法を紹介していこうと思います。 趣旨としては前回同様に、 インターネットに接続のできない環境 で資材インストールをする手順を纏めるものです。 通常はインターネット接続できるので不要ですが、仕事などで使うサーバーなどではよくあることだと思うので、よければ参考にしてみてください。 ちなみにインターネットに接続することができる環境でも、この方法を用いても問題はないです。 インストール手順 今回のオフラインインストールはLinux環境での内容です。 また資材のダウンロードはオンライン環境で実施するため、オフライン環境に資材を持っていく部分は各自の環境に沿って実施してください。 資材準備 まずは下記公式サイトにアクセスし、資材をダウンロードしてきます。 これはインターネットに繋がる端末で実施します。 ・ Download Python 「ダウンロード」の「すべてのリリース」から任意のバージョンを選択します。 今回は、 3.12.4 を選択し、「Files」の「XZ compressed source tarball」をクリックします。 資材転送 ダウンロードしたバイナリファイルをオフライン環境に持っていきます。 ...