Repolode
oceanbase

oceanbase/seekdb

Una base de datos de búsqueda nativa para IA que almacena datos vectoriales, de texto completo, estructurados y semiestructurados en un solo motor compatible con MySQL, para la memoria y la recuperación de agentes.

Alternativa open source a:PineconeElasticsearch

Estrellas
3,165
Forks
414
Issues abiertos
188
Último commit
hace 3 horas

¿Qué es?

seekdb es una base de datos diseñada para las cargas de trabajo de agentes de IA. Combina búsqueda vectorial, búsqueda de texto completo y filtros escalares en un solo motor, y los ofrece mediante SQL, por lo que la recuperación no requiere sistemas separados ni combinar resultados en el cliente. Es compatible con MySQL y ofrece transacciones ACID completas. Puede ejecutarse como biblioteca integrada desde Python o Node.js, como servidor de un solo nodo o como parte de un clúster distribuido de OceanBase.

Para gestionar el estado de los agentes, el proyecto incorpora FORK DATABASE, que crea una instantánea de la base de datos mediante copia en escritura, y MERGE TABLE, que aplica los cambios del entorno aislado a la base de datos principal. Las escrituras se indexan de forma asíncrona mediante un flujo de cambios que alimenta un índice HNSW delta, de modo que los vectores recién escritos se pueden consultar poco después de insertarlos. El proyecto también ofrece paquetes para Python (pylibseekdb, pyseekdb) y JavaScript (@oceanbase/seekdb-node), y se integra con LangChain, LlamaIndex y Dify.

Funciones clave

  • 01Filtros vectoriales, de texto completo y escalares combinados en una sola consulta SQL
  • 02Compatibilidad con el protocolo MySQL y transacciones ACID completas
  • 03Modo integrado para Python y Node.js, además de implementación como servidor de un solo nodo
  • 04Instantáneas mediante copia en escritura con FORK DATABASE y MERGE TABLE para entornos aislados de agentes
  • 05Flujo de indexación asíncrono con HNSW incremental para búsqueda vectorial casi en tiempo real

Casos de uso

  • Almacenamiento persistente de memoria y estado para agentes de IA
  • Backends de generación aumentada por recuperación (RAG) que necesitan combinar búsqueda vectorial y por palabras clave
  • Experimentación aislada con datos de agentes, con posibilidad de revertir o combinar cambios
  • Incorporar búsqueda semántica a una aplicación existente basada en MySQL

Inicio rápido

  1. 1

    Instala los paquetes de Python (se requiere Python 3.11 o posterior).

    python3 -m pip install -U pylibseekdb pymysql
  2. 2

    Guarda el ejemplo del README como example.py.

  3. 3

    Ejecuta el ejemplo; debería imprimir [{'value': 1}].

    python3 example.py

Antes de usarlo

  • La guía rápida de Python integrada requiere Python 3.11 o posterior.
  • Las plataformas compatibles se limitan a las que aparecen en la página del paquete pylibseekdb.

Temas

Preguntas frecuentes

¿Qué es seekdb?
Una base de datos de búsqueda nativa para IA que almacena datos vectoriales, de texto completo, estructurados y semiestructurados en un solo motor compatible con MySQL, para la memoria y la recuperación de agentes. seekdb es una base de datos diseñada para las cargas de trabajo de agentes de IA. Combina búsqueda vectorial, búsqueda de texto completo y filtros escalares en un solo motor, y los ofrece mediante SQL, por lo que la recuperación no requiere sistemas separados ni combinar resultados en el cliente. Es compatible con MySQL y ofrece transacciones ACID completas. Puede ejecutarse como biblioteca integrada desde Python o Node.js, como servidor de un solo nodo o como parte de un clúster distribuido de OceanBase.
¿seekdb es gratuito? ¿Qué licencia tiene?
seekdb es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿seekdb sigue mantenido?
Mantenimiento activo. El último commit de seekdb fue el 21 oct 2026.
¿Para qué puedo usar seekdb?
Almacenamiento persistente de memoria y estado para agentes de IA Backends de generación aumentada por recuperación (RAG) que necesitan combinar búsqueda vectorial y por palabras clave Experimentación aislada con datos de agentes, con posibilidad de revertir o combinar cambios Incorporar búsqueda semántica a una aplicación existente basada en MySQL
¿Cómo se instala seekdb?
Instala los paquetes de Python (se requiere Python 3.11 o posterior).: python3 -m pip install -U pylibseekdb pymysql Guarda el ejemplo del README como example.py. Ejecuta el ejemplo; debería imprimir [{'value': 1}].: python3 example.py
¿Dónde consigo seekdb?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/oceanbase/seekdb

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados