Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Jan 1, 2025 - 日記

SQLAlchemyでmypy型チェックエラーに対処する方法

python-sqlalchemy-mypy cover image

SQLAlchemyはPythonのデータベース操作を強力に支援してくれるライブラリですが、mypyなどの型チェックツールと組み合わせると問題が発生することがあります。この記事では、特にselect.where句で型エラーが発生するケースについて、再現例と解決策を詳しく紹介します。最近この現象でドハマリしたので備忘録です。

Apr 20, 2023 - 日記

EthereumのDeployerを特定する

Web3サービスでdeployerを調べる簡単な方法がないか実験してみました。deployerは、スマートコントラクトをデプロイした人のアドレスです。本記事では、Etherscan のAPIを使用して、コントラクトアドレスからdeployerを調べる方法を紹介します。

Apr 18, 2023 - 日記

チャットアプリの会話コンテキストリデューサー:Motörhead

AI を活用したチャットアプリの開発では、会話のコンテキストをどのようにプロンプトに含めるかが重要な課題です。 単純なチャットアプリでは、例えば直近 5 件分の会話をプロンプトに含めて AI の返答を自然にしたりします。

しかし、会話の中には文脈に関係ない情報が多く含まれていることがあります。これを効率的に削減するために、文脈の「要約」を AI で行い、それをプロンプトに含める方法があります。

Motörhead は、こういったチャットアプリの実装を代わりに行ってくれるツールです。

Apr 17, 2023 - 日記

Lokiのデータを一定時間後に削除する

Grafana Loki はログ管理システムであり、大量のログデータを効果的に管理するために使用されます。しかし、Loki はログデータが膨大になるとストレージ領域を圧迫する可能性があります。そこで、一定期間ごとに Loki の古いログデータを削除する必要があります。本記事では、Bash シェルスクリプトを使用して Loki のログデータを削除する方法を説明します。

May 3, 2022 - 日記

グラフノードのスケールアウト

グラフノードのスケールアウトの画像

English version

何らかの理由によりThe Graph 等のhosted-serviceを使わずに自分でgraph-node を建てる場合、グラフノードのスケールアウトも正しく考慮する必要があります。スケールアウトできる構成を組まないと、Web3クライアントからリクエストが504(Gateway Timeout)になってしまう事態が頻発します。本稿では簡単に実現できるグラフノードのスケールアウトの方法をご紹介します。