しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

C# と ONNX Runtime Generative AI (DirectML) を利用して Phi-3 Vision をローカルで動かす

C#

以前に ONNX Runtime Generative AI に対応した Phi-3 mini / medium のモデルを利用して、ローカルマシンの DirectML アクセラレーションが効く形で動かしてみました。本命と考えている NPU に最適化された Phi-Silica はまだ利用可能になっていないので、…

Azure Functions の .NET In-Process 向け .NET 8 サポートがリリースされました

公式ブログで予告されてからかなり時間がかかっていましたが、ようやく Azure Functions の .NET In-Process Model での .NET 8 対応がリリースされました。大々的なリリースは行われておらず、GitHub の Issue とドキュメント更新に留まっているのは開発チ…

Snapdragon X Elite 搭載の Surface Laptop 7 と 10GbE と Wi-Fi 7 に対応した Deco BE85 を購入した

いい加減に Surface Laptop 4 が遅くて熱くて USB-C が 1 つしかないのに耐えられなくなったので、Build 2024 の前日に発表された Snapdragon X Elite を搭載した Surface Laptop 7 を購入して乗り換えました。搭載メモリ量を 16GB と 32GB でかなり悩みまし…

AI Toolkit for VS Code を使って手軽にローカルで Mistral-7B と Phi-3 mini を試す

Build 2024 で Microsoft の AI 戦略が Cloud から Cloud と Edge を組み合わせるように変化したと感じていますが、その決定的なものが今回紹介する AI Toolkit for VS Code だと考えています。元々 Windows AI Studio として存在していた拡張機能の進化バー…

Azure Cosmos DB for NoSQL でサポートされた Vector Search (Preview) を試した

Build 2024 で発表された Cosmos DB のアップデートの中でも注目度の高い Vector Search (Preview) について、実際に試して深堀しておきました。これまで Azure で Vector Search を実行するにはコストが高い割に SLA の低い AI Search を使う必要がありまし…

C# と ONNX Runtime Generative AI (DirectML) を使って Phi-3 をローカルで動かす

C#

Build 2024 では Windows などローカルのリソースを使って Generative AI を動かすという話が非常に多かったように、Keynote でも度々取り上げられた Phi-3 についても AWQ で 4-bit 量子化された DirectML で利用可能な ONNX モデルが公開されています。セ…

Microsoft Build 2024 で発表された Azure Cosmos DB for NoSQL のアップデート

Microsoft Build 2024 では Serverless Computing 領域で注目度の高いアップデートが多かったですが、Cosmos DB も Generative AI に対応したデータストアとして進化を続けています。昨今は Generative AI を意識したアップデートが Azure 全体的に多いので…

Microsoft Build 2024 で発表された App Service / Azure Functions / Container Apps のアップデート

先週開催された Microsoft Build 2024 は去年同様メイントピックは Generative AI でしたが、Azure Serverless 周りのアップデートが去年以上に発表されました。現地参加ではみたいセッションが被りすぎていてキャッチアップが遅れてしまうことが多いので、…

Microsoft Entra ID の B2B コラボレーションの招待を Microsoft Graph SDK から行う

Microsoft Entra ID には External ID として別テナントのユーザーを招待する B2B コラボレーションという機能が用意されています。最近は External ID の扱いが良くわからなくなっていますが、今は B2B コラボレーションは External ID 扱いらしいです。Azu…

Azure OpenAI Service の GPT-4o Early Access を REST API と Azure SDK から無理やり使ってみた

昨夜の OpenAI の Spring Update で新しいフラグシップとなる GPT-4o が発表されましたね。かなり応答が高速になっているのに価格も下がっているという革新的なモデルとなっています。GPT-4 Turbo をアプリケーションで利用する上での大きな障害はその応答の…

Google AdSense の広告掲載を全て止めることにしました

タイトルの通りですが、このブログでは長年 Google AdSense を使った広告掲載を行っていましたが、今日から全て止めることにしました。止めるに至った理由はいくつかあるのですが、最近の無茶苦茶な広告の出し方に嫌気が差したのが一番大きいです。正直これ…

Azure App Service に pnpm を利用した Node.js アプリケーションをデプロイする

最近は Node.js のアプリケーションを Azure App Service にデプロイする機会がかなり多いので、大体のユースケースには対応できると思っていたのですが、少し前に pnpm を使っているアプリケーションのデプロイが上手くいかないケースに遭遇したのでまとめ…

非推奨となった Terraform リソースからのマイグレーションを安全に行いたい

Azure Provider に限った話ではないと思うのですが、正直 Azure Provider はリソースの非推奨化が多い気がするので書いています。きっかけとしては直近の Azure Provider の更新で azurerm_static_site は非推奨になって azurerm_static_web_app が追加され…

Azure Functions の Node.js v4 に追加された HTTP Streaming サポートを深掘りする

Azure Functions の Node.js や Python といった言語ワーカーが動作するタイプでは、これまで HTTP のリクエストとレスポンスを Stream として扱うことが出来なかったので、大容量ファイルのダウンロードやアップロードが効率的に行えないという制約がありま…

独自のバックエンドとリンクした Azure Static Web Apps のプレビュー環境を自動で作成する

Azure Static Web Apps で何も考えずに GitHub で Pull Request を作成すると、標準で提供されているプレビュー環境が自動的に作成されるので便利です。Managed Functions も SWA とセットでデプロイされるので、フロントエンドだけではなくバックエンドも含…

