2025年7月1日
RAG を調べるとまず最初に出てくる概念がテキストのベクトル化ですね。 テキストのベクトル化をブログの記事に対して実施して互いの類似度を計算すれば、精度高く関連記事を "RECOMMENDED" 欄に出せるはず! っていうことで、やってみました。元々は同じタグを持っている記事を新しい順に表示しているだけでしたが、ちょっといい感じになりました。 このサイトは SSG で運用しているので、ビルドどこでやるかとか、ベクトルデータベースどこにするのかとかでちょっと悩みました。 ## 環境 * Next.j
2025年6月30日
メインのデスクトップ PC を Windows から Linux に変えたので、セットアップのメモです。 ## 環境 * Ubuntu 24.04 Desktop ## やったこと ### IME 2023年版 キーボードマッピングの個人的メモ キーボードはこの時と同じで HHKB US 配列でスペースキーの左右に Mac の `英数` `かな` キーを割り当て。かれこれ2年以上このマッピングなのでかなり指が馴染んでいる。 ところが Ubuntu のデフォルトの IME (ibus-mozc
2025年5月30日
Linux で VS Code の Remote tunnels を最初に使うときにサービスとしてインストールするかを聞かれたので、てっきり常時アクセスできるかと思いましたが、ログアウト時は使えない仕様だったのでシステムサービス化したら便利でした。 ## 環境 * Ubuntu 24.04 Desktop * VS Code 1.100.1 ## やったこと > Remote tunnels を最初に使うときにサービスとしてインストールするかを聞かれた ときに、裏で実行されたコマンドは `cod
2025年5月28日
TipTap のデフォルトの挙動では、Enter キーで改行(新しい段落に移動)したときにその時点のマーク(太字や斜体などのスタイル)が次の段落にも引き継がれるようになっています。 しかしながら、Notion をはじめ世の中の多くのエディタでは段落が切り替わったらマークはリセットされるという仕様になっていることが多く、そちらに慣れていると TipTap の仕様に違和感を感じたりします。今回は段落やリストアイテムが切り替わったら、スタイルをリセットするという仕様を実現する拡張機能を作ってみました。 ちょ
2025年5月15日
Python の非同期プログラミングで複数のタスクを並列に走らせると、タスクごとに独立した状態を持たせたくなる場面がしばしばあります。イメージしやすい例を挙げれば、Web サーバーでリクエストごとに独立した状態を持たせたい場合がそうだと思います。 そこで登場するのがコンテキストローカルな変数を提供する `contextvars` モジュールです。 本記事では `contextvars` の基本から、asyncio タスク内でシャローコピーが行われる際の落とし穴、そして安全に扱うためのパターンまでを解
2025年5月9日
RAG システムの精度を評価するためのフレームワークとして2023年に RAGAS が提案されてから、RAGAS は進化を続けていて2025年5月時点では RAG において8つの指標が定義されています。[^1] ^1]: 論文に登場する3つの指標のうち Context Relevancy は既に廃止されています。Nvidia metrics の中にある [Context Relevance は計算方法が異なるため、別物です。 RAGAS を利用するメリットとして、一番大きな点は人間が作った正解のデータ
2025年5月8日
Azure Container Apps を触ってみて、他サービスと比べて選びたくなるポイントがあったので書いてみたいと思います。 ## 要約 * Azure Container Apps は Kubernetes ベースのマネージドなコンテナプラットフォーム * Kubernetes に慣れている人ならとても扱いやすいけど、面倒なクラスタ管理はしなくていい * Azure Container Apps では KEDA (Kubernetes-based Event Driven Autoscal
2025年3月10日
Next.js の App Router で API を作る時にはレスポンスを `NextResponse.json()` などで返すと思いますが、これを共通化したりする時にシングルトンにしてはいけない、という話です。 ## 何がダメなのか 同時にリクエストすると、レスポンスのボディを取得できなくなります。 ## 検証環境 * next 15.2.1 * react 19.0.0 * next-test-api-route-handler 4.0.15 ## コード ``` app/api ├
2025年3月9日
Azure OpenAI Assistants API と Azure AI Agent Service を比較してみました。2025年3月時点での情報であり、両サービスともプレビュー版のため仕様が変更になることがあります。 ## 機能の比較 ### 共通していること * ステートフルな API を提供するので API 利用者はメッセージ履歴の保存をする必要がない * Code interpreter が使える * AI がコードを生成して API 側のサンドボックス環境で実行してくれる機能 *
2025年2月3日
ちょっとした思いつきで、ブラウザだけでファイルを暗号化して保管できるアプリを作れるのではないかと思い作ってみました。使い道はよくわからないですが、何かの役に立つこともあるかもしれません。 アプリ: https://sogo.dev/local-file-locker/ ソースコード: https://github.com/SogoKato/local-file-locker ファイルを選んで encrypt ボタンを押すと…… !local_file_locker_1 ファイルが暗号化されて保