GPT-4V x LINE Bot を Cloudflare Workers で実現するためにやったこと・やらなかったこと

この記事では OpenAI が提供する Vision API (GPT-4V) を使用して、LINE に投稿した画像に反応する Bot を作成した際にやったこと・やらなかったことを書いています。

ローカルを固定のドメインで公開したい - Cloudflare Tunnel 編

最近の個人の開発では LINE Bot を作ったり OpenAI API で遊ぶことが多い。その時外部からローカルのサーバーへのリクエストを受け付けたいことがある。例えば LINE Bot だと webhook の URL がある。今回はこれを Cloudflare Tunnel を使って解決する。 Clo…

RDS の MySQL インスタンスにローカルから接続する

自分がメンテナンスしている AWS RDS の MySQL インスタンスは private subnet 内には配置されている。そのため自分のローカルなど外部からはネットワークレベルで接続できないようになっている。しかし稀に接続したくなることがある。昔だと SSH Port Forwa…

Pod の YAML ファイルに env を追加して再度 YAML ファイルを出力したい

今回はタイトルにあるように Pod が定義された YAML ファイルに任意の環境変数を追加して再度 YAML ファイルとして出力する。 満たしたい要件は Pod に env が定義されてなくても環境変数を追加できる すでに定義されている環境変数に対しては上書きをする …

Istio Proxy をビルド!!

この記事は Isito Proxy をどのようにビルドして任意の Docker registry (e.g. Docker hub) に push するかを記載しています。 背景 Istio では Envoy が Dataplane として使用されています。Envoy がそのまま使用されるわけではなく Istio に必要ないくつか…

Cloudflare Tunnel を使って Kubernetes の Service を外部からアクセスできるようにする

背景 AWS で Kubernetes クラスタを運用する中でサービスを外部に公開したい時に思いつく方法が ALB など AWS から提供される load balancer を使用することだと思います。今回は諸事情により ALB を使えないため代わりの方法を探していました。 やりたいこ…

Istio Proxy が使用している Envoy のバージョンを確認する

公式サイトだと実際に動いている istio-proxy を使用して確認をする。 $ kubectl \ exec \ -it productpage-v1-6b746f74dc-9stvs \ -c istio-proxy \ -n default \ -- pilot-agent request GET server_info --log_as_json \ | jq {version} { "version": "2d…

Istio で main thread と worker thread で Wasm module を動かす

hatappi.blog 前回の記事では最近作成した Wasm module を Envoy 上で動かす部分を解説しました。この記事ではそれを Istio 上で動かす部分を解説します。 Istio の Wasm 周りの歴史 実際の設定に入っていく前に Istio と Wasm の歴史を軽くおさらいしたいと…

Prxoy-Wasm で Envoy を拡張して AWS CloudWatch にメトリクスを送る

最近 Envoy の拡張手段の1つである Wasm filter に興味をもったので Proxy-Wasm の spec 読んだり、関連ドキュメントを読んでました。ただ折角やるなら学ぶだけでなく学んだことの確認もかねて何か作りたいなと思って1つ Wasm module を作成したので、この…

Proxy-Wasm を学ぶために見たアレコレ

最近 Proxy-Wasm が気になったのでドキュメント見たり動画を見たりしてキャッチアップした。この記事はそのメモ。 WebAssembly (Wasm) Wasm はなんとなく知っている程度だったので Proxy-Wasm を学ぶ前に Wasm とは何か?何を解決するためのものかを学んだ。…