class_docstr: Wrapper around ChromaDB embeddings platform.
  
  To use, you should have the ``chromamigdb`` python package installed.
  
  Example:
      .. code-block:: python
  
              from langchain.vectorstores import Chroma
              from langchain.embeddings.openai import OpenAIEmbeddings
  
              embeddings = OpenAIEmbeddings()
              vectorstore = Chroma("langchain_store", embeddings)
docstr: Create a Chroma vectorstore from a list of documents.
  
  If a persist_directory is specified, the collection will be persisted there.
  Otherwise, the data will be ephemeral in-memory.
  
  Args:
      collection_name (str): Name of the collection to create.
      persist_directory (Optional[str]): Directory to persist the collection.
      ids (Optional[List[str]]): List of document IDs. Defaults to None.
      documents (List[Document]): List of documents to add to the vectorstore.
      embedding (Optional[Embeddings]): Embedding function. Defaults to None.
      client_settings (Optional[chromamigdb.config.Settings]): Chroma client settings
      collection_metadata (Optional[Dict]): Collection configurations.
                                            Defaults to None.
  
  Returns:
      Chroma: Chroma vectorstore.
docstr_tok: ["Create","a","Chroma","vectorstore","from","a","list","of","documents",".","If","a","persist_directory","is","specified",",","the","collection","will","be","persisted","there",".","Otherwise",",","the","data","will","be","ephemeral","in-memory",".","Args",":","collection_name","(","str",")",":","Name","of","the","collection","to","create",".","persist_directory","(","Optional","[","str","]",")",":","Directory","to","persist","the","collection",".","ids","(","Optional","[","List","[","str","]","]",")",":","List","of","document","IDs",".","Defaults","to","None",".","documents","(","List","[","Document","]",")",":","List","of","documents","to","add","to","the","vectorstore",".","embedding","(","Optional","[","Embeddings","]",")",":","Embedding","function",".","Defaults","to","None",".","client_settings","(","Optional","[","chromamigdb.config.Settings","]",")",":","Chroma","client","settings","collection_metadata","(","Optional","[","Dict","]",")",":","Collection","configurations",".","Defaults","to","None",".","Returns",":","Chroma",":","Chroma","vectorstore","."]
code: def from_documents(
      cls: Type[ChromaMig],
      documents: List[Document],
      embedding: Optional[Embeddings] = None,
      ids: Optional[List[str]] = None,
      collection_name: str = _LANGCHAIN_DEFAULT_COLLECTION_NAME,
      persist_directory: Optional[str] = None,
      client_settings: Optional[chromamigdb.config.Settings] = None,
      client: Optional[chromamigdb.Client] = None,  # Add this line
      collection_metadata: Optional[Dict] = None,
      **kwargs: Any,
  ) -> ChromaMig:
      """Create a Chroma vectorstore from a list of documents.
  
      If a persist_directory is specified, the collection will be persisted there.
      Otherwise, the data will be ephemeral in-memory.
  
      Args:
          collection_name (str): Name of the collection to create.
          persist_directory (Optional[str]): Directory to persist the collection.
          ids (Optional[List[str]]): List of document IDs. Defaults to None.
          documents (List[Document]): List of documents to add to the vectorstore.
          embedding (Optional[Embeddings]): Embedding function. Defaults to None.
          client_settings (Optional[chromamigdb.config.Settings]): Chroma client settings
          collection_metadata (Optional[Dict]): Collection configurations.
                                                Defaults to None.
  
      Returns:
          Chroma: Chroma vectorstore.
      """
      texts = [doc.page_content for doc in documents]
      metadatas = [doc.metadata for doc in documents]
      return cls.from_texts(
          texts=texts,
          embedding=embedding,
          metadatas=metadatas,
          ids=ids,
          collection_name=collection_name,
          persist_directory=persist_directory,
          client_settings=client_settings,
          client=client,
          collection_metadata=collection_metadata,
          **kwargs,
      )
  
imports: from __future__ import annotations
  import logging
  import uuid
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional, Tuple, Type
  import numpy
  from langchain.docstore.document import Document
  from langchain.embeddings.base import Embeddings
  from langchain.utils import xor_args
  from langchain.vectorstores.base import VectorStore
  from langchain.vectorstores.utils import maximal_marginal_relevance
label_desc: Use image node_id 17 for calling the ChromaMig obj's underlying member method code with example usage: obj.from_documents(cls, documents, embedding, ids, collection_name, persist_directory, client_settings, client, collection_metadata) and returns: cls