> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chroma Cloud Splade

export const Callout = ({title, children}) => <div className="my-6">
    <div className="relative pr-1.5 pb-1.5">
      <div className="absolute top-1.5 left-1.5 right-0 bottom-0 bg-blue-500 dark:bg-blue-600" />
      <div className="relative border border-black dark:border-gray-500 px-5 py-4 bg-white dark:bg-neutral-900">
        {title && <p className="block mb-2"><strong>{title}</strong></p>}
        {children}
      </div>
    </div>
  </div>;

Chroma provides a convenient wrapper around Chroma Cloud's Splade sparse embedding API. This embedding function runs remotely on Chroma Cloud's servers, and requires a Chroma API key. You can get an API key by signing up for an account at [Chroma Cloud](https://www.trychroma.com/).

Sparse embeddings are useful for retrieval tasks where you want to match on specific keywords or terms, rather than semantic similarity.

<Tabs>
  <Tab title="Python" icon="python">
    This embedding function relies on the `httpx` python package, which you can install with `pip install httpx`.

    ```python theme={null}
    from chromadb.utils.embedding_functions import ChromaCloudSpladeEmbeddingFunction, ChromaCloudSpladeEmbeddingModel
    import os

    os.environ["CHROMA_API_KEY"] = "YOUR_API_KEY"
    splade_ef = ChromaCloudSpladeEmbeddingFunction(
        model=ChromaCloudSpladeEmbeddingModel.SPLADE_PP_EN_V1
    )

    texts = ["Hello, world!", "How are you?"]
    sparse_embeddings = splade_ef(texts)
    ```

    You can optionally pass in a `model` argument. By default, Chroma uses `prithivida/Splade_PP_en_v1`.
  </Tab>

  <Tab title="TypeScript" icon="js">
    ```typescript theme={null}
    // npm install @chroma-core/chroma-cloud-splade

    import { ChromaCloudSpladeEmbeddingFunction, ChromaCloudSpladeEmbeddingModel } from "@chroma-core/chroma-cloud-splade";

    const embedder = new ChromaCloudSpladeEmbeddingFunction({
      apiKeyEnvVar: "CHROMA_API_KEY", // Or set CHROMA_API_KEY env var
      model: ChromaCloudSpladeEmbeddingModel.SPLADE_PP_EN_V1,
    });

    // use directly
    const sparseEmbeddings = await embedder.generate(["document1", "document2"]);
    ```
  </Tab>

  <Tab title="HTTP" icon="terminal">
    To use the Chroma Cloud Embedding API directly, see the [Generate Sparse Embeddings API reference](/reference/embeddings-api/generate-sparse-embeddings) for detailed request and response formats.
  </Tab>
</Tabs>
