BEACHSIDE BLOG

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

2023-01-01から1年間の記事一覧

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) に乗り換えました。 ベンチマークと使った感想を…