1.0.7 • Published 4 months ago

node-red-contrib-pinecone v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

node-red-contrib-pinecone

Pinecone makes it easy to provide long-term memory for high-performance AI applications

Quick Start

Install with the built in Node-RED Palette manager or using npm:

npm install node-red-contrib-pinecone

Properties Index Operations

msg.PINECONE_API_KEY = "Your API key";
msg.PINECONE_ENVIRONMENT = "Your environment";
msg.PINECONE_BASE_URL = "https://controller.[Your environment].pinecone.io";
  1. When msg.actionType is set to list_collections: This operation returns a list of your Pinecone collections

  2. When msg.actionType is set to create_collection:

  3. When msg.actionType is set to describe_collection:

  4. When msg.actionType is set to delete_collection:

  5. When msg.actionType is set to list_collections: This operation returns a list of your Pinecone indexes

  6. When msg.actionType is set to create_index:

    • Required name: Type: string The name of the collection to be created

    • Required dimension: Type: integer The dimensions of the vectors to be inserted in the index

    • metric: Type: string The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'
    • pods: Type: integer The number of pods for the index to use,including replicas
    • replicas: Type: integer The number of replicas. Replicas duplicate your index. They provide higher availability and throughput
    • pod_type: Type: string The type of pod to use. One of s1, p1, or p2 appended with . and one of x1, x2, x4, or x8.
    • metadata_config: Type: object | null Configuration for the behavior of Pinecone's internal metadata index. By default, all metadata is indexed; when metadata_config is present, only specified metadata fields are indexed. To specify metadata fields to index, provide a JSON object of the following form:
    {"indexed": ["example_metadata_field"]}
    • source_collection: Type: string The name of the collection to create an index from

Example:

    msg.payload = {
        name: "pinecone-index",
        metric: "cosine",
        pods: 1,
        replicas: 1,
        pod_type: "p1.x1"
    }
  1. When msg.actionType is set to describe_index:

  2. When msg.actionType is set to delete_index:

  3. When msg.actionType is set to configure_index:

    • Required name: Type: string The name of the collection

    • replicas: Type: string The desired number of replicas for the index

    • pod_type: Type: string The new pod type for the index. One of s1, p1, or p2 appended with . and one of x1, x2, x4, or x8.

Properties Vector operations

msg.PINECONE_API_KEY = "Your API key";
msg.PINECONE_ENVIRONMENT = "Your environment";
msg.PINECONE_BASE_URL = "https://index_name-project_id.svc.environment.pinecone.io";
  1. When msg.actionType is set to fetch:

    • Required msg.name: The name of the index

    • Required msg.vectors: The vector IDs to fetch. Does not accept values containing spaces. For example:

     msg.payload = {
         name: "pinecone-index",
         vectors: ["vec1", "vec2"]
     };
  2. When msg.actionType is set to query:

    • Required name: Type: string The name of the index

    • Required topK: Type: int64 The number of results to return for each query

    • filter: Type: object The filter to apply. You can use vector metadata to limit your search. See docs
    • includeValues: Type: boolean Indicates whether vector values are included in the response
    • includeMetadata: Type: boolean Indicates whether metadata is included in the response as well as the ids
    • vector: Type: array of floats The query vector. This should be the same length as the dimension of the index being queried. Each query() request can contain only one of the parameters id or vector.
    • sparseVector: Type: object Vector sparse data. Represented as a list of indices and a list of corresponded values, which must be the same length
    • id: Type: string The unique ID of the vector to be used as a query vector. Each query() request can contain only one of the parameters queries, vector, or id

    Example:

     msg.payload = {
         name: "pinecone-index",
         topK: 10,
         vector: [0.1,0.2,0.3],
         namespace: 'example-namespace'
     };
  3. When msg.actionType is set to update:

    Example:

     msg.payload = {
         name: "pinecone-index",
         id:'vec1',
         values: [0.1,0.2,0.3,0.4],
         setMetadata: {'genre': 'drama'},
         namespace: 'example-namespace'
     };
  4. When msg.actionType is set to upsert:

    Example:

     msg.payload = {
         name: "pinecone-index",
         vectors: [
             {
                 id: 'vec2',
                 values: [0.2,0.3,0.4,0.5],
                 metadata: {'genre': 'action'}
             }
         ]
     };
  5. When msg.delete is set to upsert:

    • Required name: Type: string The name of the index

    • Required ids: Type: array of strings Vectors to delete

    • deleteAll: Type: boolean This indicates that all vectors in the index namespace should be deleted
    • namespace: Type: string The namespace to delete vectors from, if applicable
    • filter: Type: boolean If specified, the metadata filter here will be used to select the vectors to delete. This is mutually exclusive with specifying IDs to delete in the ids param or using delete_all=True. See doc

    Example:

     msg.payload = {
         name: "pinecone-index",
         ids: ["vec1", "vec2"]
     };
  6. When msg.delete is set to describeIndexStats:

    • Required name: Type: string The name of the index

    • filter: Type: boolean If this parameter is present, the operation only returns statistics for vectors that satisfy the filter. See doc

Bugs reports and feature requests

Please report any issues or feature requests at GitHub.

License

MIT License

1.0.7

4 months ago

1.0.6

4 months ago

1.0.2

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.1

10 months ago

1.0.0

11 months ago