def _translate_update_document_response(self, responses: UpdateDocumentsBatchResponse, unsuccessful_docs: List,
                                            index_name: str, start_time) \
            -> MarqoUpdateDocumentsResponse:
        """Translate Vespa response dict into MarqoUpdateDocumentsResponse for document update.

        Args:
            responses: The response from Vespa
            unsuccessful_docs: The list of unsuccessful documents
            index_name: The name of the index
            start_time: The start time of the operation

        Return:
            MarqoUpdateDocumentsResponse containing the response of the partial update operation
        """

        items: List[MarqoUpdateDocumentsItem] = []

        errors = responses.errors

        if responses is not None:
            for resp in responses.responses:
                doc_id = self.extract_document_id_from_vespa_id(resp)
                status, message = self.vespa_client.translate_vespa_document_response(resp.status, None)
                new_item = MarqoUpdateDocumentsItem(id=doc_id, status=status, message=message, error=message)
                items.append(new_item)

        for loc, error_info in unsuccessful_docs:
            items.insert(loc, error_info)
            errors = True

        return MarqoUpdateDocumentsResponse(errors=errors, index_name=index_name, items=items,
                                            processingTimeMs=(timer() - start_time) * 1000)
Translate Vespa response dict into MarqoUpdateDocumentsResponse for document update.

        Args:
            responses: The response from Vespa
            unsuccessful_docs: The list of unsuccessful documents
            index_name: The name of the index
            start_time: The start time of the operation

        Return:
            MarqoUpdateDocumentsResponse containing the response of the partial update operation
        
src/marqo/core/document/document.py