diff --git a/docs/Makefile b/docs/Makefile
index d4bb2cbb9eddb1bb1b4f366623044af8e4830919..8241a9397e901b8883c94e477c71d1765c3480d2 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -17,4 +17,4 @@ help:
 # Catch-all target: route all unknown targets to Sphinx using the new
 # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
 %: Makefile
-	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -j 8
diff --git a/docs/api_reference/index.rst b/docs/api_reference/index.rst
index cae783923df958118abf3a9e740bd32433f1f6e9..b5be4ee8b08c56a6be165124e42f98ab01304821 100644
--- a/docs/api_reference/index.rst
+++ b/docs/api_reference/index.rst
@@ -8,24 +8,23 @@ API Reference for the ``llama-index`` package.
 .. toctree::
    :maxdepth: 1
 
+   callbacks.rst
+   composability.rst
+   evaluation.rst
+   example_notebooks.rst
+   finetuning.rst
    indices.rst
-   query.rst
-   node.rst
    llm_predictor.rst
    llms.rst
-   prompts.rst
-   service_context/embeddings.rst
+   memory.rst
    node_postprocessor.rst
-   storage.rst
-   composability.rst
+   node.rst
+   playground.rst
+   prompts.rst
+   query.rst
    readers.rst
+   response.rst
    service_context.rst
-   callbacks.rst
+   service_context/embeddings.rst
+   storage.rst
    struct_store.rst
-   evaluation.rst
-   response.rst
-   playground.rst
-   finetuning.rst
-   memory.rst
-   example_notebooks.rst
-   langchain_integrations/base.rst
diff --git a/docs/api_reference/node.rst b/docs/api_reference/node.rst
index e2433693018df31b49e28b5cf3fc8d4f1e94db66..24e45b78a8a9dee12e4fe3b2d4c8e49548149fe5 100644
--- a/docs/api_reference/node.rst
+++ b/docs/api_reference/node.rst
@@ -3,7 +3,5 @@
 Node
 =================
 
-.. automodule:: llama_index.schema
-   :members:
-   :inherited-members:
-   :exclude-members: NodeType, ImageNode, IndexNode, TextNode
+.. automodapi:: llama_index.schema
+   :no-inheritance-diagram:
diff --git a/docs/api_reference/readers.rst b/docs/api_reference/readers.rst
index 7e9fde19cced1d1d1090e6a6f0041825625c168b..e75b1e2f7e46c63986f28071602ada84b156c0c8 100644
--- a/docs/api_reference/readers.rst
+++ b/docs/api_reference/readers.rst
@@ -6,6 +6,5 @@ LlamaHub is an open-source repository containing data loaders that you can easil
 
 The following data connectors are still available in the core repo.
 
-.. automodule:: llama_index.readers
-   :members:
-   :inherited-members:
+.. automodapi:: llama_index.readers
+   :no-inheritance-diagram:
diff --git a/docs/api_reference/service_context/node_parser.rst b/docs/api_reference/service_context/node_parser.rst
index f005686dba85cec7625c9393361c7b7635b4389a..dc13128bcef9466a49ddb9d3391f039e8ec0b87e 100644
--- a/docs/api_reference/service_context/node_parser.rst
+++ b/docs/api_reference/service_context/node_parser.rst
@@ -1,9 +1,8 @@
 Node Parser
 ===========
 
-.. automodule:: llama_index.node_parser
-   :members:
-   :inherited-members:
+.. automodapi:: llama_index.node_parser
+   :no-inheritance-diagram:
 
 ..  autopydantic_model:: llama_index.node_parser.extractors.metadata_extractors.SummaryExtractor
 
diff --git a/docs/api_reference/storage/vector_store.rst b/docs/api_reference/storage/vector_store.rst
index 2bd31af3333e0203f390c68756d29de466f46d4a..33bc677b49b3e28f7d5065932e4014c1654c32e0 100644
--- a/docs/api_reference/storage/vector_store.rst
+++ b/docs/api_reference/storage/vector_store.rst
@@ -3,6 +3,5 @@
 Vector Store
 =====================
 
-.. automodule:: llama_index.vector_stores
-   :members:
-   :inherited-members:
+.. automodapi:: llama_index.vector_stores
+   :no-inheritance-diagram:
diff --git a/docs/conf.py b/docs/conf.py
index 174e71ccce77949645300900003eae9c8e6a5525..5e5975fa822c595bb41a0239511eda7ee2ae7408 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -41,8 +41,12 @@ extensions = [
     "myst_nb",
     "sphinxcontrib.autodoc_pydantic",
     "sphinx_reredirects",
+    "sphinx_automodapi.automodapi",
 ]
 
+# automodapi requires this to avoid duplicates apparently
+numpydoc_show_class_members = False
+
 myst_heading_anchors = 5
 # TODO: Fix the non-consecutive header level in our docs, until then
 # disable the sphinx/myst warnings
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 11afec9c48eff8ff660fa0a7481208467fe5b4fd..46c1d98431a4fbd36ce47d27ba9ae99c0689998c 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -10,3 +10,4 @@ sphinx_rtd_theme
 pydantic<2.0.0
 autodoc_pydantic
 sphinx-reredirects>=0.1.2
+sphinx-automodapi==0.16.0
diff --git a/llama_index/vector_stores/__init__.py b/llama_index/vector_stores/__init__.py
index 3ac8e3d78873f17606dd83f033a6bbfaabb6d2be..f010434baa56a6f1fba2035e19c44eb3fade16ae 100644
--- a/llama_index/vector_stores/__init__.py
+++ b/llama_index/vector_stores/__init__.py
@@ -47,6 +47,7 @@ from llama_index.vector_stores.types import (
     VectorStoreQueryResult,
 )
 from llama_index.vector_stores.weaviate import WeaviateVectorStore
+from llama_index.vector_stores.zep import ZepVectorStore
 
 __all__ = [
     "ElasticsearchStore",