feat(adk): add vector memory support for psqlpy and PostgreSQL ADBC
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
調査の方向性
PsqlpyADKMemoryStore と AdbcADKMemoryStore の実装、および共有の StoredMemory embedding contract から着手します。既存の unit テストと PostgreSQL integration テストを確認し、続いて PostgreSQL とサポート対象外の ADBC ドライバーに対する parameter binding と動作を検証します。nullable embedding が永続化されて返され、最近傍の順序付けが機能し、サポート対象外のバックエンドが明確に失敗し、capability のドキュメントとテストが指定されたマトリクスを網羅していれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
The psqlpy and ADBC ADK memory stores accept StoredMemory.embedding and an embedding search argument through the shared public contract, but currently ignore both.
PsqlpyADKMemoryStorecreates no vector column, omits embeddings from inserts, and performs text-only searches.AdbcADKMemoryStoreis multi-dialect and reduced-scope; its PostgreSQL path likewise has no vector column or search branch and returnsembedding=None.
This makes PostgreSQL vector-memory behavior inconsistent across SQLSpec adapters and silently discards caller data.
Proposed behavior
Add PostgreSQL ADK vector-memory support for psqlpy and the PostgreSQL ADBC backend while preserving reduced-scope behavior for non-PostgreSQL ADBC drivers.
- Persist nullable embeddings in owner and non-owner insert paths.
- Add vector-only nearest-neighbor search with null embeddings excluded.
- Use codec-independent parameter binding. Psqlpy supports explicit SQL casts; determine and document the portable ADBC PostgreSQL binding representation rather than assuming native pgvector codecs.
- Return stored embeddings when the backend exposes them.
- Do not silently ignore a supplied embedding on an unsupported ADBC backend; fail clearly or expose an explicit capability boundary.
- Decide whether
pg_textsearchBM25/hybrid search should reach parity in the same implementation or remain a separately declared capability.
Acceptance criteria
- Unit tests cover SQL, nullable embeddings, owner-column parameter ordering, and vector query operands for both adapters.
- PostgreSQL integrations insert via the public memory-store API and assert nearest-neighbor IDs/order with client pgvector codecs disabled.
- ADBC tests cover PostgreSQL vector decoding and unsupported non-PostgreSQL behavior.
- Adapter documentation and the ADK backend matrix accurately describe vector and BM25 capabilities.
- No public method signatures or shared record types change.
Related: #726, #727
- 主要言語
- Python
- スター
- 104
- フォーク
- 9
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 44
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
litestar-org/sqlspec のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
litestar-org/sqlspec#810 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
litestar-org/sqlspec#509 ·
メンテナーはふだん 1 日以内に返信
litestar-org/sqlspec の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
collective/icalendar#1968 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Deferred from #1869: Complete the companion pytest guardrail update noted in the PR description...オープン
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
NousResearch/hermes-agent#140958 ·
メンテナーはふだん 1 日以内に返信
-
Bug triage/confirmed
難易度 2/5 半日 初心者へのやさしさ 85/100
agentscope-ai/agentscope#3355 ·
メンテナーはふだん 2 日以内に返信