Cassandra
Cassandra guarda documentos en una tabla de Apache Cassandra, o de una base 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
- Tu empresa ya trabaja con Cassandra y quieres usarlo como base de conocimiento.
- Quieres que los textos guardados caduquen pasado un tiempo.
- Necesitas combinar la búsqueda por significado con palabras que deben aparecer en el texto.
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 Cassandra DB con los datos de conexión de tu base Cassandra. Consulta Credenciales.
| Campo | Qué hace |
|---|---|
| Credential (obligatorio) | La credencial Cassandra DB 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. |
| Keyspace (obligatorio) | El espacio de claves de la tabla, o el espacio de nombres si es Astra DB. |
| Table Name (obligatorio) | La tabla donde se guardan los documentos. |
Opciones avanzadas
| Campo | Qué hace |
|---|---|
| Number Of Results | Cuántos documentos devuelve cada búsqueda. Por defecto, 4. |
| TTL Seconds | Si lo rellenas, los textos guardados se borran solos pasado ese tiempo, en segundos. |
| Batch Size | Cuántos documentos se guardan en cada envío. Por defecto, 16. |
| Setup Mode | Cómo se prepara la tabla: Sync (por defecto), Async u Off. |
| Cluster Arguments | Ajustes extra de conexión al clúster, si te los indica quien lo administra. |
| Enable Body Search | Permite buscar también por palabras del texto con Search Body. Debe activarse antes de crear la tabla. |
| Search Body | Palabras que deben aparecer en el texto de los documentos encontrados. |
| 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. |
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 operadora guarda las incidencias resueltas en Cassandra para que el soporte encuentre casos parecidos.
- Añade Cassandra con Operation en
Search, el keyspace y la tabla. - Conecta el mismo componente de embeddings con que se guardaron.
- Escribe la descripción de la incidencia nueva en Search Query.
Componentes relacionados
- Recursive Character Text Splitter: corta los documentos en trozos antes de guardarlos.
- OpenAI Embeddings: convierte los textos para buscarlos por significado.