BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

Azure OpenAI Service を監視するための第一歩 (Azure OpenAI Insights)

今回は、Azure workbooks を使って Azure OpenAI の Insights を監視する第一歩の踏み出し方って感じの話です。 監視をするには Azure OpenAI Insights の workbook をセットアップ Azure OpenAI Insights を確認する Overview タブ Momitor タブ Insights …

Azure OpenAI の Code Interpreter を気軽に試す (2024年2月編)

Code Interpreter とは Azure OpenAI での利用 Azure OpenAI Studio でのはじめ方 Code Interpreter を使うための準備 Code Interpreter を試す 数学の問題を試す 他の活用例 余談: Code Interpreter の実行環境はどうなってるのか 参考 Code Interpreter と…

.NET8 での Azure Functions の開発を始めるための準備 ( C# )

Azure Functions 開発入門として、.NET のバージョンが更新する度に Visula Studio 2022 での恒例の作業のなった Azure Functions のツールセットの更新の方法の話です。 Azure Functions に新しい .NET のバージョンが選べない?! 更新前の状態で Visual Stu…

Azure OpenAI のモデルのバージョンの選び方 (2023年12月版)

2023年11月の OpenAI 側のアップデートによって Azure OpenAI のモデルのバージョンと最大トークン数、そして価格が更新され、そのモデルが Azure OpenAI では2023年12月に順次ロールアウトされて利用できるようになりました。 こらから新たに Azure OpenAI …

openai の v1 系での Azure OpenAI へのアクセス (Python)

11月6日の OpenAI Dev Day の時期に openai のライブラリ は v.0.x 系 (最終的には v0.28.1) から v1系にアップデートされました。 Azure OpenAI へのアクセス方法も breaking changes が発生しています。過渡期になり、openai のライブラリはバージョン指定…

Azure OpenAI のアクセスにネットワーク制限をする (サービスエンドポイント編)

今回は、Function App/App Service から Azure OpenAI へアクセスを仮想ネットワークのみにしたいというケースの話です。 Azure OpenAI へのアクセスを仮想ネットワークのみに限定することは可能ですが方法はいくつかあります。 そして Azure OpenAI のみに…

Visual Studioで File Scoped Namespaces をデフォルトに設定して無駄なネストをひとつ減らす (C#)

Visual Studio で file scoped namespaces の設定って今日の今まで毎回手作業で直してたんですが、VS の設定であるんじゃねーのかと思いついて気づいて調べたらありましたのでメモしておきます。 File Scoped Namespaces とは Visual Studio 2022 で File Sc…

OpenAI: 文章のトークン数を数える (C#, Python, Node)

OpenAI / Azure OpenAI でとりあえずトークン数を数えることってちょいちょいありますよね。今回は C#, TypeScript のついでに Python もメモしておこうかなという話です。 はじめに: トークンとは Python: tiktoken C# Tokenizer Semantic Kernel: GPT3Tok…

GitHub Apps を使って GitHub Actions のワークフローでトークンを生成する

「GitHub Actions で Pull request を作成するワークフローを起動したら、別のワークフローを Pull Request のトリガーで起動したい」を実現するのが今回のことの発端です。 GitHub Actions では、デフォルトで GITHUB_TOKEN ってのがあって便利に使えますが…

GitHub のログインをパスワードレス認証に設定してハッピーになる

2023年7月13日に、GitHub のログインでパスワードレス認証の機能がプレビューとして公開されました。パスワードなしで認証できるわけですが、パスワードの代わりとなるパスキーとなるものの具体的なのはこんな感じ。 Windows の PC を使ってるなら Windows H…

Azure AI Studio (Azure OpenAI Studio) へアクセスできるユーザーを追加する

Azure OpenAI の登場で新たに Azure に来たユーザーも増え、まだ操作が慣れていないとアクセス許可どうすんねんと思う人も増えただろうと思ってのネタになります。 Azure ポータルで設定・確認する Azure ポータルで IAM を変更 割り当てられたユーザーの確…

Azure Pipelines で matrix の値を動的に設定したい (Azure DevOps)

Azure Pipelines で、Job は依存関係を設定しない場合は並列で動作します。 同じ処理だけどパラメーターだけ異なるような Job を複数構成したい場合、matrix を使うことでいい感じに YAML を書くことができます。 今回は、その matrix を構成を動的にセット…

プロンプトエンジニアリングの基礎: 2/3 (C# +Azure.OpenAI SDK)

前回から引き続きで、DeepLearning.AIというサイトの無償コンテンツのひとつで OpenAI + Python の「ChatGPT Prompt Engineering for Developers」を受講して学んだことのまとめメモの2回目です。 プロンプトエンジニアリングの基礎: 1/3 (C# +Azure.OpenAI …

プロンプトエンジニアリングの基礎: 1/3 (C# +Azure.OpenAI SDK)

DeepLearning.AIというサイトでは、アカウントを登録するだけで AI に関する学習コンテンツがあります。 その中の無償コンテンツのひとつで OpenAI + Python の「ChatGPT Prompt Engineering for Developers」を受講してみました。 そこで学んだことを Azure…

Azure OpenAI で C# のSDK を使うとき最初に知っておきたい入門知識

今回は C# で OpenAI の SDK で ChatCompletion API を使ってチャットのサンプルコードを書きつつ、SDK を使うとき最初に知っておきたいいくつかの Tips を書きます。今回はざっくり以下を環境で話を進めます。 Azure OpenAI でモデルは GPT-3.5 以降のモデ…

Azure CLI で B2C のアプリのシークレットを更新する

Azure CLI で Azure AD B2C や Azure AD の app registration で作成したアプリのクライアントシークレットの更新方法のメモです。 ここでは B2C の話になっていますが、Azure AD でも全く一緒です。 Azure CLI で Azure AD B2C (または Azure AD) の操作を…

渡航メモ (2023年4月 - シアトル)

今年は COVID-19 も落ち着いて気楽にアメリカに行けるシーズンが戻ってきました。アメリカだといつもバタバタするので恒例のメモを書いておきました。 今回も飛行機は DELTA で、2023年4月17日に出発して4/22日に帰国しました。 事前準備 Delta FlyReady と …

Graph API で Azure AD B2C のユーザーを次回サインイン時にパスワードを強制変更させたいときの注意点 ( C# )

Azure AD B2C のユーザーが次回サインインするときにパスワードの変更を強制させるのを Graph API でセットしたいときの話です。 以下のドキュメントで、ドキュメントの先頭に必要な permission が書かれており、Permission type が Application の場合は Us…

Durable Functions で instanceId を確認したい (C# / Typescript / Python)

Durable Functions でたまに instanceId を取得したいときがあります。例えば Activity function で external Event の URL を作りたいときとか。私的にはあまり使わない Durable functions の Python ではどうだっけって気になったので、C# と Typescript …

HttpTrigger の Azure Functions でパスやリクエストヘッダーの値を使って DI する (C#)

今回は C# の Http Trigger の Azure Functions の DI する際の Tips です。 例えば、こんなパス /api/costomers/abc123/order にアクセスする際、abc123 が顧客の ID でその値を使って DI したいときとかの話です。後述しますがなんでも DI した方がいいっ…

Surface book 3 から ASUSU Zenbook S 13 OLED に替えた話

購入時から Surface Book 3 のスペックというか挙動の重さに不満があり、それでも月に1-2度しか使わないから約2年我慢してました。 がしかーし2022年末に Zenbook S 13 OLED (UM5302, AMD Ryzen 6000 series) に乗り換えました。 ベンチマークと使った感想を…

Cosmos DB Change Feed の Azure Functions (C#) 実装入門 2023 年編 (Function App / Cosmos DB Trriger)

2022年の後半に Microsoft.Azure.WebJobs.Extensions.CosmosDB の v4 が GA して実装方法も改良されたので、ここで改めて Cosmos DB の Change Feed の開発方法 ≒ Cosmos DB Trigger の Function App の実装の基礎や Tips を書いていきます。 なお、Change F…

GitHub Actions で ASP.NET MVC ( .NET Framework 4.8 ) を Azure App Service (Web App) へデプロイ

ASP.NET MVC ( .NET Framework 4.8 ) のアプリを GitHub Actions での CI/CD して Azure の App Service (Web Apps) へのデプロイするまでの方法を書いていきます。 ここら辺のドキュメントとか情報は少ないのが書こうと思ったモチベーションでした...と思っ…

C#: ビルドした exe や dll が AnyCPU / x86 / x64 かを確認する

ビルドして出力された exe や dll が AnyCPU / x86 / x64 を確認する方法はいくつかあります。 私は今回 Windows で Visual Studio が入ったローカル環境で試すので、手軽に確認できる corflags.exe を使っていきます。 実際に知りたいのは、諸条件下で msub…

ASRock B550 Steel Legend の BIOS を更新する

最近 PC の調子...というかグラボのドライバーがクラッシュする頻度がちょいちょいあって色々試しても改善しない中、BIOS のバージョン上げとくかってお気持ちになったのでその作業メモです。 事前準備 最新バージョンのダウンロード BIOS の更新 余談 事前…

Cosmos DB の Bulk Executor を使った一括インポート

概要: learn.microsoft.com チュートリアル: learn.microsoft.com ざっくりまとめ: サポートしてる API は、Azure Cosmos DB SQL API と Gremlin API 一括インポート API と一括更新 API SDK v2 だと外部 SDK が必要だが、SDK v3 ではサポートされているので…

GitHub Actions で Azure API Management の CI/CD (ASP.NET Core 6)

Azure API Management の裏に Web API があると、Web API の CI/CD と一緒に API Management の APIs も更新したいですよね。 公式ドキュメント ではめんどくさそうな実現方法が書かれていますが、APIs だけ更新したいなら Azure CLI で実現するのがシンプル…

GitHub Actions で OIDC を使って Azure にログインする

別のブログを書いてる時にこの操作が必要になったんですが、そっちで書くと主旨からずれるのでここで書くことにしました。 GitHub Actions で Azure へログインする際、従来は Azure 側で publish profile を使ったり secret をつかったりでしたが、有効期限…

ASP.NET Core 6 で Open API (Swagger) の定義ファイルを CLI で出力する (ローカル環境で実行編)

今回は ASP.NET Core 6 で Swashbuckle.AspNetCore の CLI を使って json または YAML で定義ファイルを出力するポイントを書いていきます。 ASP.NET Core 6 と書きましたが 3系や5系も基本的には一緒です。2系だと多少異なりますがもう使ってないと思うので…

Graph API で Azure AD B2C のコンシューマーユーザーを作成する (C#)

C# で B2C のユーザーを登録する方法を書いていきます。C# の話というよりは、Azure AD B2C の設定がほとんどって感じです。 事前に知っておきたい知識 ユーザーアカウントの種類 ユーザーアカウントの違い B2C でサービスプリンシパルの作成 Application の…