async def async_add(
        self,
        nodes: List[BaseNode],
        **add_kwargs: Any,
    ) -> List[str]:
        """
        Asynchronously add nodes with embedding to vector store.

        Args:
            nodes (List[BaseNode]): list of nodes with embeddings

        """
        for i in range(0, len(nodes), DEFAULT_BATCH_SIZE):
            docs = []
            for node in nodes[i:DEFAULT_BATCH_SIZE]:
                doc = {
                    self._config.id_field: node.node_id,
                    self._config.embedding_field: node.embedding,
                }
                if self._config.text_field:
                    doc[self._config.text_field] = node.get_text()

                meta_fields = node_to_metadata_dict(
                    node, remove_text=False, flat_metadata=self.flat_metadata
                )

                if self._config.field_mapping:
                    for key, value in meta_fields.items():
                        doc[self._config.field_mapping.get(key, key)] = value
                else:
                    doc.update(meta_fields)
                docs.append(doc)

            try:
                await self._async_send_data("add", docs)
            except Exception as e:
                logging.error(f"Add to {self._config.instance_id} failed: {e}")
                raise RuntimeError(f"Fail to add docs, error:{e}")
        return [node.node_id for node in nodes]

        Asynchronously add nodes with embedding to vector store.

        Args:
            nodes (List[BaseNode]): list of nodes with embeddings

        
llama-index-integrations/vector_stores/llama-index-vector-stores-alibabacloud-opensearch/llama_index/vector_stores/alibabacloud_opensearch/base.py