Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Vektordatenbanken verwalten, Einbettungen speichern und Ähnlichkeitsrecherchen durchführen",
|
||||
"API Key": "API-Schlüssel",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Geben Sie Ihren Pinecone API-Schlüssel ein. Sie können einen neuen API-Schlüssel in der Pinecone Konsole für Ihr Zielprojekt erstellen.",
|
||||
"Configure your Pinecone API key": "Pinecone API-Schlüssel konfigurieren",
|
||||
"Create Index": "Index erstellen",
|
||||
"Upsert Vector": "Upsert-Vektor",
|
||||
"Update a Vector": "Vektor aktualisieren",
|
||||
"Get a Vector": "Vektor holen",
|
||||
"Delete a Vector": "Vektor löschen",
|
||||
"Search Vectors": "Vektoren suchen",
|
||||
"Search Index": "Suchindex",
|
||||
"Creates a new Pinecone index with custom settings.": "Erstellt einen neuen Pinecone-Index mit benutzerdefinierten Einstellungen.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Upsert Vektoren in einen Namensraum. Überschreibt vorhandene Vektoren mit der gleichen ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Aktualisiert einen Vektor in einem Namensraum. Überschreibt vorhandene Werte und Metadaten.",
|
||||
"Look up and return vectors by ID from a namespace.": "Suchen und geben Vektoren durch ID von einem Namensraum zurück.",
|
||||
"Delete vectors by ID from a namespace.": "Vektoren durch ID aus einem Namensraum löschen.",
|
||||
"Search a namespace using a query vector to find similar records.": "Durchsuche einen Namensraum mit einem Abfragevektor um ähnliche Datensätze zu finden.",
|
||||
"Search indexes by name or list all indexes in your project.": "Suchindex nach Namen oder Liste aller Indizes in Ihrem Projekt.",
|
||||
"Index Name": "Indexname",
|
||||
"Dimension": "Abmessungen",
|
||||
"Index Type": "Indextyp",
|
||||
"Cloud Provider": "Cloud-Anbieter",
|
||||
"Region": "Region",
|
||||
"Environment": "Umgebung",
|
||||
"Pod Type": "Pod Typ",
|
||||
"Replicas": "Replikate",
|
||||
"Shards": "Scherben",
|
||||
"Pods": "Pods",
|
||||
"Metric": "Metrisch",
|
||||
"Vector Type": "Vektortyp",
|
||||
"Deletion Protection": "Löschschutz",
|
||||
"Wait Until Ready": "Warten bis fertig",
|
||||
"Suppress Conflicts": "Konflikte unterdrücken",
|
||||
"Tags": "Tags",
|
||||
"Source Collection": "Quellensammlung",
|
||||
"Index Host": "Index Host",
|
||||
"Namespace": "Namensraum",
|
||||
"Input Method": "Eingabemethode",
|
||||
"Vector ID": "Vektor-ID",
|
||||
"Vector Values": "Vektorwerte",
|
||||
"Vectors": "Vektoren",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Sparse Werte",
|
||||
"Metadata": "Metadaten",
|
||||
"Vector IDs": "Vektor-ID",
|
||||
"Delete Mode": "Löschmodus",
|
||||
"Confirm Delete All": "Alle löschen bestätigen",
|
||||
"Metadata Filter": "Metadatenfilter",
|
||||
"Top K": "Top K",
|
||||
"Query Method": "Abfragemethode",
|
||||
"Query Vector": "Abfragevektor",
|
||||
"Query Vector ID": "Abfragevektor ID",
|
||||
"Include Values": "Werte einbeziehen",
|
||||
"Include Metadata": "Metadaten einbeziehen",
|
||||
"Search Mode": "Suchmodus",
|
||||
"Name Filter": "Namensfilter",
|
||||
"You must pass a non-empty string for name in order to create an index": "Sie müssen eine nicht leere Zeichenkette für den Namen übergeben, um einen Index zu erstellen",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "Sie müssen eine positive Ganzzahl für Dimension übergeben, um einen Index zu erstellen. Für dichte Indizes ist dies erforderlich.",
|
||||
"Choose between serverless or pod-based index deployment": "Wählen Sie zwischen serverlosem oder pod-basiertem Indexeinsatz",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "Die öffentliche Cloud, in der Ihr Index gehostet werden soll (für Serverless)",
|
||||
"The region where you would like your index to be created (for serverless)": "Die Region, in der Ihr Index erstellt werden soll (für Serverless)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "Die Umgebung, in der der Index gehostet wird (für pod-basierte Indizes)",
|
||||
"The type of pod to use": "Der Typ des Pods",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "Die Anzahl der Repliken. Replikate duplizieren Ihren Index für höhere Verfügbarkeit und Durchsatz.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "Die Anzahl der Scherben. Scherben. Scherben teilen deine Daten über mehrere Pods auf.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "Die Anzahl der Pods die im Index verwendet werden sollen. Dies sollte gleich sein wie Shards x Repliken.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "Die zu verwendende Distanzmetrie. Standard ist Kosinus für dichte Indizes, Dotproduct für Sparse-Indizes.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "Die Art der zu speichernden Vektoren. Dense ist Standard für die meisten Anwendungsfälle.",
|
||||
"Enable deletion protection for the index": "Löschschutz für den Index aktivieren",
|
||||
"Wait until the index is ready to receive data before completing": "Warten Sie, bis der Index bereit ist, Daten zu erhalten, bevor er fertig ist",
|
||||
"Do not throw if you attempt to create an index that already exists": "Werfen Sie nicht, wenn Sie versuchen, einen Index zu erstellen, der bereits existiert",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Optionale Tags für den Index (z. B. {\"Team\": \"Datenwissenschaften\"})",
|
||||
"The name of the collection to be used as the source for the index": "Der Name der Sammlung, die als Quelle für den Index verwendet werden soll",
|
||||
"The name of the index to upsert vectors into": "Der Name des Indexes, in den Vektoren hochgeladen werden sollen",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "Der einzigartige Host für den Index (optional, siehe Pinecone Docs zum Tarnen eines Indexes)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "Der Namensraum, in dem Sie Vektoren hochladen (z.B. \"Beispiel-Namensraum\")",
|
||||
"Choose how to provide vector data": "Wählen Sie, wie Vektordaten bereitgestellt werden sollen",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "Der eindeutige Bezeichner für den Vektor (z.B. \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Anordnung von Zahlen, die den Vektor repräsentieren (z.B.: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Anordnung der zu upsertierenden Vektoren (für mehrere Vektoreingaben)",
|
||||
"The name of the index containing the vector to update": "Der Name des Indexes, der den zu aktualisierenden Vektor enthält",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Eindeutige Id des Vectors (benötigte Stringlänge: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "Der Namensraum, der den zu aktualisierenden Vektor enthält (z. B. \"Beispiel-Namensraum\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Vektordaten zum Aktualisieren (z.B. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Anordnung der Indizes für Sparse-Werte (optional)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Array von spärlichen Werten, die Indizes entsprechen (muss dieselbe Länge wie Indizes haben)",
|
||||
"Key-value pairs to set for the vector": "Schlüssel-Wert-Paare für den Vektor",
|
||||
"The name of the index to fetch vectors from": "Der Name des Indexes, von dem Vektoren abgerufen werden sollen",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "Die zu holenden Vektor-IDs. Akzeptiert keine Werte mit Leerzeichen (z.B. [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "Der Namensraum, der die zu holenden Vektoren enthält (z. B. \"Beispiel-Namensraum\")",
|
||||
"The name of the index to delete vectors from": "Der Name des Indexes, von dem Vektoren gelöscht werden sollen",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "Der Namensraum zum Löschen von Vektoren (z.B. \"Beispiel-Namensraum\")",
|
||||
"Choose how to delete vectors": "Wählen Sie, wie Vektoren zu löschen",
|
||||
"The ID of the vector to delete (for single vector deletion)": "Die ID des zu löschenden Vektors (für einzelne Vektorlöschung)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Anordnung der zu löschenden Vektor-IDs (z.B. [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Aktivieren Sie diese Option, um zu bestätigen, dass Sie ALLE Vektoren im Namensraum löschen möchten",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Metadaten-Filterausdruck, um Vektoren auszuwählen, die gelöscht werden sollen. Beispiele:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"Jahr\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "Der Name des zu durchsuchenden Indexes",
|
||||
"The number of results to return for each query (range: 1-10000)": "Die Anzahl der Ergebnisse, die für jede Abfrage zurückgegeben werden sollen (Bereich: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "Der zu abfragende Namensraum (z.B. \"Beispiel-Namensraum\")",
|
||||
"Choose how to provide the query": "Wählen Sie, wie die Abfrage anzubieten ist",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Der Abfragevektor. Dies sollte die gleiche Länge wie die Größe des Indexes sein (z.B. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "Die eindeutige ID des Vektors, der als Abfragevektor verwendet werden soll (max. Länge: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Anordnung der Indizes für sparse Vektordaten (optional)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filtern um Vektor-Metadaten anzuwenden. Beispiele:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"Jahr\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Ob Vektorwerte in der Antwort enthalten sind",
|
||||
"Whether metadata is included in the response": "Ob Metadaten in der Antwort enthalten sind",
|
||||
"Choose how to search for indexes": "Wählen Sie die Suche nach Indizes",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "Der Name des zu suchenden Indexes (wenn Sie den spezifischen Indexmodus finden)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Indizes nach Namen filtern (partielle Übereinstimmung, Groß- und Kleinschreibung)",
|
||||
"Serverless": "Serverlos",
|
||||
"Pod-based": "Pod-basiert",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Punkt Produkt",
|
||||
"Dense": "Dichte",
|
||||
"Sparse": "Sparsam",
|
||||
"Single Vector": "Einzelvektor",
|
||||
"Multiple Vectors (JSON)": "Mehrere Vektoren (JSON)",
|
||||
"Delete One Vector": "Einen Vektor löschen",
|
||||
"Delete Multiple Vectors": "Mehrere Vektoren löschen",
|
||||
"Delete All Vectors": "Alle Vektoren löschen",
|
||||
"Delete by Filter": "Löschen durch Filter",
|
||||
"Query by ID": "Abfrage nach ID",
|
||||
"List All Indexes": "Alle Indizes auflisten",
|
||||
"Find Specific Index": "Spezifischen Index finden"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Administrar bases de datos vectoriales, almacenar incrustaciones y realizar búsquedas de similitudes",
|
||||
"API Key": "Clave API",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Introduzca su clave API de Pinecone. Puede crear una nueva clave API en la consola Pinecone para su proyecto de destino.",
|
||||
"Configure your Pinecone API key": "Configurar tu clave API de Pinecone",
|
||||
"Create Index": "Crear índice",
|
||||
"Upsert Vector": "Insertar Vector",
|
||||
"Update a Vector": "Actualizar un Vector",
|
||||
"Get a Vector": "Obtener un Vector",
|
||||
"Delete a Vector": "Eliminar un Vector",
|
||||
"Search Vectors": "Buscar vectores",
|
||||
"Search Index": "Índice de búsqueda",
|
||||
"Creates a new Pinecone index with custom settings.": "Crea un nuevo índice de Pinecone con ajustes personalizados.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Inserta vectores en un espacio de nombres. Sobrescribe los vectores existentes con el mismo IDD.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Actualiza un vector en un espacio de nombres. Sobrescribe los valores y metadatos existentes.",
|
||||
"Look up and return vectors by ID from a namespace.": "Buscar y devolver vectores por ID desde un espacio de nombres.",
|
||||
"Delete vectors by ID from a namespace.": "Eliminar vectores por ID de un namespace.",
|
||||
"Search a namespace using a query vector to find similar records.": "Busca un espacio de nombres usando un vector de consultas para encontrar registros similares.",
|
||||
"Search indexes by name or list all indexes in your project.": "Buscar índices por nombre o listar todos los índices en su proyecto.",
|
||||
"Index Name": "Nombre del índice",
|
||||
"Dimension": "Dimensión",
|
||||
"Index Type": "Tipo de índice",
|
||||
"Cloud Provider": "Proveedor de nube",
|
||||
"Region": "Región",
|
||||
"Environment": "Entorno",
|
||||
"Pod Type": "Tipo de Pod",
|
||||
"Replicas": "Replicas",
|
||||
"Shards": "Fragmentos",
|
||||
"Pods": "Polvos",
|
||||
"Metric": "Métrica",
|
||||
"Vector Type": "Tipo de vector",
|
||||
"Deletion Protection": "Protección de borrado",
|
||||
"Wait Until Ready": "Esperar hasta que esté listo",
|
||||
"Suppress Conflicts": "Suprimir Conflictos",
|
||||
"Tags": "Etiquetas",
|
||||
"Source Collection": "Colección de origen",
|
||||
"Index Host": "Anfitrión índice",
|
||||
"Namespace": "Espacio de nombres",
|
||||
"Input Method": "Método de entrada",
|
||||
"Vector ID": "ID vectorial",
|
||||
"Vector Values": "Valores vectoriales",
|
||||
"Vectors": "Vectores",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Valores esporádicos",
|
||||
"Metadata": "Metadatos",
|
||||
"Vector IDs": "IDs vectoriales",
|
||||
"Delete Mode": "Modo de eliminación",
|
||||
"Confirm Delete All": "Confirmar Borrar todo",
|
||||
"Metadata Filter": "Filtro de metadatos",
|
||||
"Top K": "Top K",
|
||||
"Query Method": "Método de consulta",
|
||||
"Query Vector": "Vector de consulta",
|
||||
"Query Vector ID": "ID Vector de consulta",
|
||||
"Include Values": "Incluir valores",
|
||||
"Include Metadata": "Incluye metadatos",
|
||||
"Search Mode": "Modo de búsqueda",
|
||||
"Name Filter": "Filtro de nombres",
|
||||
"You must pass a non-empty string for name in order to create an index": "Debe pasar una cadena no vacía para el nombre con el fin de crear un índice",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "Debe pasar un entero positivo para la dimensión para crear un índice. Para índices densos, esto es necesario.",
|
||||
"Choose between serverless or pod-based index deployment": "Elegir entre despliegue de índices sin servidor o basado en pods",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "La nube pública donde desea alojar su índice (para sin servidor)",
|
||||
"The region where you would like your index to be created (for serverless)": "La región donde desea que se cree su índice (para sin servidor)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "El entorno donde se aloja el índice (para índices basados en pods)",
|
||||
"The type of pod to use": "El tipo de pod a usar",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "El número de réplicas. Las réplicas duplican su índice para mayor disponibilidad y medio.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "El número de fragmentos. Los fragmentos dividen tus datos en varias vainas.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "El número de pods que se usarán en el índice. Esto debe ser igual a fragmentos x réplicas.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "La métrica de distancia a utilizar. Por defecto el coseno para índices densos, el dotproduct para índices esparse.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "El tipo de vectores a almacenar. Dense es por defecto para la mayoría de los casos de uso.",
|
||||
"Enable deletion protection for the index": "Habilitar protección de eliminación para el índice",
|
||||
"Wait until the index is ready to receive data before completing": "Espere hasta que el índice esté listo para recibir datos antes de completar",
|
||||
"Do not throw if you attempt to create an index that already exists": "No arrojar si intenta crear un índice que ya existe",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Etiquetas opcionales para el índice (por ej., {\"equipo\": \"ciencia-datos\"})",
|
||||
"The name of the collection to be used as the source for the index": "El nombre de la colección a ser utilizada como fuente del índice",
|
||||
"The name of the index to upsert vectors into": "El nombre del índice en el que insertar vectores",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "El host único para el índice (opcional, ver documentación de Pinecone para apuntar a un índice)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "El espacio de nombres donde se actualizan los vectores (por ejemplo, \"ejemplo-espacio de nombres\")",
|
||||
"Choose how to provide vector data": "Elegir cómo proporcionar datos del vector",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "El identificador único para el vector (por ejemplo, \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Arreglo de números que representan al vector (por ejemplo, [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Matriz de vectores a actualizar (para múltiples vectores de entrada)",
|
||||
"The name of the index containing the vector to update": "El nombre del índice que contiene el vector a actualizar",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Id único del vector (requerido, longitud de cadena: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "El namespace que contiene el vector a actualizar (por ejemplo, \"example-namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Datos vectoriales a actualizar (por ejemplo, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Arreglo de índices para los valores de análisis (opcional)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Matriz de valores de análisis correspondientes a los índices (debe tener la misma longitud que los índices)",
|
||||
"Key-value pairs to set for the vector": "Pares de valor de clave a establecer para el vector",
|
||||
"The name of the index to fetch vectors from": "El nombre del índice del que obtener vectores",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "Los ID del vector a buscar. No acepta valores que contengan espacios (por ejemplo, [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "El espacio de nombres que contiene los vectores a buscar (por ejemplo, \"ejemplo-namespace\")",
|
||||
"The name of the index to delete vectors from": "El nombre del índice del que eliminar vectores",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "El espacio de nombres del que eliminar vectores (p. ej., \"example-namespace\")",
|
||||
"Choose how to delete vectors": "Elegir cómo eliminar vectores",
|
||||
"The ID of the vector to delete (for single vector deletion)": "El ID del vector a eliminar (para borrado único del vector)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Array de IDs vectoriales a eliminar (por ejemplo, [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Marque esta casilla para confirmar que desea eliminar TODOS los vectores en el espacio de nombres",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Expresión de filtro de metadatos para seleccionar vectores a eliminar. Ejemplos:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"año\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"año\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "El nombre del índice en el que buscar",
|
||||
"The number of results to return for each query (range: 1-10000)": "El número de resultados a devolver para cada consulta (rango: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "El namespace a consultar (por ej., \"example-namespace\")",
|
||||
"Choose how to provide the query": "Elija cómo proporcionar la consulta",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "El vector de consulta. Debe ser la misma longitud que la dimensión del índice (por ejemplo, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "El ID único del vector a ser usado como un vector de consulta (longitud máxima: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Array de índices para datos vectoriales de análisis (opcional)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filtrar para aplicar usando metadatos vectoriales. Ejemplos:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"año\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"año\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Si los valores del vector se incluyen en la respuesta",
|
||||
"Whether metadata is included in the response": "Si los metadatos están incluidos en la respuesta",
|
||||
"Choose how to search for indexes": "Elegir cómo buscar índices",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "El nombre del índice específico a buscar (cuando se utiliza el modo de búsqueda de índices específicos)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filtrar índices por nombre (coincidencia parcial, falta de mayúsculas/minúsculas)",
|
||||
"Serverless": "Sin servidor",
|
||||
"Pod-based": "Basado en Pod",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Producto puntero",
|
||||
"Dense": "Densidad",
|
||||
"Sparse": "Esparso",
|
||||
"Single Vector": "Vector único",
|
||||
"Multiple Vectors (JSON)": "Vectores múltiples (JSON)",
|
||||
"Delete One Vector": "Eliminar un Vector",
|
||||
"Delete Multiple Vectors": "Eliminar múltiples vectores",
|
||||
"Delete All Vectors": "Borrar todos los vectores",
|
||||
"Delete by Filter": "Eliminar por filtro",
|
||||
"Query by ID": "Consulta por ID",
|
||||
"List All Indexes": "Listar todos los índices",
|
||||
"Find Specific Index": "Encontrar índice específico"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Gérer les bases de données vectorielles, stocker les incorporations et effectuer des recherches de similarité",
|
||||
"API Key": "Clé API",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Entrez votre clé API Pinecone. Vous pouvez créer une nouvelle clé API dans la console Pinecone pour votre projet cible.",
|
||||
"Configure your Pinecone API key": "Configurer votre clé API Pinecone",
|
||||
"Create Index": "Créer un index",
|
||||
"Upsert Vector": "Vecteur haut de gamme",
|
||||
"Update a Vector": "Mettre à jour un vecteur",
|
||||
"Get a Vector": "Obtenir un vecteur",
|
||||
"Delete a Vector": "Supprimer un vecteur",
|
||||
"Search Vectors": "Rechercher des vecteurs",
|
||||
"Search Index": "Index de recherche",
|
||||
"Creates a new Pinecone index with custom settings.": "Crée un nouvel index Pinecone avec des paramètres personnalisés.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Des vecteurs haut de gamme dans un espace de noms. Remplace les vecteurs existants avec le même ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Met à jour un vecteur dans un espace de noms. Remplace les valeurs existantes et les métadonnées.",
|
||||
"Look up and return vectors by ID from a namespace.": "Rechercher et retourner des vecteurs par ID à partir d'un espace de noms.",
|
||||
"Delete vectors by ID from a namespace.": "Supprimer les vecteurs par ID d'un espace de noms.",
|
||||
"Search a namespace using a query vector to find similar records.": "Recherchez un espace de noms en utilisant un vecteur de requête pour trouver des enregistrements similaires.",
|
||||
"Search indexes by name or list all indexes in your project.": "Rechercher des index par nom ou lister tous les index de votre projet.",
|
||||
"Index Name": "Nom de l'index",
|
||||
"Dimension": "Dimension",
|
||||
"Index Type": "Type d'index",
|
||||
"Cloud Provider": "Fournisseur Cloud",
|
||||
"Region": "Région",
|
||||
"Environment": "Environnement",
|
||||
"Pod Type": "Type de Pod",
|
||||
"Replicas": "Répliques",
|
||||
"Shards": "Éclats",
|
||||
"Pods": "Pods",
|
||||
"Metric": "Métrique",
|
||||
"Vector Type": "Type de vecteur",
|
||||
"Deletion Protection": "Protection contre la suppression",
|
||||
"Wait Until Ready": "Attendez jusqu'à ce que vous soyez prêt",
|
||||
"Suppress Conflicts": "Supprimer les conflits",
|
||||
"Tags": "Tags",
|
||||
"Source Collection": "Collection source",
|
||||
"Index Host": "Hôte de l'index",
|
||||
"Namespace": "Espace de noms",
|
||||
"Input Method": "Méthode de saisie",
|
||||
"Vector ID": "ID vectoriel",
|
||||
"Vector Values": "Valeurs vectorielles",
|
||||
"Vectors": "Vecteurs",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Valeurs Sparse",
|
||||
"Metadata": "Métadonnées",
|
||||
"Vector IDs": "IDs vectoriels",
|
||||
"Delete Mode": "Mode de suppression",
|
||||
"Confirm Delete All": "Confirmer tout supprimer",
|
||||
"Metadata Filter": "Filtre de métadonnées",
|
||||
"Top K": "Top K",
|
||||
"Query Method": "Méthode de requête",
|
||||
"Query Vector": "Vecteur de requête",
|
||||
"Query Vector ID": "ID vectoriel de la requête",
|
||||
"Include Values": "Inclure les valeurs",
|
||||
"Include Metadata": "Inclure les métadonnées",
|
||||
"Search Mode": "Mode de recherche",
|
||||
"Name Filter": "Filtre de nom",
|
||||
"You must pass a non-empty string for name in order to create an index": "Vous devez passer une chaîne de nom non vide pour créer un index",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "Vous devez passer un entier positif pour la dimension afin de créer un index. Pour les index dense, c'est obligatoire.",
|
||||
"Choose between serverless or pod-based index deployment": "Choisissez entre le déploiement d'index basé sur serveur ou sur pod",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "Le cloud public où vous aimeriez que votre index soit hébergé (pour sans serveur)",
|
||||
"The region where you would like your index to be created (for serverless)": "La région où vous souhaitez que votre index soit créé (pour sans serveur)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "L'environnement où l'index est hébergé (pour les index en pod)",
|
||||
"The type of pod to use": "Le type de pod à utiliser",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "Le nombre de réplications. Les répliques dupliquent votre index pour une disponibilité et un débit plus élevés.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "Le nombre de fragments. Les éclats divisent vos données en plusieurs podes.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "Le nombre de pods à utiliser dans l'index. Cela doit être égal à des fragments de répliques x.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "La mesure de distance à utiliser. Par défaut, cosinus pour les index dense, dotproduct pour les index épars.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "Le type de vecteurs à stocker. Dense est par défaut pour la plupart des cas d'utilisation.",
|
||||
"Enable deletion protection for the index": "Activer la protection de suppression pour l'index",
|
||||
"Wait until the index is ready to receive data before completing": "Attendez que l'index soit prêt à recevoir des données avant de compléter",
|
||||
"Do not throw if you attempt to create an index that already exists": "Ne jetez pas si vous essayez de créer un index qui existe déjà",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Étiquettes optionnelles pour l'index (par exemple, {\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "Le nom de la collection à utiliser comme source de l'index",
|
||||
"The name of the index to upsert vectors into": "Le nom de l'index dans lequel mettre en valeur les vecteurs",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "L'hôte unique pour l'index (optionnel, voir docs Pinecone pour cibler un index)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "L'espace de noms où vous upsert des vecteurs (par exemple, \"exemple-espace de noms\")",
|
||||
"Choose how to provide vector data": "Choisir comment fournir des données vectorielles",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "L'identifiant unique pour le vecteur (par exemple, \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Tableau de nombres représentant le vecteur (par exemple, [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Tableau de vecteurs à utiliser (pour l'entrée de vecteurs multiples)",
|
||||
"The name of the index containing the vector to update": "Le nom de l'index contenant le vecteur à mettre à jour",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Identifiant unique du vecteur (requis, longueur de chaîne : 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "L'espace de noms contenant le vecteur à mettre à jour (par exemple, \"exemple-espace de noms\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Données vectorielles à mettre à jour (par exemple, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Tableau d'indices pour les valeurs éparses (optionnel)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Tableau de valeurs épares correspondant aux indices (doit être de même longueur que les indices)",
|
||||
"Key-value pairs to set for the vector": "Paires de valeur clé à définir pour le vecteur",
|
||||
"The name of the index to fetch vectors from": "Le nom de l'index à partir duquel récupérer les vecteurs",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "Les identifiants vectoriels à récupérer. N'accepte pas les valeurs contenant des espaces (par exemple, [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "L'espace de noms contenant les vecteurs à récupérer (par exemple, \"exemple-espace de noms\")",
|
||||
"The name of the index to delete vectors from": "Le nom de l'index pour supprimer les vecteurs de",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "L'espace de noms à partir duquel supprimer des vecteurs (par exemple, \"exemple-espace de noms\")",
|
||||
"Choose how to delete vectors": "Choisir comment supprimer les vecteurs",
|
||||
"The ID of the vector to delete (for single vector deletion)": "L'ID du vecteur à supprimer (pour la suppression d'un seul vecteur)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Tableau des identifiants vectoriels à supprimer (par exemple, [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Cochez cette case pour confirmer que vous voulez supprimer TOUS les vecteurs de l'espace de noms",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Expression de filtre de métadonnées pour sélectionner les vecteurs à supprimer. Exemples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comédie\"}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "Le nom de l'index dans lequel rechercher",
|
||||
"The number of results to return for each query (range: 1-10000)": "Le nombre de résultats à retourner pour chaque requête (intervalle : 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "L'espace de noms à rechercher (par exemple, \"exemple-espace de noms\")",
|
||||
"Choose how to provide the query": "Choisissez comment fournir la requête",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Le vecteur de requête. Il doit avoir la même longueur que la dimension de l'index (par exemple, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "L'ID unique du vecteur à utiliser comme vecteur de requête (longueur max : 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Tableau d'indices pour les données vectorielles éparses (optionnel)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filtrer à appliquer en utilisant les métadonnées vectorielles. Exemples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Si les valeurs vectorielles sont incluses dans la réponse",
|
||||
"Whether metadata is included in the response": "Si les métadonnées sont incluses dans la réponse",
|
||||
"Choose how to search for indexes": "Choisir comment rechercher des index",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "Le nom de l'index spécifique à rechercher (lorsque vous utilisez le mode Recherche d'index spécifique)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filtrer les index par nom (correspondance partielle, insensible à la casse)",
|
||||
"Serverless": "Sans serveur",
|
||||
"Pod-based": "Basé sur le pod",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Produit point",
|
||||
"Dense": "Dense",
|
||||
"Sparse": "Sparse",
|
||||
"Single Vector": "Simple Vecteur",
|
||||
"Multiple Vectors (JSON)": "Vecteurs multiples (JSON)",
|
||||
"Delete One Vector": "Supprimer un vecteur",
|
||||
"Delete Multiple Vectors": "Supprimer plusieurs vecteurs",
|
||||
"Delete All Vectors": "Supprimer tous les vecteurs",
|
||||
"Delete by Filter": "Supprimer par filtre",
|
||||
"Query by ID": "Requête par ID",
|
||||
"List All Indexes": "Lister tous les index",
|
||||
"Find Specific Index": "Trouver un index spécifique"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "ベクトルデータベースの管理、組み込みの保存、類似性検索の実行",
|
||||
"API Key": "API キー",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Pinecone API キーを入力します。ターゲット プロジェクトの Pinecone コンソールで新しい API キーを作成できます。",
|
||||
"Configure your Pinecone API key": "Pinecone API キーを設定します",
|
||||
"Create Index": "インデックスを作成",
|
||||
"Upsert Vector": "アップサートベクトル",
|
||||
"Update a Vector": "ベクトルを更新",
|
||||
"Get a Vector": "ベクトルを取得",
|
||||
"Delete a Vector": "ベクトルを削除",
|
||||
"Search Vectors": "ベクトルを検索",
|
||||
"Search Index": "検索インデックス",
|
||||
"Creates a new Pinecone index with custom settings.": "新しいPineconeインデックスをカスタム設定で作成します。",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "名前空間に上書きベクトル。同じ ID を持つ既存のベクトルを上書きします。",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "名前空間内のベクトルを更新します。既存の値とメタデータを上書きします。",
|
||||
"Look up and return vectors by ID from a namespace.": "名前空間から ID でベクトルを検索して返します。",
|
||||
"Delete vectors by ID from a namespace.": "名前空間から ID でベクトルを削除します。",
|
||||
"Search a namespace using a query vector to find similar records.": "クエリベクトルを使用して名前空間を検索し、類似のレコードを検索します。",
|
||||
"Search indexes by name or list all indexes in your project.": "名前でインデックスを検索するか、プロジェクト内のすべてのインデックスを一覧表示します。",
|
||||
"Index Name": "インデックス名",
|
||||
"Dimension": "寸法",
|
||||
"Index Type": "インデックスタイプ",
|
||||
"Cloud Provider": "クラウドプロバイダー",
|
||||
"Region": "地域",
|
||||
"Environment": "環境",
|
||||
"Pod Type": "ポッドの種類",
|
||||
"Replicas": "Replicas",
|
||||
"Shards": "シャード",
|
||||
"Pods": "Pods",
|
||||
"Metric": "メトリック",
|
||||
"Vector Type": "ベクトルタイプ",
|
||||
"Deletion Protection": "削除保護",
|
||||
"Wait Until Ready": "準備完了まで待つ",
|
||||
"Suppress Conflicts": "競合を抑制する",
|
||||
"Tags": "タグ",
|
||||
"Source Collection": "ソースコレクション",
|
||||
"Index Host": "インデックス ホスト",
|
||||
"Namespace": "名前空間",
|
||||
"Input Method": "入力方法",
|
||||
"Vector ID": "ベクトルID",
|
||||
"Vector Values": "ベクトル値",
|
||||
"Vectors": "ベクトル",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "疎な値",
|
||||
"Metadata": "メタデータ",
|
||||
"Vector IDs": "ベクトルID",
|
||||
"Delete Mode": "削除モード",
|
||||
"Confirm Delete All": "すべて削除を確認",
|
||||
"Metadata Filter": "メタデータフィルタ",
|
||||
"Top K": "トップ K",
|
||||
"Query Method": "クエリメソッド",
|
||||
"Query Vector": "クエリベクトル",
|
||||
"Query Vector ID": "クエリベクトル ID",
|
||||
"Include Values": "値を含める",
|
||||
"Include Metadata": "メタデータを含める",
|
||||
"Search Mode": "検索モード",
|
||||
"Name Filter": "名前フィルタ",
|
||||
"You must pass a non-empty string for name in order to create an index": "インデックスを作成するには、名前に空でない文字列を渡す必要があります",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "インデックスを作成するには、寸法に正の整数を渡す必要があります。高密度インデックスの場合は、これは必須です。",
|
||||
"Choose between serverless or pod-based index deployment": "サーバーレスまたはポッドベースのインデックス展開を選択します",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "インデックスをホストしたいパブリッククラウド(サーバーレス向け)",
|
||||
"The region where you would like your index to be created (for serverless)": "インデックスを作成したい領域(サーバーレスの場合)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "インデックスがホストされている環境 (ポッドベースのインデックス用)",
|
||||
"The type of pod to use": "使用するポッドの種類",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "レプリカの数。より高い可用性とスループットのためにインデックスを複製します。",
|
||||
"The number of shards. Shards split your data across multiple pods.": "シャードの数。シャードはデータを複数のポッドに分割します。",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "インデックスで使用されるポッドの数。これはシャードxレプリカと同じにする必要があります。",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "使用する距離メトリック。デフォルトは高密度インデックスのコサイン、sparse インデックスの dotproduct です。",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "保存するベクトルの種類。ほとんどの使用例ではデフォルトです。",
|
||||
"Enable deletion protection for the index": "インデックスの削除保護を有効にする",
|
||||
"Wait until the index is ready to receive data before completing": "インデックスが完了する前にデータを受信する準備が整うまで待ちます",
|
||||
"Do not throw if you attempt to create an index that already exists": "すでに存在するインデックスを作成しようとした場合は、スローしない",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "インデックスのオプションタグ(例:{\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "インデックスのソースとして使用するコレクションの名前",
|
||||
"The name of the index to upsert vectors into": "ベクトルを挿入するインデックスの名前",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "インデックスのユニークなホスト (オプション、Pinecone ドキュメントを参照してください)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "ベクトルを補強するネームスペース (例: \"example-namespace\")",
|
||||
"Choose how to provide vector data": "ベクトルデータを提供する方法を選択します",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "ベクトルの一意の識別子 (例: \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "ベクトルを表す数値の配列 (例: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "アップサートするベクトルの配列 (複数のベクトル入力用)",
|
||||
"The name of the index containing the vector to update": "更新するベクトルを含むインデックスの名前",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Vectorの固有ID(必須、文字列長:1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "更新するベクトルを含む名前空間(例: \"example-namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "更新するベクトルデータ(例: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "スパース値のインデックスの配列 (オプション)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "インデックスに対応するスパース値の配列 (インデックスと同じ長さでなければなりません)",
|
||||
"Key-value pairs to set for the vector": "ベクトルに設定するキーと値のペア",
|
||||
"The name of the index to fetch vectors from": "ベクトルを取得するインデックスの名前",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "取得するベクトルID。空白を含む値を受け付けません (例: [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "フェッチするベクトルを含む名前空間 (例: \"example-namespace\")",
|
||||
"The name of the index to delete vectors from": "ベクトルを削除するインデックスの名前",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "ベクトルを削除する名前空間(例: \"example-namespace\")",
|
||||
"Choose how to delete vectors": "ベクトルを削除する方法を選択します",
|
||||
"The ID of the vector to delete (for single vector deletion)": "削除するベクトルのID(単一ベクトル削除の場合)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "削除するベクトルIDの配列(例:[\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "名前空間内のすべてのベクトルを削除するかどうかを確認するには、このチェックボックスをオンにします。",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "削除するベクトルを選択するメタデータフィルタ式。 例:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"コメディ\"}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "検索するインデックスの名前",
|
||||
"The number of results to return for each query (range: 1-10000)": "クエリごとに返す結果の数(範囲:1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "問い合わせる名前空間(例: \"example-namespace\")",
|
||||
"Choose how to provide the query": "クエリを提供する方法を選択してください",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "問い合わせベクトル。これはインデックスの寸法と同じ長さでなければなりません(例:[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "クエリベクトルとして使用されるベクトルの固有ID(最大長512)",
|
||||
"Array of indices for sparse vector data (optional)": "スパースベクトルデータのインデックスの配列 (オプション)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "ベクトルメタデータを使用して適用するフィルタです。 例:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"コメディー\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "応答にベクトル値を含めるかどうか",
|
||||
"Whether metadata is included in the response": "レスポンスにメタデータが含まれているかどうか",
|
||||
"Choose how to search for indexes": "インデックスの検索方法を選択",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "検索する特定のインデックスの名前(検索特定インデックスモードを使用する場合)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "インデックスを名前でフィルター (部分一致、大文字小文字を区別しません)",
|
||||
"Serverless": "サーバーレス",
|
||||
"Pod-based": "ポッドベース",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "ドット商品",
|
||||
"Dense": "濃く",
|
||||
"Sparse": "Sparse",
|
||||
"Single Vector": "単一ベクトル",
|
||||
"Multiple Vectors (JSON)": "複数ベクトル(JSON)",
|
||||
"Delete One Vector": "ベクトルを削除する",
|
||||
"Delete Multiple Vectors": "複数のベクトルを削除",
|
||||
"Delete All Vectors": "すべてのベクトルを削除",
|
||||
"Delete by Filter": "フィルターで削除",
|
||||
"Query by ID": "ID でクエリ",
|
||||
"List All Indexes": "すべてのインデックスの一覧",
|
||||
"Find Specific Index": "特定のインデックスを検索"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Beheer vector databases, opslag embeddings, en het zoeken naar overeenkomsten",
|
||||
"API Key": "API Sleutel",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Voer uw Pinecone API-sleutel in. U kunt een nieuwe API-sleutel maken in de Pinecone console voor uw project.",
|
||||
"Configure your Pinecone API key": "Configureer uw Pinecone API-sleutel",
|
||||
"Create Index": "Index aanmaken",
|
||||
"Upsert Vector": "woestijn Vector",
|
||||
"Update a Vector": "Vector bijwerken",
|
||||
"Get a Vector": "Verkrijg een Vector",
|
||||
"Delete a Vector": "Vector verwijderen",
|
||||
"Search Vectors": "Vectoren zoeken",
|
||||
"Search Index": "Zoek Index",
|
||||
"Creates a new Pinecone index with custom settings.": "Maakt een nieuwe Pinecone index met aangepaste instellingen.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Bestaande vectoren in een namespace. Overschrijft bestaande vectoren met dezelfde ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Werkt een vector in een namespace. Overschrijft bestaande waarden en metagegevens.",
|
||||
"Look up and return vectors by ID from a namespace.": "Zoek op en geef vectoren terug met ID uit een namespace.",
|
||||
"Delete vectors by ID from a namespace.": "Verwijder vectoren met ID uit een namespace.",
|
||||
"Search a namespace using a query vector to find similar records.": "Doorzoek een namespace met behulp van een query vector om vergelijkbare records te vinden.",
|
||||
"Search indexes by name or list all indexes in your project.": "Zoek indexen op naam of laat alle indexen in uw project zien.",
|
||||
"Index Name": "Index naam",
|
||||
"Dimension": "Mål",
|
||||
"Index Type": "Index type",
|
||||
"Cloud Provider": "Cloud Provider",
|
||||
"Region": "Regio",
|
||||
"Environment": "Milieu",
|
||||
"Pod Type": "Pod type",
|
||||
"Replicas": "Replicas",
|
||||
"Shards": "Scherven",
|
||||
"Pods": "Aansluitingen",
|
||||
"Metric": "Metrisch",
|
||||
"Vector Type": "Vector type",
|
||||
"Deletion Protection": "Bescherming tegen verwijdering",
|
||||
"Wait Until Ready": "Wacht tot klaar",
|
||||
"Suppress Conflicts": "Conflicten onderdrukken",
|
||||
"Tags": "Labels",
|
||||
"Source Collection": "Bron collectie",
|
||||
"Index Host": "Indexeer host",
|
||||
"Namespace": "Namespace",
|
||||
"Input Method": "Invoer methode",
|
||||
"Vector ID": "Vector ID",
|
||||
"Vector Values": "Vector Waarden",
|
||||
"Vectors": "Vectoren",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Spaarzame Waarden",
|
||||
"Metadata": "Metagegevens",
|
||||
"Vector IDs": "Vector IDs",
|
||||
"Delete Mode": "Modus verwijderen",
|
||||
"Confirm Delete All": "Alles verwijderen bevestigen",
|
||||
"Metadata Filter": "Metadata filter",
|
||||
"Top K": "Boven K",
|
||||
"Query Method": "Query Methode",
|
||||
"Query Vector": "Query Vector",
|
||||
"Query Vector ID": "Query Vector ID",
|
||||
"Include Values": "Waarden opnemen",
|
||||
"Include Metadata": "Inclusief metadata",
|
||||
"Search Mode": "Zoek modus",
|
||||
"Name Filter": "Naam filter",
|
||||
"You must pass a non-empty string for name in order to create an index": "Je moet een niet-lege tekenreeks doorgeven voor de naam om een index aan te maken",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "Je moet een positief geheel getal doorgeven voor de dimensie om een index te maken. Voor dichte indexen is dit vereist.",
|
||||
"Choose between serverless or pod-based index deployment": "Kies tussen serverless of pod-based index deployment",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "De openbare cloud waar je de gehost index (voor servers) wilt hebben)",
|
||||
"The region where you would like your index to be created (for serverless)": "De regio waar je de index wilt maken (voor de servers)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "De omgeving waar de index wordt gehost (voor pod-gebaseerde indexen)",
|
||||
"The type of pod to use": "Het te gebruiken pod type",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "Het aantal replicas. Replicas dupliceert je index voor een grotere beschikbaarheid en doorvoer.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "Het aantal scherven. Verdeelt je data over meerdere pods.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "Het aantal pods dat gebruikt moet worden in de index. Dit moet gelijk zijn aan scherven x replica.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "De te gebruiken afstandsmetrisch systeem. Standaard cosinus voor dichte indexen, dotproduct voor dunse-indexen.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "Het type vectoren op te slaan. Dichte is standaard voor de meeste gebruikte zaken.",
|
||||
"Enable deletion protection for the index": "Bescherming tegen verwijdering inschakelen voor de index",
|
||||
"Wait until the index is ready to receive data before completing": "Wacht tot de index klaar is om gegevens te ontvangen voor het voltooien",
|
||||
"Do not throw if you attempt to create an index that already exists": "Niet gooien als u probeert een index te maken die al bestaat",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Optionele tags voor de index (bijv. {\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "De naam van de collectie die gebruikt moet worden als bron voor de index",
|
||||
"The name of the index to upsert vectors into": "De naam van de index voor de volgende vectoren in",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "De unieke host voor de index (optioneel, zie Pinecone documenten voor het richten van een index)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "De namespace waar je vectoren naar boven kunt plaatsen (bijv. \"voorbeeld-namespace\")",
|
||||
"Choose how to provide vector data": "Kies hoe vector gegevens te verstrekken",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "De unieke id voor de vector (bijv. \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Array van getallen die de vector vertegenwoordigen (bijv. [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Array of vectors to upsert (voor meerdere vector-invoer)",
|
||||
"The name of the index containing the vector to update": "De naam van de index die de te updaten vector",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Vector's unieke id (vereist, stringlengte: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "De namespace met de vector bij te werken (bijv. \"voorbeeld-namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Vectorgegevens bij te werken (bijv. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Array of indices voor sparse waarden (optioneel)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Array of sparse values corresponding to indices (must be same length as index)",
|
||||
"Key-value pairs to set for the vector": "Sleutelwaarde paren om in te stellen voor de vector",
|
||||
"The name of the index to fetch vectors from": "De naam van de index om vectoren van te halen",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "De vector ID's om op te halen. Dit accepteert geen waarden die spaties bevatten (bijv. [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "De naamruimte met de vectors om op te halen (bijv. \"voorbeeld-namespace\")",
|
||||
"The name of the index to delete vectors from": "De naam van de index om vectoren van te verwijderen",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "De namespace om vectors te verwijderen van (bijv. \"voorbeeld-namespace\")",
|
||||
"Choose how to delete vectors": "Kies hoe vectoren te verwijderen",
|
||||
"The ID of the vector to delete (for single vector deletion)": "De ID van de te verwijderen vector (voor enkelvoudige verwijdering vector)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Reeks van vector ID's te verwijderen (bijv. [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Vink dit vakje aan om te bevestigen dat u ALLE vectoren in de namespace wilt verwijderen",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Metadata filter expressie om vectors te selecteren om te verwijderen. Voorbeelden:\n• {\"genre\": {\"$eq\": \"documentaire\"}}\n• {\"jaar\": {\"$gt\": {\" $gt\": {\"\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"jaar\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "De naam van de index om in te zoeken",
|
||||
"The number of results to return for each query (range: 1-10000)": "Het aantal resultaten om terug te keren voor elke zoekopdracht (bereik: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "De namespace voor query (bijv. \"voorbeeld-namespace\")",
|
||||
"Choose how to provide the query": "Kies hoe u de query wilt weergeven",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "De query vector. Dit moet dezelfde lengte hebben als de afmeting van de index (bijv. [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "De unieke ID van de vector die wordt gebruikt als query vector (maximale lengte: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Reeks van indexen voor sparse vectorgegevens (optioneel)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Toepassen met behulp van vector metadata. Voorbeelden:\n• {\"genre\": {\"$eq\": \"documentaire\"}}\n• {\"jaar\": {\"$gt\": {\" $gt \": {\"\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"jaar\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Of vector waarden zijn opgenomen in de reactie",
|
||||
"Whether metadata is included in the response": "Of metadata is opgenomen in de reactie",
|
||||
"Choose how to search for indexes": "Kies hoe te zoeken naar indexen",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "De naam van de specifieke index waarnaar moet worden gezocht (wanneer de specifieke index modus zoeken)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filter indexen op naam (gedeeltelijke match, hoofdlettergevoelig)",
|
||||
"Serverless": "Serverless",
|
||||
"Pod-based": "Pod-gebaseerd",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Punt product",
|
||||
"Dense": "Dicht",
|
||||
"Sparse": "Spaarzaam",
|
||||
"Single Vector": "Enkele Vector",
|
||||
"Multiple Vectors (JSON)": "Meerdere vectoren (JSON)",
|
||||
"Delete One Vector": "Verwijder één Vector",
|
||||
"Delete Multiple Vectors": "Verwijder meerdere vectoren",
|
||||
"Delete All Vectors": "Verwijder alle vectoren",
|
||||
"Delete by Filter": "Verwijderen door filter",
|
||||
"Query by ID": "Query per ID",
|
||||
"List All Indexes": "Toon alle indexen",
|
||||
"Find Specific Index": "Zoek specifieke index"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Gerenciar bancos de dados vetoriais, armazenar incorporações e realizar pesquisas de similaridade",
|
||||
"API Key": "Chave de API",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Digite sua chave de API Pinecone. Você pode criar uma nova chave de API no console Pinecone para o seu projeto de destino.",
|
||||
"Configure your Pinecone API key": "Configure sua chave de API Pinecone",
|
||||
"Create Index": "Criar Índice",
|
||||
"Upsert Vector": "Vetor Upsert",
|
||||
"Update a Vector": "Atualizar um vetor",
|
||||
"Get a Vector": "Obtenha um Vetor",
|
||||
"Delete a Vector": "Excluir um vetor",
|
||||
"Search Vectors": "Buscar Vetores",
|
||||
"Search Index": "Índice de pesquisa",
|
||||
"Creates a new Pinecone index with custom settings.": "Cria um novo índice Pinhecone com configurações personalizadas.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Upsert vetores para um namespace. Sobrescreve vetores existentes com o mesmo ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Atualiza um vetor em um espaço de nomes. Sobrescreve valores e metadados existentes.",
|
||||
"Look up and return vectors by ID from a namespace.": "Procure e retorne vetores por ID de um namespace.",
|
||||
"Delete vectors by ID from a namespace.": "Excluir vetores por ID de um namespace.",
|
||||
"Search a namespace using a query vector to find similar records.": "Pesquisar um namespace usando um vetor de consulta para encontrar registros similares.",
|
||||
"Search indexes by name or list all indexes in your project.": "Pesquise índices por nome ou liste todos os índices no seu projeto.",
|
||||
"Index Name": "Nome do índice",
|
||||
"Dimension": "Dimensão",
|
||||
"Index Type": "Tipo do índice",
|
||||
"Cloud Provider": "Provedor de Nuvem",
|
||||
"Region": "Região",
|
||||
"Environment": "Seguros",
|
||||
"Pod Type": "Tipo de Pod",
|
||||
"Replicas": "Réplicas",
|
||||
"Shards": "Fragmentos",
|
||||
"Pods": "Núcleos",
|
||||
"Metric": "Métrico",
|
||||
"Vector Type": "Tipo de vetor",
|
||||
"Deletion Protection": "Proteção contra exclusão",
|
||||
"Wait Until Ready": "Esperar até Pronto",
|
||||
"Suppress Conflicts": "Suprimir Conflitos",
|
||||
"Tags": "Etiquetas",
|
||||
"Source Collection": "Coleção de fontes",
|
||||
"Index Host": "Host do Índice",
|
||||
"Namespace": "Espaço nominal",
|
||||
"Input Method": "Método de entrada",
|
||||
"Vector ID": "ID de Vetor",
|
||||
"Vector Values": "Valores Vetoriais",
|
||||
"Vectors": "Vetores",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Valores de Esparso",
|
||||
"Metadata": "Metadados",
|
||||
"Vector IDs": "IDs de vetores",
|
||||
"Delete Mode": "Modo de exclusão",
|
||||
"Confirm Delete All": "Confirmar a exclusão de todos",
|
||||
"Metadata Filter": "Filtro de Metadados",
|
||||
"Top K": "Superior K",
|
||||
"Query Method": "Método de consulta",
|
||||
"Query Vector": "Vetor de Consulta",
|
||||
"Query Vector ID": "ID Vetor de Consulta",
|
||||
"Include Values": "Incluir valores",
|
||||
"Include Metadata": "Incluir Metadados",
|
||||
"Search Mode": "Modo de Busca",
|
||||
"Name Filter": "Filtro de Nome",
|
||||
"You must pass a non-empty string for name in order to create an index": "Você deve passar uma string não vazia para nome para criar um índice",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "Você deve passar um inteiro positivo para a dimensão para criar um índice. Para índices densos, isso é necessário.",
|
||||
"Choose between serverless or pod-based index deployment": "Escolha entre a implantação de índice de servidor ou baseado em pod",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "A nuvem pública onde você gostaria que seu índice fosse hospedado (para serverless)",
|
||||
"The region where you would like your index to be created (for serverless)": "A região onde você deseja que seu índice seja criado (para serverless)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "O ambiente onde o índice está hospedado (para índices baseados em pod)",
|
||||
"The type of pod to use": "O tipo de servidor a ser usado",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "O número de réplicas. Replicas duplica seu índice para maior disponibilidade e taxa de transferência.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "O número de fragmentos. Fragmentos dividem seus dados entre vários pods.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "O número de pods a serem usados no índice. Isso deve ser igual a fragmentos x réplicas.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "A métrica de distância a ser usada. O padrão é cosseno para índices densos, Dotproduct para índices escassos.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "O tipo de vetores para armazenar. O denso é o padrão para a maioria dos casos de uso.",
|
||||
"Enable deletion protection for the index": "Habilitar proteção deletada para o índice",
|
||||
"Wait until the index is ready to receive data before completing": "Aguarde até que o índice esteja pronto para receber dados antes de completar",
|
||||
"Do not throw if you attempt to create an index that already exists": "Não lance se você tentar criar um índice que já existe",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Tags opcionais para o índice (por exemplo, {\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "O nome da coleção a ser usada como fonte para o índice",
|
||||
"The name of the index to upsert vectors into": "O nome do índice para upsert vectors into",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "O host exclusivo para o índice (opcional, veja a documentação do Pinecone para direcionamento de um índice)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "O namespace onde você upsert vetores (por exemplo, \"example-namespace\")",
|
||||
"Choose how to provide vector data": "Escolha como fornecer dados de vetor",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "O identificador exclusivo para o vetor (por exemplo, \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Array de números que representam o vetor (por exemplo, [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Array de vetores para upsert (para múltiplos vetores de entrada)",
|
||||
"The name of the index containing the vector to update": "O nome do índice que contém o vetor a atualizar",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Identificação única do vetor (obrigatória, comprimento da string: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "O namespace contendo o vetor a ser atualizado (por exemplo, \"namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Dados vetoriais para atualizar (por exemplo, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Array de índices para valores escassos (opcional)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Array de valores esparsos correspondentes aos índices (deve ter o mesmo comprimento que os índices)",
|
||||
"Key-value pairs to set for the vector": "Pares chave-valor a definir para o vetor",
|
||||
"The name of the index to fetch vectors from": "O nome do índice para buscar vetores de",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "Os IDs do vetor para buscar. Não aceita valores contendo espaços (por exemplo, [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "O namespace contendo os vetores a buscar (por exemplo, \"namespace\")",
|
||||
"The name of the index to delete vectors from": "O nome do índice para excluir vetores de",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "O namespace para excluir vetores (por exemplo, \"exemplo-namespace\")",
|
||||
"Choose how to delete vectors": "Escolher como excluir vetores",
|
||||
"The ID of the vector to delete (for single vector deletion)": "O ID do vetor a ser excluído (para exclusão do vetor único)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Array de IDs de vetores a serem excluídos (por exemplo, [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Marque esta caixa para confirmar que você deseja excluir TODOS os vetores no namespace",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Expressão de filtro de metadados para vetores selecionados para excluir. Exemplos:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"ano\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "O nome do índice em que será pesquisado",
|
||||
"The number of results to return for each query (range: 1-10000)": "O número de resultados a retornar para cada consulta (intervalo: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "O namespace para consulta (por exemplo, \"namespace\")",
|
||||
"Choose how to provide the query": "Escolha como fornecer a consulta",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "O vetor de consulta. Este deve ter o mesmo comprimento que a dimensão do índice (por exemplo, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "O ID único do vetor a ser usado como um vetor de consulta (comprimento máximo: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Array de índices para dados vetoriais escassos (opcional)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filtro a ser aplicado usando os metadados do vetor. Exemplos:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"ano\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Se os valores vetoriais estão incluídos na resposta",
|
||||
"Whether metadata is included in the response": "Se os metadados estão incluídos na resposta",
|
||||
"Choose how to search for indexes": "Escolha como procurar por índices",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "O nome do índice específico para pesquisar (ao usar o modo Encontrar Índice Específico)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filtrar índices por nome (correspondência parcial, maiúsculas e minúsculas)",
|
||||
"Serverless": "Servidor",
|
||||
"Pod-based": "Baseado em Pods",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Produto Ponto",
|
||||
"Dense": "Densa",
|
||||
"Sparse": "Esparso",
|
||||
"Single Vector": "Vetor Único",
|
||||
"Multiple Vectors (JSON)": "Vários Vetores (JSON)",
|
||||
"Delete One Vector": "Excluir Um Vetor",
|
||||
"Delete Multiple Vectors": "Excluir Múltiplos Vetores",
|
||||
"Delete All Vectors": "Excluir todos os vetores",
|
||||
"Delete by Filter": "Excluir por filtro",
|
||||
"Query by ID": "Consulta por ID",
|
||||
"List All Indexes": "Listar todos os índices",
|
||||
"Find Specific Index": "Encontrar um índice específico"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Manage vector databases, store embeddings, and perform similarity searches",
|
||||
"API Key": "API Key",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.",
|
||||
"Configure your Pinecone API key": "Configure your Pinecone API key",
|
||||
"Create Index": "Create Index",
|
||||
"Upsert Vector": "Upsert Vector",
|
||||
"Update a Vector": "Update a Vector",
|
||||
"Get a Vector": "Get a Vector",
|
||||
"Delete a Vector": "Delete a Vector",
|
||||
"Search Vectors": "Search Vectors",
|
||||
"Search Index": "Search Index",
|
||||
"Creates a new Pinecone index with custom settings.": "Creates a new Pinecone index with custom settings.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Upsert vectors into a namespace. Overwrites existing vectors with the same ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Updates a vector in a namespace. Overwrites existing values and metadata.",
|
||||
"Look up and return vectors by ID from a namespace.": "Look up and return vectors by ID from a namespace.",
|
||||
"Delete vectors by ID from a namespace.": "Delete vectors by ID from a namespace.",
|
||||
"Search a namespace using a query vector to find similar records.": "Search a namespace using a query vector to find similar records.",
|
||||
"Search indexes by name or list all indexes in your project.": "Search indexes by name or list all indexes in your project.",
|
||||
"Index Name": "Index Name",
|
||||
"Dimension": "Dimension",
|
||||
"Index Type": "Index Type",
|
||||
"Cloud Provider": "Cloud Provider",
|
||||
"Region": "Region",
|
||||
"Environment": "Environment",
|
||||
"Pod Type": "Pod Type",
|
||||
"Replicas": "Replicas",
|
||||
"Shards": "Shards",
|
||||
"Pods": "Pods",
|
||||
"Metric": "Metric",
|
||||
"Vector Type": "Vector Type",
|
||||
"Deletion Protection": "Deletion Protection",
|
||||
"Wait Until Ready": "Wait Until Ready",
|
||||
"Suppress Conflicts": "Suppress Conflicts",
|
||||
"Tags": "Tags",
|
||||
"Source Collection": "Source Collection",
|
||||
"Index Host": "Index Host",
|
||||
"Namespace": "Namespace",
|
||||
"Input Method": "Input Method",
|
||||
"Vector ID": "Vector ID",
|
||||
"Vector Values": "Vector Values",
|
||||
"Vectors": "Vectors",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Sparse Values",
|
||||
"Metadata": "Metadata",
|
||||
"Vector IDs": "Vector IDs",
|
||||
"Delete Mode": "Delete Mode",
|
||||
"Confirm Delete All": "Confirm Delete All",
|
||||
"Metadata Filter": "Metadata Filter",
|
||||
"Top K": "Top K",
|
||||
"Query Method": "Query Method",
|
||||
"Query Vector": "Query Vector",
|
||||
"Query Vector ID": "Query Vector ID",
|
||||
"Include Values": "Include Values",
|
||||
"Include Metadata": "Include Metadata",
|
||||
"Search Mode": "Search Mode",
|
||||
"Name Filter": "Name Filter",
|
||||
"You must pass a non-empty string for name in order to create an index": "You must pass a non-empty string for name in order to create an index",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.",
|
||||
"Choose between serverless or pod-based index deployment": "Choose between serverless or pod-based index deployment",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "The public cloud where you would like your index hosted (for serverless)",
|
||||
"The region where you would like your index to be created (for serverless)": "The region where you would like your index to be created (for serverless)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "The environment where the index is hosted (for pod-based indexes)",
|
||||
"The type of pod to use": "The type of pod to use",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "The number of replicas. Replicas duplicate your index for higher availability and throughput.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "The number of shards. Shards split your data across multiple pods.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "The number of pods to be used in the index. This should be equal to shards x replicas.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "The type of vectors to store. Dense is default for most use cases.",
|
||||
"Enable deletion protection for the index": "Enable deletion protection for the index",
|
||||
"Wait until the index is ready to receive data before completing": "Wait until the index is ready to receive data before completing",
|
||||
"Do not throw if you attempt to create an index that already exists": "Do not throw if you attempt to create an index that already exists",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Optional tags for the index (e.g., {\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "The name of the collection to be used as the source for the index",
|
||||
"The name of the index to upsert vectors into": "The name of the index to upsert vectors into",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "The unique host for the index (optional, see Pinecone docs for targeting an index)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "The namespace where you upsert vectors (e.g., \"example-namespace\")",
|
||||
"Choose how to provide vector data": "Choose how to provide vector data",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "The unique identifier for the vector (e.g., \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Array of vectors to upsert (for multiple vectors input)",
|
||||
"The name of the index containing the vector to update": "The name of the index containing the vector to update",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Vector's unique id (required, string length: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "The namespace containing the vector to update (e.g., \"example-namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Array of indices for sparse values (optional)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Array of sparse values corresponding to indices (must be same length as indices)",
|
||||
"Key-value pairs to set for the vector": "Key-value pairs to set for the vector",
|
||||
"The name of the index to fetch vectors from": "The name of the index to fetch vectors from",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "The namespace containing the vectors to fetch (e.g., \"example-namespace\")",
|
||||
"The name of the index to delete vectors from": "The name of the index to delete vectors from",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "The namespace to delete vectors from (e.g., \"example-namespace\")",
|
||||
"Choose how to delete vectors": "Choose how to delete vectors",
|
||||
"The ID of the vector to delete (for single vector deletion)": "The ID of the vector to delete (for single vector deletion)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Check this box to confirm you want to delete ALL vectors in the namespace",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "The name of the index to search in",
|
||||
"The number of results to return for each query (range: 1-10000)": "The number of results to return for each query (range: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "The namespace to query (e.g., \"example-namespace\")",
|
||||
"Choose how to provide the query": "Choose how to provide the query",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "The unique ID of the vector to be used as a query vector (max length: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Array of indices for sparse vector data (optional)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Whether vector values are included in the response",
|
||||
"Whether metadata is included in the response": "Whether metadata is included in the response",
|
||||
"Choose how to search for indexes": "Choose how to search for indexes",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "The name of the specific index to search for (when using Find Specific Index mode)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filter indexes by name (partial match, case-insensitive)",
|
||||
"Serverless": "Serverless",
|
||||
"Pod-based": "Pod-based",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Dot Product",
|
||||
"Dense": "Dense",
|
||||
"Sparse": "Sparse",
|
||||
"Single Vector": "Single Vector",
|
||||
"Multiple Vectors (JSON)": "Multiple Vectors (JSON)",
|
||||
"Delete One Vector": "Delete One Vector",
|
||||
"Delete Multiple Vectors": "Delete Multiple Vectors",
|
||||
"Delete All Vectors": "Delete All Vectors",
|
||||
"Delete by Filter": "Delete by Filter",
|
||||
"Query by ID": "Query by ID",
|
||||
"List All Indexes": "List All Indexes",
|
||||
"Find Specific Index": "Find Specific Index"
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
{
|
||||
"Manage vector databases, store embeddings, and perform similarity searches": "Manage vector databases, store embeddings, and perform similarity searches",
|
||||
"API Key": "API 密钥",
|
||||
"Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.": "Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.",
|
||||
"Configure your Pinecone API key": "Configure your Pinecone API key",
|
||||
"Create Index": "Create Index",
|
||||
"Upsert Vector": "Upsert Vector",
|
||||
"Update a Vector": "Update a Vector",
|
||||
"Get a Vector": "Get a Vector",
|
||||
"Delete a Vector": "Delete a Vector",
|
||||
"Search Vectors": "Search Vectors",
|
||||
"Search Index": "Search Index",
|
||||
"Creates a new Pinecone index with custom settings.": "Creates a new Pinecone index with custom settings.",
|
||||
"Upsert vectors into a namespace. Overwrites existing vectors with the same ID.": "Upsert vectors into a namespace. Overwrites existing vectors with the same ID.",
|
||||
"Updates a vector in a namespace. Overwrites existing values and metadata.": "Updates a vector in a namespace. Overwrites existing values and metadata.",
|
||||
"Look up and return vectors by ID from a namespace.": "Look up and return vectors by ID from a namespace.",
|
||||
"Delete vectors by ID from a namespace.": "Delete vectors by ID from a namespace.",
|
||||
"Search a namespace using a query vector to find similar records.": "Search a namespace using a query vector to find similar records.",
|
||||
"Search indexes by name or list all indexes in your project.": "Search indexes by name or list all indexes in your project.",
|
||||
"Index Name": "Index Name",
|
||||
"Dimension": "Dimension",
|
||||
"Index Type": "Index Type",
|
||||
"Cloud Provider": "Cloud Provider",
|
||||
"Region": "Region",
|
||||
"Environment": "Environment",
|
||||
"Pod Type": "Pod Type",
|
||||
"Replicas": "Replicas",
|
||||
"Shards": "Shards",
|
||||
"Pods": "Pods",
|
||||
"Metric": "Metric",
|
||||
"Vector Type": "Vector Type",
|
||||
"Deletion Protection": "Deletion Protection",
|
||||
"Wait Until Ready": "Wait Until Ready",
|
||||
"Suppress Conflicts": "Suppress Conflicts",
|
||||
"Tags": "标签",
|
||||
"Source Collection": "Source Collection",
|
||||
"Index Host": "Index Host",
|
||||
"Namespace": "Namespace",
|
||||
"Input Method": "Input Method",
|
||||
"Vector ID": "Vector ID",
|
||||
"Vector Values": "Vector Values",
|
||||
"Vectors": "Vectors",
|
||||
"Sparse Indices": "Sparse Indices",
|
||||
"Sparse Values": "Sparse Values",
|
||||
"Metadata": "Metadata",
|
||||
"Vector IDs": "Vector IDs",
|
||||
"Delete Mode": "Delete Mode",
|
||||
"Confirm Delete All": "Confirm Delete All",
|
||||
"Metadata Filter": "Metadata Filter",
|
||||
"Top K": "Top K",
|
||||
"Query Method": "Query Method",
|
||||
"Query Vector": "Query Vector",
|
||||
"Query Vector ID": "Query Vector ID",
|
||||
"Include Values": "Include Values",
|
||||
"Include Metadata": "Include Metadata",
|
||||
"Search Mode": "Search Mode",
|
||||
"Name Filter": "Name Filter",
|
||||
"You must pass a non-empty string for name in order to create an index": "You must pass a non-empty string for name in order to create an index",
|
||||
"You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.": "You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.",
|
||||
"Choose between serverless or pod-based index deployment": "Choose between serverless or pod-based index deployment",
|
||||
"The public cloud where you would like your index hosted (for serverless)": "The public cloud where you would like your index hosted (for serverless)",
|
||||
"The region where you would like your index to be created (for serverless)": "The region where you would like your index to be created (for serverless)",
|
||||
"The environment where the index is hosted (for pod-based indexes)": "The environment where the index is hosted (for pod-based indexes)",
|
||||
"The type of pod to use": "The type of pod to use",
|
||||
"The number of replicas. Replicas duplicate your index for higher availability and throughput.": "The number of replicas. Replicas duplicate your index for higher availability and throughput.",
|
||||
"The number of shards. Shards split your data across multiple pods.": "The number of shards. Shards split your data across multiple pods.",
|
||||
"The number of pods to be used in the index. This should be equal to shards x replicas.": "The number of pods to be used in the index. This should be equal to shards x replicas.",
|
||||
"The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.": "The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.",
|
||||
"The type of vectors to store. Dense is default for most use cases.": "The type of vectors to store. Dense is default for most use cases.",
|
||||
"Enable deletion protection for the index": "Enable deletion protection for the index",
|
||||
"Wait until the index is ready to receive data before completing": "Wait until the index is ready to receive data before completing",
|
||||
"Do not throw if you attempt to create an index that already exists": "Do not throw if you attempt to create an index that already exists",
|
||||
"Optional tags for the index (e.g., {\"team\": \"data-science\"})": "Optional tags for the index (e.g., {\"team\": \"data-science\"})",
|
||||
"The name of the collection to be used as the source for the index": "The name of the collection to be used as the source for the index",
|
||||
"The name of the index to upsert vectors into": "The name of the index to upsert vectors into",
|
||||
"The unique host for the index (optional, see Pinecone docs for targeting an index)": "The unique host for the index (optional, see Pinecone docs for targeting an index)",
|
||||
"The namespace where you upsert vectors (e.g., \"example-namespace\")": "The namespace where you upsert vectors (e.g., \"example-namespace\")",
|
||||
"Choose how to provide vector data": "Choose how to provide vector data",
|
||||
"The unique identifier for the vector (e.g., \"vec1\")": "The unique identifier for the vector (e.g., \"vec1\")",
|
||||
"Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])": "Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])",
|
||||
"Array of vectors to upsert (for multiple vectors input)": "Array of vectors to upsert (for multiple vectors input)",
|
||||
"The name of the index containing the vector to update": "The name of the index containing the vector to update",
|
||||
"Vector's unique id (required, string length: 1 - 512)": "Vector's unique id (required, string length: 1 - 512)",
|
||||
"The namespace containing the vector to update (e.g., \"example-namespace\")": "The namespace containing the vector to update (e.g., \"example-namespace\")",
|
||||
"Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"Array of indices for sparse values (optional)": "Array of indices for sparse values (optional)",
|
||||
"Array of sparse values corresponding to indices (must be same length as indices)": "Array of sparse values corresponding to indices (must be same length as indices)",
|
||||
"Key-value pairs to set for the vector": "Key-value pairs to set for the vector",
|
||||
"The name of the index to fetch vectors from": "The name of the index to fetch vectors from",
|
||||
"The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])": "The vector IDs to fetch. Does not accept values containing spaces (e.g., [\"id-1\", \"id-2\"])",
|
||||
"The namespace containing the vectors to fetch (e.g., \"example-namespace\")": "The namespace containing the vectors to fetch (e.g., \"example-namespace\")",
|
||||
"The name of the index to delete vectors from": "The name of the index to delete vectors from",
|
||||
"The namespace to delete vectors from (e.g., \"example-namespace\")": "The namespace to delete vectors from (e.g., \"example-namespace\")",
|
||||
"Choose how to delete vectors": "Choose how to delete vectors",
|
||||
"The ID of the vector to delete (for single vector deletion)": "The ID of the vector to delete (for single vector deletion)",
|
||||
"Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])": "Array of vector IDs to delete (e.g., [\"id-2\", \"id-3\"])",
|
||||
"Check this box to confirm you want to delete ALL vectors in the namespace": "Check this box to confirm you want to delete ALL vectors in the namespace",
|
||||
"Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}": "Metadata filter expression to select vectors to delete. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": \"comedy\"}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"The name of the index to search in": "The name of the index to search in",
|
||||
"The number of results to return for each query (range: 1-10000)": "The number of results to return for each query (range: 1-10000)",
|
||||
"The namespace to query (e.g., \"example-namespace\")": "The namespace to query (e.g., \"example-namespace\")",
|
||||
"Choose how to provide the query": "Choose how to provide the query",
|
||||
"The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])": "The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])",
|
||||
"The unique ID of the vector to be used as a query vector (max length: 512)": "The unique ID of the vector to be used as a query vector (max length: 512)",
|
||||
"Array of indices for sparse vector data (optional)": "Array of indices for sparse vector data (optional)",
|
||||
"Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}": "Filter to apply using vector metadata. Examples:\n• {\"genre\": {\"$eq\": \"documentary\"}}\n• {\"year\": {\"$gt\": 2019}}\n• {\"$and\": [{\"genre\": {\"$in\": [\"comedy\", \"drama\"]}}, {\"year\": {\"$gte\": 2020}}]}",
|
||||
"Whether vector values are included in the response": "Whether vector values are included in the response",
|
||||
"Whether metadata is included in the response": "Whether metadata is included in the response",
|
||||
"Choose how to search for indexes": "Choose how to search for indexes",
|
||||
"The name of the specific index to search for (when using Find Specific Index mode)": "The name of the specific index to search for (when using Find Specific Index mode)",
|
||||
"Filter indexes by name (partial match, case-insensitive)": "Filter indexes by name (partial match, case-insensitive)",
|
||||
"Serverless": "Serverless",
|
||||
"Pod-based": "Pod-based",
|
||||
"AWS": "AWS",
|
||||
"GCP": "GCP",
|
||||
"Azure": "Azure",
|
||||
"s1.x1": "s1.x1",
|
||||
"s1.x2": "s1.x2",
|
||||
"s1.x4": "s1.x4",
|
||||
"s1.x8": "s1.x8",
|
||||
"p1.x1": "p1.x1",
|
||||
"p1.x2": "p1.x2",
|
||||
"p1.x4": "p1.x4",
|
||||
"p1.x8": "p1.x8",
|
||||
"p2.x1": "p2.x1",
|
||||
"p2.x2": "p2.x2",
|
||||
"p2.x4": "p2.x4",
|
||||
"p2.x8": "p2.x8",
|
||||
"Cosine": "Cosine",
|
||||
"Euclidean": "Euclidean",
|
||||
"Dot Product": "Dot Product",
|
||||
"Dense": "Dense",
|
||||
"Sparse": "Sparse",
|
||||
"Single Vector": "Single Vector",
|
||||
"Multiple Vectors (JSON)": "Multiple Vectors (JSON)",
|
||||
"Delete One Vector": "Delete One Vector",
|
||||
"Delete Multiple Vectors": "Delete Multiple Vectors",
|
||||
"Delete All Vectors": "Delete All Vectors",
|
||||
"Delete by Filter": "Delete by Filter",
|
||||
"Query by ID": "Query by ID",
|
||||
"List All Indexes": "List All Indexes",
|
||||
"Find Specific Index": "Find Specific Index"
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import { createPiece, PieceAuth, Property } from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { createIndex } from './lib/actions/create-index';
|
||||
import { upsertVector } from './lib/actions/upsert-vector';
|
||||
import { updateVector } from './lib/actions/update-vector';
|
||||
import { getVector } from './lib/actions/get-vector';
|
||||
import { deleteVector } from './lib/actions/delete-vector';
|
||||
import { searchVector } from './lib/actions/search-vector';
|
||||
import { searchIndex } from './lib/actions/search-index';
|
||||
|
||||
export const pineconeAuth = PieceAuth.CustomAuth({
|
||||
description: 'Configure your Pinecone API key',
|
||||
required: true,
|
||||
props: {
|
||||
apiKey: Property.LongText({
|
||||
displayName: 'API Key',
|
||||
description: 'Enter your Pinecone API key. You can create a new API key in the Pinecone console for your target project.',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
validate: async ({ auth }) => {
|
||||
try {
|
||||
const { apiKey } = auth;
|
||||
|
||||
if (!apiKey || typeof apiKey !== 'string') {
|
||||
return {
|
||||
valid: false,
|
||||
error: 'API key is required'
|
||||
};
|
||||
}
|
||||
|
||||
if (apiKey.length < 10) {
|
||||
return {
|
||||
valid: false,
|
||||
error: 'API key appears to be too short. Please check your Pinecone API key.'
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
valid: true
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
valid: false,
|
||||
error: 'Invalid authentication configuration'
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export const pinecone = createPiece({
|
||||
displayName: 'Pinecone',
|
||||
description: 'Manage vector databases, store embeddings, and perform similarity searches',
|
||||
categories: [PieceCategory.ARTIFICIAL_INTELLIGENCE],
|
||||
auth: pineconeAuth,
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/pinecone.png',
|
||||
authors: ['fortunamide', 'onyedikachi-david'],
|
||||
actions: [createIndex, upsertVector, updateVector, getVector, deleteVector, searchVector, searchIndex],
|
||||
triggers: []
|
||||
});
|
||||
@@ -0,0 +1,299 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const createIndex = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'create_index',
|
||||
displayName: 'Create Index',
|
||||
description: 'Creates a new Pinecone index with custom settings.',
|
||||
props: {
|
||||
name: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description:
|
||||
'You must pass a non-empty string for name in order to create an index',
|
||||
required: true
|
||||
}),
|
||||
dimension: Property.Number({
|
||||
displayName: 'Dimension',
|
||||
description:
|
||||
'You must pass a positive integer for dimension in order to create an index. For dense indexes, this is required.',
|
||||
required: true
|
||||
}),
|
||||
indexType: Property.StaticDropdown({
|
||||
displayName: 'Index Type',
|
||||
description: 'Choose between serverless or pod-based index deployment',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Serverless', value: 'serverless' },
|
||||
{ label: 'Pod-based', value: 'pod' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'serverless'
|
||||
}),
|
||||
cloud: Property.StaticDropdown({
|
||||
displayName: 'Cloud Provider',
|
||||
description:
|
||||
'The public cloud where you would like your index hosted (for serverless)',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'AWS', value: 'aws' },
|
||||
{ label: 'GCP', value: 'gcp' },
|
||||
{ label: 'Azure', value: 'azure' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'aws'
|
||||
}),
|
||||
region: Property.ShortText({
|
||||
displayName: 'Region',
|
||||
description:
|
||||
'The region where you would like your index to be created (for serverless)',
|
||||
required: false,
|
||||
defaultValue: 'us-west-2'
|
||||
}),
|
||||
environment: Property.ShortText({
|
||||
displayName: 'Environment',
|
||||
description:
|
||||
'The environment where the index is hosted (for pod-based indexes)',
|
||||
required: false
|
||||
}),
|
||||
podType: Property.StaticDropdown({
|
||||
displayName: 'Pod Type',
|
||||
description: 'The type of pod to use',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 's1.x1', value: 's1.x1' },
|
||||
{ label: 's1.x2', value: 's1.x2' },
|
||||
{ label: 's1.x4', value: 's1.x4' },
|
||||
{ label: 's1.x8', value: 's1.x8' },
|
||||
{ label: 'p1.x1', value: 'p1.x1' },
|
||||
{ label: 'p1.x2', value: 'p1.x2' },
|
||||
{ label: 'p1.x4', value: 'p1.x4' },
|
||||
{ label: 'p1.x8', value: 'p1.x8' },
|
||||
{ label: 'p2.x1', value: 'p2.x1' },
|
||||
{ label: 'p2.x2', value: 'p2.x2' },
|
||||
{ label: 'p2.x4', value: 'p2.x4' },
|
||||
{ label: 'p2.x8', value: 'p2.x8' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'p1.x1'
|
||||
}),
|
||||
replicas: Property.Number({
|
||||
displayName: 'Replicas',
|
||||
description:
|
||||
'The number of replicas. Replicas duplicate your index for higher availability and throughput.',
|
||||
required: false
|
||||
}),
|
||||
shards: Property.Number({
|
||||
displayName: 'Shards',
|
||||
description:
|
||||
'The number of shards. Shards split your data across multiple pods.',
|
||||
required: false
|
||||
}),
|
||||
pods: Property.Number({
|
||||
displayName: 'Pods',
|
||||
description:
|
||||
'The number of pods to be used in the index. This should be equal to shards x replicas.',
|
||||
required: false
|
||||
}),
|
||||
metric: Property.StaticDropdown({
|
||||
displayName: 'Metric',
|
||||
description:
|
||||
'The distance metric to use. Defaults to cosine for dense indexes, dotproduct for sparse indexes.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Cosine', value: 'cosine' },
|
||||
{ label: 'Euclidean', value: 'euclidean' },
|
||||
{ label: 'Dot Product', value: 'dotproduct' }
|
||||
]
|
||||
}
|
||||
}),
|
||||
vectorType: Property.StaticDropdown({
|
||||
displayName: 'Vector Type',
|
||||
description:
|
||||
'The type of vectors to store. Dense is default for most use cases.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Dense', value: 'dense' },
|
||||
{ label: 'Sparse', value: 'sparse' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'dense'
|
||||
}),
|
||||
deletionProtection: Property.Checkbox({
|
||||
displayName: 'Deletion Protection',
|
||||
description: 'Enable deletion protection for the index',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
waitUntilReady: Property.Checkbox({
|
||||
displayName: 'Wait Until Ready',
|
||||
description:
|
||||
'Wait until the index is ready to receive data before completing',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
suppressConflicts: Property.Checkbox({
|
||||
displayName: 'Suppress Conflicts',
|
||||
description:
|
||||
'Do not throw if you attempt to create an index that already exists',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
tags: Property.Json({
|
||||
displayName: 'Tags',
|
||||
description:
|
||||
'Optional tags for the index (e.g., {"team": "data-science"})',
|
||||
required: false
|
||||
}),
|
||||
sourceCollection: Property.ShortText({
|
||||
displayName: 'Source Collection',
|
||||
description:
|
||||
'The name of the collection to be used as the source for the index',
|
||||
required: false
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
name,
|
||||
dimension,
|
||||
indexType,
|
||||
cloud,
|
||||
region,
|
||||
environment,
|
||||
podType,
|
||||
replicas,
|
||||
shards,
|
||||
pods,
|
||||
metric,
|
||||
vectorType,
|
||||
deletionProtection,
|
||||
waitUntilReady,
|
||||
suppressConflicts,
|
||||
tags,
|
||||
sourceCollection
|
||||
} = context.propsValue;
|
||||
|
||||
if (!name) {
|
||||
throw new Error(
|
||||
'You must pass a non-empty string for `name` in order to create an index.'
|
||||
);
|
||||
}
|
||||
|
||||
if (dimension && dimension <= 0) {
|
||||
throw new Error(
|
||||
'You must pass a positive integer for `dimension` in order to create an index.'
|
||||
);
|
||||
}
|
||||
|
||||
const vType = vectorType?.toLowerCase() || 'dense';
|
||||
if (vType === 'sparse') {
|
||||
if (dimension && dimension > 0) {
|
||||
throw new Error('Sparse indexes cannot have a `dimension`.');
|
||||
}
|
||||
if (metric && metric !== 'dotproduct') {
|
||||
throw new Error('Sparse indexes must have a `metric` of `dotproduct`.');
|
||||
}
|
||||
} else if (vType === 'dense') {
|
||||
if (!dimension || dimension <= 0) {
|
||||
throw new Error(
|
||||
'You must pass a positive `dimension` when creating a dense index.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
try {
|
||||
let spec: any;
|
||||
|
||||
if (indexType === 'serverless') {
|
||||
if (!cloud) {
|
||||
throw new Error(
|
||||
'You must pass a `cloud` for the serverless `spec` object in order to create an index.'
|
||||
);
|
||||
}
|
||||
if (!region) {
|
||||
throw new Error(
|
||||
'You must pass a `region` for the serverless `spec` object in order to create an index.'
|
||||
);
|
||||
}
|
||||
|
||||
spec = {
|
||||
serverless: {
|
||||
cloud: cloud,
|
||||
region: region,
|
||||
...(sourceCollection && { sourceCollection })
|
||||
}
|
||||
};
|
||||
} else if (indexType === 'pod') {
|
||||
if (!environment) {
|
||||
throw new Error(
|
||||
'You must pass an `environment` for the pod `spec` object in order to create an index.'
|
||||
);
|
||||
}
|
||||
if (!podType) {
|
||||
throw new Error(
|
||||
'You must pass a `podType` for the pod `spec` object in order to create an index.'
|
||||
);
|
||||
}
|
||||
|
||||
spec = {
|
||||
pod: {
|
||||
environment: environment,
|
||||
podType: podType,
|
||||
...(replicas && { replicas }),
|
||||
...(shards && { shards }),
|
||||
...(pods && { pods }),
|
||||
...(sourceCollection && { sourceCollection })
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const createIndexOptions: any = {
|
||||
name: name,
|
||||
dimension: dimension,
|
||||
spec: spec,
|
||||
...(metric && { metric }),
|
||||
...(vectorType && { vector_type: vectorType }),
|
||||
...(deletionProtection !== undefined && {
|
||||
deletionProtection: deletionProtection ? 'enabled' : 'disabled'
|
||||
}),
|
||||
...(tags && { tags }),
|
||||
waitUntilReady: waitUntilReady || false,
|
||||
suppressConflicts: suppressConflicts || false
|
||||
};
|
||||
|
||||
if (!createIndexOptions.metric) {
|
||||
if (vType === 'sparse') {
|
||||
createIndexOptions.metric = 'dotproduct';
|
||||
} else {
|
||||
createIndexOptions.metric = 'cosine';
|
||||
}
|
||||
}
|
||||
|
||||
const response = await pc.createIndex(createIndexOptions);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: name,
|
||||
dimension: dimension,
|
||||
indexType: indexType,
|
||||
spec: spec,
|
||||
metric: createIndexOptions.metric,
|
||||
vectorType: vType,
|
||||
...(tags && { tags }),
|
||||
message: 'Index created successfully',
|
||||
...(response && { response })
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to create index.', caught);
|
||||
return caught;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,207 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const deleteVector = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'delete_vector',
|
||||
displayName: 'Delete a Vector',
|
||||
description: 'Delete vectors by ID from a namespace.',
|
||||
props: {
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the index to delete vectors from',
|
||||
required: true
|
||||
}),
|
||||
indexHost: Property.ShortText({
|
||||
displayName: 'Index Host',
|
||||
description:
|
||||
'The unique host for the index (optional, see Pinecone docs for targeting an index)',
|
||||
required: false
|
||||
}),
|
||||
namespace: Property.ShortText({
|
||||
displayName: 'Namespace',
|
||||
description:
|
||||
'The namespace to delete vectors from (e.g., "example-namespace")',
|
||||
required: false,
|
||||
defaultValue: 'example-namespace'
|
||||
}),
|
||||
deleteMode: Property.StaticDropdown({
|
||||
displayName: 'Delete Mode',
|
||||
description: 'Choose how to delete vectors',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Delete One Vector', value: 'one' },
|
||||
{ label: 'Delete Multiple Vectors', value: 'many' },
|
||||
{ label: 'Delete All Vectors', value: 'all' },
|
||||
{ label: 'Delete by Filter', value: 'filter' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'one'
|
||||
}),
|
||||
id: Property.ShortText({
|
||||
displayName: 'Vector ID',
|
||||
description:
|
||||
'The ID of the vector to delete (for single vector deletion)',
|
||||
required: false
|
||||
}),
|
||||
ids: Property.Array({
|
||||
displayName: 'Vector IDs',
|
||||
description: 'Array of vector IDs to delete (e.g., ["id-2", "id-3"])',
|
||||
required: false
|
||||
}),
|
||||
confirmDeleteAll: Property.Checkbox({
|
||||
displayName: 'Confirm Delete All',
|
||||
description:
|
||||
'Check this box to confirm you want to delete ALL vectors in the namespace',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
filter: Property.Json({
|
||||
displayName: 'Metadata Filter',
|
||||
description: 'Metadata filter expression to select vectors to delete. Examples:\n• {"genre": {"$eq": "documentary"}}\n• {"year": {"$gt": 2019}}\n• {"$and": [{"genre": "comedy"}, {"year": {"$gte": 2020}}]}',
|
||||
required: false
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
indexName,
|
||||
indexHost,
|
||||
namespace,
|
||||
deleteMode,
|
||||
id,
|
||||
ids,
|
||||
confirmDeleteAll,
|
||||
filter
|
||||
} = context.propsValue;
|
||||
|
||||
if (!indexName) {
|
||||
throw new Error('You must provide an index name to delete vectors.');
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
try {
|
||||
|
||||
const index = indexHost
|
||||
? pc.index(indexName, indexHost)
|
||||
: pc.index(indexName);
|
||||
|
||||
|
||||
const ns = namespace ? index.namespace(namespace) : index;
|
||||
|
||||
let deleteResult: any;
|
||||
let deletedCount = 0;
|
||||
let operation = '';
|
||||
|
||||
if (deleteMode === 'one') {
|
||||
|
||||
if (!id) {
|
||||
throw new Error(
|
||||
'You must provide a vector ID for single vector deletion.'
|
||||
);
|
||||
}
|
||||
|
||||
await ns.deleteOne(id);
|
||||
deletedCount = 1;
|
||||
operation = `Deleted vector with ID: ${id}`;
|
||||
} else if (deleteMode === 'many') {
|
||||
|
||||
if (!ids || !Array.isArray(ids) || ids.length === 0) {
|
||||
throw new Error(
|
||||
'You must provide an array of vector IDs for multiple vector deletion.'
|
||||
);
|
||||
}
|
||||
|
||||
await ns.deleteMany(ids as string[]);
|
||||
deletedCount = ids.length;
|
||||
operation = `Deleted ${ids.length} vectors with IDs: ${(
|
||||
ids as string[]
|
||||
).join(', ')}`;
|
||||
} else if (deleteMode === 'all') {
|
||||
if (!confirmDeleteAll) {
|
||||
throw new Error(
|
||||
'You must confirm deletion by checking "Confirm Delete All" to delete all vectors in the namespace.'
|
||||
);
|
||||
}
|
||||
|
||||
deleteResult = await ns.deleteAll();
|
||||
operation = `Deleted ALL vectors in namespace: ${
|
||||
namespace || 'default'
|
||||
}`;
|
||||
} else if (deleteMode === 'filter') {
|
||||
|
||||
if (!filter) {
|
||||
throw new Error(
|
||||
'You must provide a metadata filter for filter-based deletion.'
|
||||
);
|
||||
}
|
||||
|
||||
await ns.deleteMany(filter);
|
||||
operation = `Deleted vectors matching filter: ${JSON.stringify(filter)}`;
|
||||
}
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
deleteMode: deleteMode,
|
||||
operation: operation,
|
||||
...(deletedCount > 0 && { deletedCount }),
|
||||
...(deleteResult && { deleteResult }),
|
||||
message: `Successfully completed delete operation: ${operation}`
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to delete vector(s).', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message: error.message || 'The request body included invalid request parameters.',
|
||||
details: error.details || [],
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 400 && error.status < 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected client error occurred.',
|
||||
details: error.details || [],
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || [],
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message: caught instanceof Error ? caught.message : 'An unexpected error occurred while deleting vectors.',
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,141 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const getVector = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'get_vector',
|
||||
displayName: 'Get a Vector',
|
||||
description: 'Look up and return vectors by ID from a namespace.',
|
||||
props: {
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the index to fetch vectors from',
|
||||
required: true,
|
||||
}),
|
||||
indexHost: Property.ShortText({
|
||||
displayName: 'Index Host',
|
||||
description: 'The unique host for the index (optional, see Pinecone docs for targeting an index)',
|
||||
required: false,
|
||||
}),
|
||||
ids: Property.Array({
|
||||
displayName: 'Vector IDs',
|
||||
description: 'The vector IDs to fetch. Does not accept values containing spaces (e.g., ["id-1", "id-2"])',
|
||||
required: true,
|
||||
}),
|
||||
namespace: Property.ShortText({
|
||||
displayName: 'Namespace',
|
||||
description: 'The namespace containing the vectors to fetch (e.g., "example-namespace")',
|
||||
required: false,
|
||||
defaultValue: 'example-namespace',
|
||||
}),
|
||||
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
indexName,
|
||||
indexHost,
|
||||
ids,
|
||||
namespace,
|
||||
} = context.propsValue;
|
||||
|
||||
if (!indexName) {
|
||||
throw new Error('You must provide an index name to fetch vectors.');
|
||||
}
|
||||
|
||||
if (!ids || !Array.isArray(ids) || ids.length === 0) {
|
||||
throw new Error('You must provide at least one vector ID to fetch.');
|
||||
}
|
||||
|
||||
const invalidIds = ids.filter((id: any) => typeof id === 'string' && id.includes(' '));
|
||||
if (invalidIds.length > 0) {
|
||||
throw new Error(`Vector IDs cannot contain spaces. Invalid IDs: ${invalidIds.join(', ')}`);
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
try {
|
||||
|
||||
const index = indexHost ? pc.index(indexName, indexHost) : pc.index(indexName);
|
||||
|
||||
|
||||
const fetchResult = namespace
|
||||
? await index.namespace(namespace).fetch(ids as string[])
|
||||
: await index.fetch(ids as string[]);
|
||||
|
||||
const records = fetchResult.records || {};
|
||||
const vectorCount = Object.keys(records).length;
|
||||
const foundIds = Object.keys(records);
|
||||
const notFoundIds = (ids as string[]).filter(id => !foundIds.includes(id));
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: indexName,
|
||||
namespace: fetchResult.namespace,
|
||||
usage: fetchResult.usage,
|
||||
vectors: records,
|
||||
summary: {
|
||||
requested: ids.length,
|
||||
found: vectorCount,
|
||||
foundIds: foundIds,
|
||||
...(notFoundIds.length > 0 && { notFoundIds: notFoundIds }),
|
||||
},
|
||||
message: `Successfully fetched ${vectorCount} out of ${ids.length} requested vector(s)`,
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to fetch vector(s).', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message: error.message || 'The request body included invalid request parameters.',
|
||||
details: error.details || [],
|
||||
requestedIds: ids,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 400 && error.status < 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected client error occurred.',
|
||||
details: error.details || [],
|
||||
requestedIds: ids,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || [],
|
||||
requestedIds: ids,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message: caught instanceof Error ? caught.message : 'An unexpected error occurred while fetching vectors.',
|
||||
requestedIds: ids,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,144 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const searchIndex = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'search_index',
|
||||
displayName: 'Search Index',
|
||||
description: 'Search indexes by name or list all indexes in your project.',
|
||||
props: {
|
||||
searchMode: Property.StaticDropdown({
|
||||
displayName: 'Search Mode',
|
||||
description: 'Choose how to search for indexes',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'List All Indexes', value: 'list' },
|
||||
{ label: 'Find Specific Index', value: 'find' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'list'
|
||||
}),
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the specific index to search for (when using Find Specific Index mode)',
|
||||
required: false
|
||||
}),
|
||||
nameFilter: Property.ShortText({
|
||||
displayName: 'Name Filter',
|
||||
description: 'Filter indexes by name (partial match, case-insensitive)',
|
||||
required: false
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const { searchMode, indexName, nameFilter } = context.propsValue;
|
||||
|
||||
if (searchMode === 'find' && !indexName) {
|
||||
throw new Error('You must provide an index name when using Find Specific Index mode.');
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
try {
|
||||
if (searchMode === 'find') {
|
||||
const indexDetails = await pc.describeIndex(indexName!);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
mode: 'find',
|
||||
searchTerm: indexName,
|
||||
found: true,
|
||||
index: indexDetails,
|
||||
message: `Successfully found index: ${indexName}`
|
||||
};
|
||||
} else {
|
||||
const indexList = await pc.listIndexes();
|
||||
const allIndexes = indexList.indexes || [];
|
||||
|
||||
let filteredIndexes = allIndexes;
|
||||
if (nameFilter) {
|
||||
const filter = nameFilter.toLowerCase();
|
||||
filteredIndexes = allIndexes.filter(index =>
|
||||
index.name.toLowerCase().includes(filter)
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
success: true,
|
||||
mode: 'list',
|
||||
...(nameFilter && { filter: nameFilter }),
|
||||
indexes: filteredIndexes,
|
||||
totalCount: allIndexes.length,
|
||||
filteredCount: filteredIndexes.length,
|
||||
summary: {
|
||||
total: allIndexes.length,
|
||||
returned: filteredIndexes.length,
|
||||
...(nameFilter && { filtered: true })
|
||||
},
|
||||
message: nameFilter
|
||||
? `Found ${filteredIndexes.length} indexes matching "${nameFilter}" out of ${allIndexes.length} total`
|
||||
: `Successfully listed ${allIndexes.length} indexes`
|
||||
};
|
||||
}
|
||||
} catch (caught) {
|
||||
console.log('Failed to search indexes.', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 404 || error.code === 404) {
|
||||
if (searchMode === 'find') {
|
||||
return {
|
||||
success: false,
|
||||
mode: 'find',
|
||||
searchTerm: indexName,
|
||||
found: false,
|
||||
error: 'Index Not Found',
|
||||
code: 404,
|
||||
message: `Index "${indexName}" does not exist in your project.`
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message: error.message || 'The request included invalid parameters.',
|
||||
details: error.details || []
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status === 403 || error.code === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Permission Denied',
|
||||
code: 403,
|
||||
message: 'You do not have permission to access indexes in this project.',
|
||||
details: error.details || []
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || []
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message: caught instanceof Error
|
||||
? caught.message
|
||||
: 'An unexpected error occurred while searching indexes.'
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,260 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const searchVector = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'search_vector',
|
||||
displayName: 'Search Vectors',
|
||||
description: 'Search a namespace using a query vector to find similar records.',
|
||||
props: {
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the index to search in',
|
||||
required: true
|
||||
}),
|
||||
indexHost: Property.ShortText({
|
||||
displayName: 'Index Host',
|
||||
description:
|
||||
'The unique host for the index (optional, see Pinecone docs for targeting an index)',
|
||||
required: false
|
||||
}),
|
||||
topK: Property.Number({
|
||||
displayName: 'Top K',
|
||||
description:
|
||||
'The number of results to return for each query (range: 1-10000)',
|
||||
required: true,
|
||||
defaultValue: 10
|
||||
}),
|
||||
namespace: Property.ShortText({
|
||||
displayName: 'Namespace',
|
||||
description: 'The namespace to query (e.g., "example-namespace")',
|
||||
required: false,
|
||||
defaultValue: 'example-namespace'
|
||||
}),
|
||||
queryMethod: Property.StaticDropdown({
|
||||
displayName: 'Query Method',
|
||||
description: 'Choose how to provide the query',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Query Vector', value: 'vector' },
|
||||
{ label: 'Query by ID', value: 'id' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'vector'
|
||||
}),
|
||||
vector: Property.Array({
|
||||
displayName: 'Query Vector',
|
||||
description:
|
||||
'The query vector. This should be the same length as the dimension of the index (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])',
|
||||
required: false
|
||||
}),
|
||||
id: Property.ShortText({
|
||||
displayName: 'Query Vector ID',
|
||||
description:
|
||||
'The unique ID of the vector to be used as a query vector (max length: 512)',
|
||||
required: false
|
||||
}),
|
||||
sparseIndices: Property.Array({
|
||||
displayName: 'Sparse Indices',
|
||||
description: 'Array of indices for sparse vector data (optional)',
|
||||
required: false
|
||||
}),
|
||||
sparseValues: Property.Array({
|
||||
displayName: 'Sparse Values',
|
||||
description:
|
||||
'Array of sparse values corresponding to indices (must be same length as indices)',
|
||||
required: false
|
||||
}),
|
||||
filter: Property.Json({
|
||||
displayName: 'Metadata Filter',
|
||||
description: 'Filter to apply using vector metadata. Examples:\n• {"genre": {"$eq": "documentary"}}\n• {"year": {"$gt": 2019}}\n• {"$and": [{"genre": {"$in": ["comedy", "drama"]}}, {"year": {"$gte": 2020}}]}',
|
||||
required: false
|
||||
}),
|
||||
includeValues: Property.Checkbox({
|
||||
displayName: 'Include Values',
|
||||
description: 'Whether vector values are included in the response',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
}),
|
||||
includeMetadata: Property.Checkbox({
|
||||
displayName: 'Include Metadata',
|
||||
description: 'Whether metadata is included in the response',
|
||||
required: false,
|
||||
defaultValue: false
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
indexName,
|
||||
indexHost,
|
||||
topK,
|
||||
namespace,
|
||||
queryMethod,
|
||||
vector,
|
||||
id,
|
||||
sparseIndices,
|
||||
sparseValues,
|
||||
filter,
|
||||
includeValues,
|
||||
includeMetadata
|
||||
} = context.propsValue;
|
||||
|
||||
if (!indexName) {
|
||||
throw new Error('You must provide an index name to search vectors.');
|
||||
}
|
||||
|
||||
if (!topK || topK < 1 || topK > 10000) {
|
||||
throw new Error('topK must be between 1 and 10000.');
|
||||
}
|
||||
|
||||
if (queryMethod === 'vector') {
|
||||
if (!vector || !Array.isArray(vector) || vector.length === 0) {
|
||||
throw new Error(
|
||||
'You must provide a query vector when using vector query method.'
|
||||
);
|
||||
}
|
||||
} else if (queryMethod === 'id') {
|
||||
if (!id || typeof id !== 'string' || id.length === 0 || id.length > 512) {
|
||||
throw new Error(
|
||||
'You must provide a valid vector ID (1-512 characters) when using ID query method.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
let queryRequest: any = {};
|
||||
|
||||
try {
|
||||
|
||||
const index = indexHost
|
||||
? pc.index(indexName, indexHost)
|
||||
: pc.index(indexName);
|
||||
|
||||
queryRequest = {
|
||||
topK: topK,
|
||||
includeValues: includeValues || false,
|
||||
includeMetadata: includeMetadata || false
|
||||
};
|
||||
|
||||
if (queryMethod === 'vector') {
|
||||
if (vector && Array.isArray(vector)) {
|
||||
queryRequest.vector = vector.map((v) => Number(v));
|
||||
}
|
||||
} else if (queryMethod === 'id') {
|
||||
if (id) {
|
||||
queryRequest.id = id;
|
||||
}
|
||||
}
|
||||
|
||||
if (sparseIndices && sparseValues) {
|
||||
if (!Array.isArray(sparseIndices) || !Array.isArray(sparseValues)) {
|
||||
throw new Error('Sparse indices and values must be arrays.');
|
||||
}
|
||||
if (sparseIndices.length !== sparseValues.length) {
|
||||
throw new Error(
|
||||
'Sparse indices and values arrays must have the same length.'
|
||||
);
|
||||
}
|
||||
|
||||
queryRequest.sparseVector = {
|
||||
indices: sparseIndices.map((i) => Number(i)),
|
||||
values: sparseValues.map((v) => Number(v))
|
||||
};
|
||||
}
|
||||
|
||||
if (filter) {
|
||||
queryRequest.filter = filter;
|
||||
}
|
||||
|
||||
const queryResponse = namespace
|
||||
? await index.namespace(namespace).query(queryRequest)
|
||||
: await index.query(queryRequest);
|
||||
|
||||
const matches = queryResponse?.matches || [];
|
||||
const usage = queryResponse?.usage || { readUnits: 0 };
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: indexName,
|
||||
namespace: queryResponse?.namespace || namespace || 'default',
|
||||
matches: matches,
|
||||
usage: usage,
|
||||
query: {
|
||||
topK: topK,
|
||||
method: queryMethod,
|
||||
...(queryMethod === 'vector' && { vectorDimension: vector?.length }),
|
||||
...(queryMethod === 'id' && { queryId: id }),
|
||||
...(filter && { filter: filter })
|
||||
},
|
||||
summary: {
|
||||
matchCount: matches.length,
|
||||
topScore: matches.length > 0 ? matches[0]?.score : null,
|
||||
readUnits: usage.readUnits || usage.readUnits || 0
|
||||
},
|
||||
message: `Successfully found ${matches.length} matches`
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to search vectors.', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message:
|
||||
error.message ||
|
||||
'The request body included invalid request parameters.',
|
||||
details: error.details || [],
|
||||
query: queryRequest,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 400 && error.status < 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected client error occurred.',
|
||||
details: error.details || [],
|
||||
query: queryRequest,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || [],
|
||||
query: queryRequest,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message:
|
||||
caught instanceof Error
|
||||
? caught.message
|
||||
: 'An unexpected error occurred while searching vectors.',
|
||||
query: queryRequest,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,215 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const updateVector = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'update_vector',
|
||||
displayName: 'Update a Vector',
|
||||
description: 'Updates a vector in a namespace. Overwrites existing values and metadata.',
|
||||
props: {
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the index containing the vector to update',
|
||||
required: true
|
||||
}),
|
||||
indexHost: Property.ShortText({
|
||||
displayName: 'Index Host',
|
||||
description:
|
||||
'The unique host for the index (optional, see Pinecone docs for targeting an index)',
|
||||
required: false
|
||||
}),
|
||||
id: Property.ShortText({
|
||||
displayName: 'Vector ID',
|
||||
description: "Vector's unique id (required, string length: 1 - 512)",
|
||||
required: true
|
||||
}),
|
||||
namespace: Property.ShortText({
|
||||
displayName: 'Namespace',
|
||||
description:
|
||||
'The namespace containing the vector to update (e.g., "example-namespace")',
|
||||
required: false,
|
||||
defaultValue: 'example-namespace'
|
||||
}),
|
||||
values: Property.Array({
|
||||
displayName: 'Vector Values',
|
||||
description:
|
||||
'Vector data to update (e.g., [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8])',
|
||||
required: false
|
||||
}),
|
||||
sparseIndices: Property.Array({
|
||||
displayName: 'Sparse Indices',
|
||||
description: 'Array of indices for sparse values (optional)',
|
||||
required: false
|
||||
}),
|
||||
sparseValues: Property.Array({
|
||||
displayName: 'Sparse Values',
|
||||
description:
|
||||
'Array of sparse values corresponding to indices (must be same length as indices)',
|
||||
required: false
|
||||
}),
|
||||
metadata: Property.Array({
|
||||
displayName: 'Metadata',
|
||||
description: 'Key-value pairs to set for the vector',
|
||||
required: false,
|
||||
properties: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
description: 'Metadata field name',
|
||||
required: true
|
||||
}),
|
||||
value: Property.ShortText({
|
||||
displayName: 'Value',
|
||||
description: 'Metadata field value',
|
||||
required: true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
indexName,
|
||||
indexHost,
|
||||
id,
|
||||
namespace,
|
||||
values,
|
||||
sparseIndices,
|
||||
sparseValues,
|
||||
metadata
|
||||
} = context.propsValue;
|
||||
|
||||
if (!indexName) {
|
||||
throw new Error('You must provide an index name to update a vector.');
|
||||
}
|
||||
|
||||
if (!id || typeof id !== 'string' || id.length === 0 || id.length > 512) {
|
||||
throw new Error(
|
||||
'Vector ID is required and must be a string with length 1-512 characters.'
|
||||
);
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
try {
|
||||
|
||||
const index = indexHost
|
||||
? pc.index(indexName, indexHost)
|
||||
: pc.index(indexName);
|
||||
|
||||
const updateRequest: any = {
|
||||
id: id
|
||||
};
|
||||
|
||||
if (values && Array.isArray(values) && values.length > 0) {
|
||||
updateRequest.values = values.map((v) => Number(v));
|
||||
}
|
||||
|
||||
if (sparseIndices && sparseValues) {
|
||||
if (!Array.isArray(sparseIndices) || !Array.isArray(sparseValues)) {
|
||||
throw new Error('Sparse indices and values must be arrays.');
|
||||
}
|
||||
if (sparseIndices.length !== sparseValues.length) {
|
||||
throw new Error(
|
||||
'Sparse indices and values arrays must have the same length.'
|
||||
);
|
||||
}
|
||||
|
||||
updateRequest.sparseValues = {
|
||||
indices: sparseIndices.map((i) => Number(i)),
|
||||
values: sparseValues.map((v) => Number(v))
|
||||
};
|
||||
}
|
||||
|
||||
if (metadata && Array.isArray(metadata) && metadata.length > 0) {
|
||||
const metadataObj: any = {};
|
||||
for (const item of metadata) {
|
||||
const metaItem = item as any;
|
||||
const key = String(metaItem.key);
|
||||
const value = metaItem.value;
|
||||
const numValue = Number(value);
|
||||
metadataObj[key] = isNaN(numValue) ? value : numValue;
|
||||
}
|
||||
updateRequest.metadata = metadataObj;
|
||||
}
|
||||
|
||||
namespace
|
||||
? await index.namespace(namespace).update(updateRequest)
|
||||
: await index.update(updateRequest);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
vectorId: id,
|
||||
updatedFields: {
|
||||
...(updateRequest.values && {
|
||||
values: `${updateRequest.values.length} values`
|
||||
}),
|
||||
...(updateRequest.sparseValues && {
|
||||
sparseValues: `${updateRequest.sparseValues.indices.length} sparse values`
|
||||
}),
|
||||
...(updateRequest.metadata && {
|
||||
metadata:
|
||||
Object.keys(updateRequest.metadata).length + ' metadata fields'
|
||||
})
|
||||
},
|
||||
message: `Successfully updated vector '${id}'`
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to update vector.', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message:
|
||||
error.message ||
|
||||
'The request body included invalid request parameters.',
|
||||
details: error.details || [],
|
||||
vectorId: id,
|
||||
indexName: indexName
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 400 && error.status < 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected client error occurred.',
|
||||
details: error.details || [],
|
||||
vectorId: id,
|
||||
indexName: indexName
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || [],
|
||||
vectorId: id,
|
||||
indexName: indexName
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message:
|
||||
caught instanceof Error
|
||||
? caught.message
|
||||
: 'An unexpected error occurred while updating the vector.',
|
||||
vectorId: id,
|
||||
indexName: indexName
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,301 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { createPineconeClientFromAuth } from '../common/pinecone-client';
|
||||
import { pineconeAuth } from '../../index';
|
||||
|
||||
export const upsertVector = createAction({
|
||||
auth: pineconeAuth,
|
||||
name: 'upsert_vector',
|
||||
displayName: 'Upsert Vector',
|
||||
description: 'Upsert vectors into a namespace. Overwrites existing vectors with the same ID.',
|
||||
props: {
|
||||
indexName: Property.ShortText({
|
||||
displayName: 'Index Name',
|
||||
description: 'The name of the index to upsert vectors into',
|
||||
required: true
|
||||
}),
|
||||
indexHost: Property.ShortText({
|
||||
displayName: 'Index Host',
|
||||
description:
|
||||
'The unique host for the index (optional, see Pinecone docs for targeting an index)',
|
||||
required: false
|
||||
}),
|
||||
namespace: Property.ShortText({
|
||||
displayName: 'Namespace',
|
||||
description:
|
||||
'The namespace where you upsert vectors (e.g., "example-namespace")',
|
||||
required: false,
|
||||
defaultValue: 'example-namespace'
|
||||
}),
|
||||
vectorsInput: Property.StaticDropdown({
|
||||
displayName: 'Input Method',
|
||||
description: 'Choose how to provide vector data',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Single Vector', value: 'single' },
|
||||
{ label: 'Multiple Vectors (JSON)', value: 'multiple' }
|
||||
]
|
||||
},
|
||||
defaultValue: 'single'
|
||||
}),
|
||||
id: Property.ShortText({
|
||||
displayName: 'Vector ID',
|
||||
description: 'The unique identifier for the vector (e.g., "vec1")',
|
||||
required: false
|
||||
}),
|
||||
values: Property.Array({
|
||||
displayName: 'Vector Values',
|
||||
description:
|
||||
'Array of numbers representing the vector (e.g., [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])',
|
||||
required: false
|
||||
}),
|
||||
|
||||
vectors: Property.Array({
|
||||
displayName: 'Vectors',
|
||||
description: 'Array of vectors to upsert (for multiple vectors input)',
|
||||
required: false,
|
||||
properties: {
|
||||
id: Property.ShortText({
|
||||
displayName: 'Vector ID',
|
||||
description: 'Unique identifier for this vector',
|
||||
required: true
|
||||
}),
|
||||
values: Property.LongText({
|
||||
displayName: 'Vector Values',
|
||||
description: 'Comma-separated numbers (e.g., 0.1,0.2,0.3,0.4)',
|
||||
required: true
|
||||
}),
|
||||
metadataKeys: Property.LongText({
|
||||
displayName: 'Metadata Keys',
|
||||
description: 'Comma-separated metadata field names (e.g., genre,year,rating)',
|
||||
required: false
|
||||
}),
|
||||
metadataValues: Property.LongText({
|
||||
displayName: 'Metadata Values',
|
||||
description: 'Comma-separated metadata values (e.g., comedy,2020,8.5)',
|
||||
required: false
|
||||
}),
|
||||
sparseIndices: Property.LongText({
|
||||
displayName: 'Sparse Indices',
|
||||
description: 'Comma-separated indices for sparse vector (e.g., 1,312,822)',
|
||||
required: false
|
||||
}),
|
||||
sparseValues: Property.LongText({
|
||||
displayName: 'Sparse Values',
|
||||
description: 'Comma-separated values for sparse vector (e.g., 0.1,0.2,0.3)',
|
||||
required: false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
indexName,
|
||||
indexHost,
|
||||
namespace,
|
||||
vectorsInput,
|
||||
id,
|
||||
values,
|
||||
vectors
|
||||
} = context.propsValue;
|
||||
|
||||
if (!indexName) {
|
||||
throw new Error('You must provide an index name to upsert vectors.');
|
||||
}
|
||||
|
||||
const pc = createPineconeClientFromAuth(context.auth);
|
||||
|
||||
let vectorsToUpsert: any[] = [];
|
||||
|
||||
try {
|
||||
|
||||
const index = indexHost
|
||||
? pc.index(indexName, indexHost)
|
||||
: pc.index(indexName);
|
||||
|
||||
if (vectorsInput === 'single') {
|
||||
if (!id) {
|
||||
throw new Error(
|
||||
'You must provide a vector ID for single vector input.'
|
||||
);
|
||||
}
|
||||
if (!values || !Array.isArray(values) || values.length === 0) {
|
||||
throw new Error(
|
||||
'You must provide vector values as a non-empty array of numbers.'
|
||||
);
|
||||
}
|
||||
|
||||
const record: any = {
|
||||
id: id,
|
||||
values: values.map((v) => Number(v))
|
||||
};
|
||||
|
||||
vectorsToUpsert = [record];
|
||||
} else if (vectorsInput === 'multiple') {
|
||||
if (!vectors || !Array.isArray(vectors) || vectors.length === 0) {
|
||||
throw new Error(
|
||||
'You must provide vectors array when using multiple vectors input.'
|
||||
);
|
||||
}
|
||||
|
||||
if (vectors.length > 1000) {
|
||||
throw new Error(
|
||||
'Recommended batch limit is up to 1000 vectors. Please reduce the number of vectors.'
|
||||
);
|
||||
}
|
||||
|
||||
vectorsToUpsert = vectors.map((vector: any, index: number) => {
|
||||
if (!vector.id) {
|
||||
throw new Error(
|
||||
`Vector at index ${index} must have an ID.`
|
||||
);
|
||||
}
|
||||
|
||||
if (!vector.values) {
|
||||
throw new Error(
|
||||
`Vector at index ${index} must have values.`
|
||||
);
|
||||
}
|
||||
|
||||
const values = vector.values.split(',').map((v: string) => Number(v.trim()));
|
||||
if (values.some(isNaN) || values.length === 0) {
|
||||
throw new Error(
|
||||
`Vector at index ${index} has invalid values. Use comma-separated numbers.`
|
||||
);
|
||||
}
|
||||
|
||||
const record: any = {
|
||||
id: String(vector.id),
|
||||
values: values
|
||||
};
|
||||
|
||||
if (vector.sparseIndices && vector.sparseValues) {
|
||||
const sparseIndices = vector.sparseIndices.split(',').map((v: string) => Number(v.trim()));
|
||||
const sparseValues = vector.sparseValues.split(',').map((v: string) => Number(v.trim()));
|
||||
|
||||
if (sparseIndices.some(isNaN) || sparseValues.some(isNaN)) {
|
||||
throw new Error(
|
||||
`Vector at index ${index} has invalid sparse values. Use comma-separated numbers.`
|
||||
);
|
||||
}
|
||||
|
||||
if (sparseIndices.length !== sparseValues.length) {
|
||||
throw new Error(
|
||||
`Vector at index ${index}: sparse indices and values must have the same length.`
|
||||
);
|
||||
}
|
||||
|
||||
record.sparseValues = {
|
||||
indices: sparseIndices,
|
||||
values: sparseValues
|
||||
};
|
||||
}
|
||||
|
||||
if (vector.metadataKeys && vector.metadataValues) {
|
||||
const keys = vector.metadataKeys.split(',').map((k: string) => k.trim());
|
||||
const vals = vector.metadataValues.split(',').map((v: string) => v.trim());
|
||||
|
||||
if (keys.length !== vals.length) {
|
||||
throw new Error(
|
||||
`Vector at index ${index}: metadata keys and values must have the same length.`
|
||||
);
|
||||
}
|
||||
|
||||
const metadata: any = {};
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
const key = keys[i];
|
||||
const value = vals[i];
|
||||
const numValue = Number(value);
|
||||
metadata[key] = isNaN(numValue) ? value : numValue;
|
||||
}
|
||||
record.metadata = metadata;
|
||||
}
|
||||
|
||||
return record;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const response: any = namespace
|
||||
? await index.namespace(namespace).upsert(vectorsToUpsert)
|
||||
: await index.upsert(vectorsToUpsert);
|
||||
|
||||
const upsertedCount =
|
||||
response && typeof response === 'object' && response.upsertedCount
|
||||
? response.upsertedCount
|
||||
: vectorsToUpsert.length;
|
||||
|
||||
return {
|
||||
success: true,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default',
|
||||
upsertedCount: upsertedCount,
|
||||
vectorCount: vectorsToUpsert.length,
|
||||
vectors: vectorsToUpsert.map((v) => ({
|
||||
id: v.id,
|
||||
dimension: v.values.length
|
||||
})),
|
||||
message: `Successfully upserted ${upsertedCount} vector(s)`
|
||||
};
|
||||
} catch (caught) {
|
||||
console.log('Failed to upsert vector(s).', caught);
|
||||
|
||||
if (caught instanceof Error) {
|
||||
const error = caught as any;
|
||||
|
||||
if (error.status === 400 || error.code === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Bad Request',
|
||||
code: 400,
|
||||
message:
|
||||
error.message ||
|
||||
'The request body included invalid request parameters.',
|
||||
details: error.details || [],
|
||||
vectorCount: vectorsToUpsert?.length || 0,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 400 && error.status < 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected client error occurred.',
|
||||
details: error.details || [],
|
||||
vectorCount: vectorsToUpsert?.length || 0,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
|
||||
if (error.status >= 500 || error.code >= 500) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Server Error',
|
||||
code: error.status || error.code,
|
||||
message: error.message || 'An unexpected server error occurred.',
|
||||
details: error.details || [],
|
||||
vectorCount: vectorsToUpsert?.length || 0,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
success: false,
|
||||
error: 'Unknown Error',
|
||||
message:
|
||||
caught instanceof Error
|
||||
? caught.message
|
||||
: 'An unexpected error occurred while upserting vectors.',
|
||||
vectorCount: vectorsToUpsert?.length || 0,
|
||||
indexName: indexName,
|
||||
namespace: namespace || 'default'
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,48 @@
|
||||
import { AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
|
||||
import { Pinecone, type PineconeConfiguration } from '@pinecone-database/pinecone';
|
||||
import { pineconeAuth } from '../..';
|
||||
|
||||
export interface PineconeAuthConfig {
|
||||
apiKey: string;
|
||||
}
|
||||
|
||||
|
||||
export function createPineconeClient(authConfig: PineconeAuthConfig): Pinecone {
|
||||
if (!authConfig.apiKey) {
|
||||
throw new Error('Pinecone API key is required. Please provide a valid API key from your Pinecone console.');
|
||||
}
|
||||
|
||||
const config: PineconeConfiguration = {
|
||||
apiKey: authConfig.apiKey,
|
||||
};
|
||||
|
||||
return new Pinecone(config);
|
||||
}
|
||||
|
||||
|
||||
export function validateApiKey(apiKey: string): void {
|
||||
if (!apiKey || typeof apiKey !== 'string') {
|
||||
throw new Error('Invalid API key: API key must be a non-empty string');
|
||||
}
|
||||
|
||||
if (apiKey.length < 10) {
|
||||
throw new Error('Invalid API key: API key appears to be too short');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export function createPineconeClientFromAuth(auth: AppConnectionValueForAuthProperty<typeof pineconeAuth>): Pinecone {
|
||||
if (typeof auth === 'string') {
|
||||
return createPineconeClient({ apiKey: auth });
|
||||
}
|
||||
|
||||
const actualAuth = auth.props;
|
||||
|
||||
if (!actualAuth || !actualAuth.apiKey) {
|
||||
throw new Error('Invalid authentication: API key is required');
|
||||
}
|
||||
|
||||
return createPineconeClient({
|
||||
apiKey: actualAuth.apiKey,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user