Astra DB
Astra DB guarda documentos en una colección de DataStax Astra DB y busca en ella por significado.
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
- Ya usas Astra DB y quieres que tus flujos guarden y busquen en él.
- Quieres que Astra calcule por sí mismo la representación de los textos con su opción de vectorizado.
- Necesitas una base vectorial gestionada en la nube.
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 Astra DB API con el token y la dirección de tu base de Astra. Consulta Credenciales.
| Campo | Qué hace |
|---|---|
| Credential (obligatorio) | La credencial Astra DB API con los datos de conexión. |
| Operation | Qué 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 Query | Con Search. El texto que se busca. Si lo dejas vacío no se devuelve nada. |
| Embedding | 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. |
| Collection Name (obligatorio) | La colección de Astra donde se guardan los documentos. |
Opciones avanzadas
| Campo | Qué hace |
|---|---|
| Number Of Results | Cuántos documentos devuelve cada búsqueda. Por defecto, 4. |
| Namespace | Espacio de nombres de Astra en el que está la colección. Vacío, el de por defecto. |
| Metric | Cómo se mide el parecido al crear la colección: cosine, dot_product o euclidean. |
| Pre Delete Collection | Borra la colección antes de guardar. Desactivado por defecto; úsalo con cuidado. |
| Setup Mode | Cómo se prepara la colección: Sync (por defecto), Async u Off. |
| Batch Size | Junto a Bulk Insert Batch Concurrency, Bulk Insert Overwrite Concurrency, Bulk Delete Concurrency, Metadata Indexing Include, Metadata Indexing Exclude y Collection Indexing Policy: ajustes de rendimiento e indexado de Astra. Déjalos vacíos salvo indicación de quien administra tu base. |
| Search Type | Cómo se busca: Similarity, Similarity with score threshold, MMR (Max Marginal Relevance). Similarity devuelve los más parecidos; con umbral, solo los que superan Search Score Threshold; MMR busca resultados parecidos pero variados entre sí. |
| Search Score Threshold | Puntuación mínima de parecido, solo con la búsqueda por umbral. Por defecto, 0.0. |
| Search Metadata Filter | Pares de campo y valor para buscar solo entre los documentos que los cumplan. |
En Astra DB el conector se llama Embedding Or Astra Vectorize: admite un componente de embeddings o la configuración de vectorizado de Astra, consulta Astra Vectorize.
Resultado
Las salidas dependen de Operation:
- Results: con
AddySearch. ConSearch, 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 aseguradora guarda sus pólizas en Astra DB.
- Conecta las pólizas divididas en trozos a Ingest Data de Astra DB con Operation en
Add. - Elige la credencial Astra DB API, escribe la colección y conecta un componente de embeddings.
- Ejecuta el flujo y, en otro, busca con Operation en
Search.
Componentes relacionados
- Recursive Character Text Splitter: corta los documentos en trozos antes de guardarlos.
- OpenAI Embeddings: convierte los textos para buscarlos por significado.