Pinecone
Pinecone guarda documentos en un índice de Pinecone y busca en él por significado, con filtros por los datos de cada documento.
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 Pinecone y quieres que tus flujos guarden y busquen en él.
- Quieres separar los documentos de cada cliente o departamento en espacios distintos del mismo índice.
- Necesitas crear el índice desde el propio flujo si aún no existe.
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 Pinecone API con la clave de tu cuenta de Pinecone. Consulta Credenciales.
| Campo | Qué hace |
|---|---|
| Credential (obligatorio) | La credencial Pinecone 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. |
| Index Name (obligatorio) | El índice de Pinecone. |
| Namespace | Espacio dentro del índice, para separar grupos de documentos. Vacío, el de por defecto. |
Opciones avanzadas
| Campo | Qué hace |
|---|---|
| Number Of Results | Cuántos documentos devuelve cada búsqueda. Por defecto, 4. |
| Distance Strategy | Cómo se mide el parecido: Cosine (por defecto), Euclidean o Dot Product. |
| Text Key | El campo que guarda el texto de cada documento. Por defecto, text. |
| Create Index If Not Exists | Crea el índice si no existe. Al activarlo aparecen Index Dimension, Cloud Provider y Cloud Region. |
| 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. |
| Apply Metadata Filter | Con Search. Actívalo para buscar solo entre los documentos cuyos datos cumplen unas condiciones, por ejemplo ciudad igual a Barcelona. Al activarlo aparecen Filter Mode (Manual, condiciones escritas aquí; Dynamic, condiciones que llegan del flujo), Logical Operator (AND, todas; OR, alguna) y Number Of Filters. |
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 consultora guarda los informes de cada cliente en un espacio propio de Pinecone.
- Añade Pinecone con Operation en
Search, el índice y en Namespace el código del cliente. - Conecta el componente de embeddings con que se guardaron.
- Ponlo en modo herramienta y conéctalo al agente.
Componentes relacionados
- Recursive Character Text Splitter: corta los documentos en trozos antes de guardarlos.
- OpenAI Embeddings: convierte los textos para buscarlos por significado.