Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-red-contrib-chromadb

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-red-contrib-chromadb

ChromaDB Node for Node-RED

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
Maintainers
1
Weekly downloads
 
Created
Source

node-red-contrib-chromadb

Chroma is the open-source embedding database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.

Ubos - End-to-End Software Development Platform

UBOSCommunityYoutubeDiscordGitHub


Install

cd ~/.node-red
npm install node-red-contrib-chromadb

Restart your Node-RED instance.


Methods Client

createCollection (more details)

createCollection(params): Promise<Collection>

Creates a new collection with the specified properties.

Throws

If there is an issue creating the collection.

Example

msg.collection = "my_collection";
msg.payload = {
    metadata: {
        description: "My first collection"
    }
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for creating a new collection.
params.embeddingFunction?IEmbeddingFunctionOptional custom embedding function for the collection.
params.metadata?CollectionMetadataOptional metadata associated with the collection.
params.namestringThe name of the collection.
Returns

Promise<Collection>

A promise that resolves to the created collection.


deleteCollection (more details)

deleteCollection(params): Promise<void>

Deletes a collection with the specified name.

Throws

If there is an issue deleting the collection.

Example

msg.collection = "my_collection";
msg.payload = {};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for deleting a collection.
params.namestringThe name of the collection.
Returns

Promise<void>

A promise that resolves when the collection is deleted.


getCollection (more details)

getCollection(params): Promise<Collection>

Gets a collection with the specified name.

Throws

If there is an issue getting the collection.

Example

msg.collection = "my_collection";
msg.payload = {};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for getting a collection.
params.embeddingFunction?IEmbeddingFunctionOptional custom embedding function for the collection.
params.namestringThe name of the collection.
Returns

Promise<Collection>

A promise that resolves to the collection.


getOrCreateCollection (more details)

getOrCreateCollection(params): Promise<Collection>

Gets or creates a collection with the specified properties.

Throws

If there is an issue getting or creating the collection.

Example

msg.collection = "my_collection";
msg.payload = {
    metadata: {
        description: "My first collection"
    }
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for creating a new collection.
params.embeddingFunction?IEmbeddingFunctionOptional custom embedding function for the collection.
params.metadata?CollectionMetadataOptional metadata associated with the collection.
params.namestringThe name of the collection.
Returns

Promise<Collection>

A promise that resolves to the got or created collection.


heartbeat (more details)

heartbeat(): Promise<number>

Returns a heartbeat from the Chroma API.

Returns

Promise<number>

A promise that resolves to the heartbeat from the Chroma API.


listCollections (more details)

listCollections(): Promise<CollectionType[]>

Lists all collections.

Throws

If there is an issue listing the collections.

Returns

Promise<CollectionType[]>

A promise that resolves to a list of collection names.


reset (more details)

reset(): Promise<Reset200Response>

Resets the state of the object by making an API call to the reset endpoint.

Throws

If there is an issue resetting the state.

Returns

Promise<Reset200Response>

A promise that resolves when the reset operation is complete.


version (more details)

version(): Promise<string>

Returns the version of the Chroma API.

Returns

Promise<string>

A promise that resolves to the version of the Chroma API.

Methods Collection

add (more details)

add(params): Promise<AddResponse>

Add items to the collection

Example

msg.collection = "my_collection";
msg.payload = {
    ids: ["id1", "id2"],
    embeddings: [
        [1, 2, 3],
        [4, 5, 6],
    ],
    metadatas: [{ key: "value" }, { key: "value" }],
    documents: ["document1", "document2"],
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.documents?string | DocumentsOptional documents of the items to add.
params.embeddings?Embedding | EmbeddingsOptional embeddings of the items to add.
params.idsstring | IDsIDs of the items to add.
params.metadatas?Metadata | MetadatasOptional metadata of the items to add.
Returns

Promise<AddResponse>

  • The response from the API. True if successful.

count (more details)

count(): Promise<number>

Count the number of items in the collection

Example

msg.collection = "my_collection";
msg.payload = {};

return msg;
Returns

Promise<number>

  • The response from the API.

delete (more details)

delete(params?): Promise<string[]>

Deletes items from the collection.

Throws

If there is an issue deleting items from the collection.

Example

msg.collection = "my_collection";
msg.payload = {
    ids: "some_id",
    where: { key: "value" },
    whereDocument: { "$contains": "search_string" }
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for deleting items from the collection.
params.ids?string | IDsOptional ID or array of IDs of items to delete.
params.where?WhereOptional query condition to filter items to delete based on metadata values.
params.whereDocument?WhereDocumentOptional query condition to filter items to delete based on document content.
Returns

Promise<string[]>

A promise that resolves to the IDs of the deleted items.


get (more details)

get(params?): Promise<GetResponse>

Get items from the collection

Example

msg.collection = "my_collection";
msg.payload = {
    ids: ["id1", "id2"],
    where: { key: "value" },
    limit: 10,
    offset: 0,
    include: ["embeddings", "metadatas", "documents"],
    whereDocument: { $contains: "value" },
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.ids?string | IDsOptional IDs of the items to get.
params.include?IncludeEnum[]Optional list of items to include in the response.
params.limit?numberOptional limit on the number of items to get.
params.offset?numberOptional offset on the items to get.
params.where?WhereOptional where clause to filter items by.
params.whereDocument?WhereDocumentOptional where clause to filter items by.
Returns

Promise<GetResponse>

  • The response from the server.

modify (more details)

modify(params?): Promise<void>

Modify the collection name or metadata

Example

msg.collection = "my_collection";
msg.payload = {
    name: "new collection name",
    metadata: { key: "value" },
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.metadata?CollectionMetadataOptional new metadata for the collection.
params.name?stringOptional new name for the collection.
Returns

Promise<void>

  • The response from the API.

peek (more details)

peek(params?): Promise<GetResponse>

Peek inside the collection

Throws

If there is an issue executing the query.

Example

msg.collection = "my_collection";
msg.payload = {
    limit: 10,
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.limit?numberOptional number of results to return (default is 10).
Returns

Promise<GetResponse>

A promise that resolves to the query results.


query (more details)

query(params): Promise<QueryResponse>

Performs a query on the collection using the specified parameters.

Throws

If there is an issue executing the query.

Example

// Query the collection using embeddings
msg.collection = "my_collection";
msg.payload = {
    queryEmbeddings: [0.1, 0.2],
    nResults: 10,
    where: { key: "value" },
    include: ["metadata", "document"]
};

return msg;

Example

// Query the collection using query text
msg.collection = "my_collection";
msg.payload = {
    queryTexts: "some text",
    nResults: 10,
    where: { key: "value" },
    include: ["metadata", "document"]
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.include?IncludeEnum[]Optional array of fields to include in the result, such as "metadata" and "document".
params.nResults?numberOptional number of results to return (default is 10).
params.queryEmbeddings?Embedding | EmbeddingsOptional query embeddings to use for the search.
params.queryTexts?string | string[]Optional query text(s) to search for in the collection.
params.where?WhereOptional query condition to filter results based on metadata values.
params.whereDocument?WhereDocumentOptional query condition to filter results based on document content.
Returns

Promise<QueryResponse>

A promise that resolves to the query results.


update (more details)

update(params): Promise<boolean>

Update the embeddings, documents, and/or metadatas of existing items

Example

msg.collection = "my_collection";
msg.payload = {
    ids: ["id1", "id2"],
    embeddings: [
        [1, 2, 3],
        [4, 5, 6],
    ],
    metadatas: [{ key: "value" }, { key: "value" }],
    documents: ["new document 1", "new document 2"],
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.documents?string | DocumentsOptional documents to update.
params.embeddings?Embedding | EmbeddingsOptional embeddings to update.
params.idsstring | IDsThe IDs of the items to update.
params.metadatas?Metadata | MetadatasOptional metadatas to update.
Returns

Promise<boolean>

  • The API Response. True if successful. Else, error.

upsert (more details)

upsert(params): Promise<boolean>

Upsert items to the collection

Example

msg.collection = "my_collection";
msg.payload = {
    ids: ["id1", "id2"],
    embeddings: [
        [1, 2, 3],
        [4, 5, 6],
    ],
    metadatas: [{ key: "value" }, { key: "value" }],
    documents: ["document1", "document2"],
};

return msg;
Parameters
NameTypeDescription
paramsObjectThe parameters for the query.
params.documents?string | DocumentsOptional documents of the items to add.
params.embeddings?Embedding | EmbeddingsOptional embeddings of the items to add.
params.idsstring | IDsIDs of the items to add.
params.metadatas?Metadata | MetadatasOptional metadata of the items to add.
Returns

Promise<boolean>

  • The response from the API. True if successful.

Bugs reports and feature requests

Please report any issues or feature requests at GitHub.

License

MIT License

Keywords

FAQs

Package last updated on 09 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc