2025年11月10日
前回の記事 で作った PostgreSQL + pgvector を使って、一般的な RAG で用いられるコサイン類似度検索やハイブリッド検索(Reciprocal Rank Fusion = RRF)を実装してみました。 ## 環境 * PostgreSQL 16.10 * pgvector 0.8.1 * pg_trgm 1.6 * Python 3.12.0 * langchain 1.0.5 * langchain-huggingface 1.0.1 * pgvector
2025年11月7日
趣味で動かしているアプリ用にちょっとリッチな文字列検索ができるデータベースが欲しかったけどお金はかけられないので、いつもの K3s 製 Kubernetes クラスタ に PostgresSQL をデプロイして、前から気になっていた pgvector を使えるようにしてみました。 ## Operator 選定 PostgreSQL の operator をググってみたらいくつかの種類があるようでした。 Lethediana Tech さんの記事 を参考にさせてもらいましたが、2023年初頭時点の情報
2023年5月15日
前回の記事では SQLAlchemy の Session について解説しました。今回はその応用として、Celery においてどのように Session を管理するかを考えたいと思います。 関連記事: * SQLAlchemyのセッション・トランザクションを理解する * SQLAlchemyで'MySQL server has gone away'が発生した時の対処法2つ ## 結論 以下のように DB 操作を行うタスクのためのクラスを作ります。 ```python from typing impo
2023年5月14日
SQLAlchemy の Session や scoped_session、トランザクションに関して理解していきます。 ## 用語おさらい ### セッション(Session) SQLAlchemy の Session オブジェクトは、ORM マッピングされたオブジェクトの永続化に関する操作を管理するオブジェクトです。 `sqlalchemy.orm.Session` を直接インスタンス化しても良いですが、実環境では sessionmaker を使うことが一般的です。sessionmaker は
2023年1月12日
FastAPI で SQLAlchemy を使っている時に、コンテナを立てた直後は問題ないけど一定時間経過後に DB 接続が切れてしまう問題に遭遇したのでその時に調べたことのメモ。 ## 環境 * mysql 5.7.15 * SQLAlchemy 1.4.45 * mysqlclient 2.1.1 ## 問題 ``` MySQLdb.OperationalError: (2006, 'MySQL server has gone away') ``` 最後に MySQL サーバーに接続してから