Saltearse al contenido

MongoDB Vector Store

MongoDB Vector Store guarda documentos en una colección de MongoDB Atlas y busca en ella por significado, usando un índice de búsqueda vectorial de Atlas.

Una base de datos vectorial guarda textos de forma que se pueden buscar por su significado, no solo por palabras exactas. Así, un agente puede encontrar el párrafo de un manual que responde a una pregunta aunque esté escrito con otras palabras.

Cuándo usarlo

  • Tus datos ya están en MongoDB Atlas y quieres que un agente busque en ellos por significado.
  • Quieres guardar los documentos de una base de conocimiento junto al resto de datos de tu aplicación.
  • Necesitas buscar en una colección grande con un índice gestionado por Atlas.

Configuración

El campo Operation decide qué hace el componente, y según lo que elijas cambian los campos y las salidas:

  • Add (por defecto): guarda en la base los documentos que recibe en Ingest Data.
  • Search: busca los documentos más parecidos al texto de Search Query.
  • Retriever: ofrece la base como buscador para que la use otro componente, por ejemplo un agente o una cadena de preguntas y respuestas.

Necesitas una credencial MongoDB Connection con los datos de tu clúster de MongoDB. Consulta Credenciales.

CampoQué hace
Credential (obligatorio)La credencial MongoDB Connection con los datos de conexión.
OperationQué hace el componente: Add, Search o Retriever.
Ingest Data (obligatorio)Con Add. Los documentos que se guardan, normalmente los que salen de un divisor de textos o de un cargador de archivos.
Search QueryCon Search. El texto que se busca. Obligatorio.
Embedding (obligatorio)El conector donde enchufas el componente que convierte los textos en números para compararlos por significado, como OpenAI Embeddings. Usa siempre el mismo para guardar y para buscar.
Database Name (obligatorio)La base de datos de MongoDB.
Collection Name (obligatorio)La colección donde están los documentos.
Vector Search Index Name (obligatorio)El nombre del índice de búsqueda vectorial creado en Atlas para esa colección. Puedes crearlo con Search Index.

Opciones avanzadas

CampoQué hace
Number Of ResultsCuántos documentos devuelve cada búsqueda. Por defecto, 4.
Search TypeCómo se busca: similarity, similarity_score_threshold. Similarity devuelve los más parecidos; con umbral, solo los que superan Search Score Threshold.
Score ThresholdPuntuación mínima de parecido con la búsqueda por umbral. Por defecto, 0,7.

Resultado

Las salidas dependen de Operation:

  • Results: con Add y Search. Con Search, la lista de documentos encontrados, que puedes pasar a un prompt o a un agente.
  • Vector Store: con Add. La base de datos, para conectarla a componentes que trabajan con una base vectorial.
  • Retriever: con Retriever. El buscador, para conectarlo a componentes que piden un buscador.

En modo herramienta, un agente puede usar el componente para buscar por sí mismo. Consulta Tool Mode.

Ejemplo

Una plataforma de cursos tiene sus lecciones en MongoDB Atlas y quiere un asistente que las cite.

  1. Crea el índice vectorial de la colección con Search Index.
  2. Añade MongoDB Vector Store con Operation en Search, la base, la colección y el nombre del índice.
  3. Ponlo en modo herramienta y conéctalo al agente del asistente.

Buenas prácticas

  • Este componente no filtra por metadatos: MongoDB Atlas solo filtra por los campos que declares como filtro en el índice de búsqueda vectorial. Si necesitas filtrar, usa Qdrant, PGVector o Elasticsearch, que tienen filtro por metadatos.

Componentes relacionados