Azure Static Web Apps のデプロイに Static Web Apps CLI を利用する

Azure Static Web Apps へアプリケーションをデプロイする際には GitHub Actions を使うことが多いはずですが、公式で用意されている Action はビルドまで行うように設計されているため、ビルドは自前で行ってデプロイだけを行いたいケースでは若干使いにく…

Azure Static Web Apps のプレビュー環境で Microsoft Entra ID 認証を有効化する

Azure Static Web Apps のプレビュー環境は、GitHub を利用した開発中に Pull Request を作成したタイミングで自動的にデプロイされるので、変更点の動作確認やレビューが行いやすくなる便利な機能なのですが、カスタム認証を使ったアプリケーションでは利用…

Azure Functions の Python V2 と Node.js V4 プログラミングモデルを利用する上での注意点

去年に GA してから時間が経過しましたが、Azure Functions の新しいプログラミングモデル Python V2 と Node.js V4 を使う機会が増えてきて、以前書いたエントリからの更新点も増えたので簡単にまとめます。プレビュー中に書いたエントリは以下になりますが…

2023 年の振り返りとフリーランス 8 年目の終わり

本当にあっという間という感じですが、2023 年も終わってしまうので毎年恒例のエントリを書いておくことにします。毎年あっという間に終わったと思うのですが、今年はずっと忙しかったので更に早かったです。今年はコロナ前ぐらい出張や品川での仕事が増えて…

Azure OpenAI Service の GPT-4 Turbo with Vision と Azure AI Service Enhancement を試した

OpenAI 本家の提供から数週間遅れましたが、Azure OpenAI Service でも GPT-4 Turbo with Vision が一部リージョンで利用できるようになりました。本家とは異なり Azure AI Service Enhancement という Azure OpenAI 専用の機能も同時にリリースされています…

Azure App Service の OS が Windows Server 2022 にアップデートされ始めているので確認した

先日の Ignite 2023 では App Service の TLS 1.3 対応が発表されて、一部のリージョンでは既に有効化されていることを以下のエントリで触れましたが、TLS 1.3 対応と同時に App Service の OS が Windows Server 2022 へとアップデートされ始めています。Ap…

GitHub Universe 帰りの飛行機に手荷物が積み込まれなかった話

既に X の方にはリアルタイムで色々書いていたのですが、初めてのロストバゲージだったのでこちらにも残しておくことにします。GitHub Universe 2023 へ参加するためにサンフランシスコに行きましたが、帰りの飛行機に預けたスーツケースが積み込まれていな…

Ignite 2023 で発表された Azure Cosmos DB のアップデート

先日シアトルで開催された Microsoft Ignite 2023 では Azure Cosmos DB のアップデートも Build 2023 程ではありませんが多く発表されました。例によって AI を意識したものが大きく扱われていますが、スケーラビリティの改善に繋がる機能もしっかり追加さ…

Ignite 2023 で発表された App Service / Azure Functions / Container Apps のアップデート

今年も Ignite 2023 がシアトルで開催されて、様々な Azure のアップデートが発表されました。基本的には AI 系の話ばかりでしたが、App Service / Azure Functions / Container Apps についても、思ったよりもインパクトの大きなアップデートが発表されまし…

GitHub Universe 2023 に現地参加してきた

これまで MVP Summit や Microsoft Build には参加してきましたが、今年は初めて GitHub Universe にも現地参加してきました。サンフランシスコは 12 年振りだったのでかなり懐かしいです。会場は主に YBCA と SFMoMA が使われていて、規模としては Microsof…

ASRock DeskMini B760 で Intel NUC の置き換えを図った話

これまで WSL 2 や Docker を利用する専用のマシンとして Intel NUC を購入して使っていたのですが、つい先日 Intel NUC が終焉を迎えてしまったのと、負荷の高い作業をさせるとファンがいい加減に五月蠅いと感じるようになったので、小型のベアボーンでの置…

Azure API Management の新しい Basic v2 / Standard v2 が Public Preview になったので試した

突然 API Management に新しく Basic v2 / Standard v2 という Tier が Public Preview として追加されました。来月が Ignite なのでそこまで待っても良かったのではという気もしますが、App Service などの PaaS / Serverless のチームはイベントを気にせず…

Dev Container / GitHub Codespaces を利用した Azure Functions 開発環境のベストプラクティス

昔にも Dev Container を利用して Azure Functions の開発環境を構築する方法を書いたのですが、その後 Dev Container の機能強化と Azure Functions のアップデートによってベストプラクティスが変わってきたので、現時点でのベストプラクティスを確認して…

Azure Functions の .NET 8 向けアップデートが発表された

.NET 8 の GA が 2 カ月後に迫ってきたこのタイミングで、Azure Functions での .NET 8 向けアップデートが本格的に発表され始めました。そろそろ .NET 6/7 で Isolated を利用しているケースではアップデートを検討しても良いでしょう。.NET 6 の In-Proces…

Windows App SDK を使ってモダンなタイトルバーを持つアプリケーションを作る

Windows 11 で全面的に導入された Fluent Design System は個人的には結構好みなので、自作アプリでも同じようなデザインを実現したいのですが意外に難しいです。コントロールだけに限れば Windows App SDK を使うとある程度は対応は可能ですが、まだ使いや…