Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

feat(adk): add vector memory support for psqlpy and PostgreSQL ADBC

Abierto
#728 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
postgresql, python

Línea de trabajo

Comienza con las implementaciones de PsqlpyADKMemoryStore y AdbcADKMemoryStore y con el contrato de embedding compartido de StoredMemory. Revisa las pruebas unitarias y de integración con PostgreSQL existentes y, después, verifica la vinculación de parámetros y el comportamiento de PostgreSQL frente a los controladores ADBC no compatibles. Se considera terminado cuando los embeddings nullable se persisten y se devuelven, el ordenamiento de los vecinos más cercanos funciona, los backends no compatibles fallan claramente y la documentación de capacidades y las pruebas cubren la matriz indicada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

  • PsqlpyADKMemoryStore creates no vector column, omits embeddings from inserts, and performs text-only searches.
  • AdbcADKMemoryStore is multi-dialect and reduced-scope; its PostgreSQL path likewise has no vector column or search branch and returns embedding=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_textsearch BM25/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

Lenguaje dominante
Python
Estrellas
103
Forks
9
Merge medio
17 h 39 min
PR fusionados (30 d)
81

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de litestar-org/sqlspec

Todos los issues de litestar-org/sqlspec

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.