### Checked other resources

- [X] I added a very descriptive title to this issue.
- [X] I searched the LangChain documentation with the integrated search.
- [X] I used the GitHub search to find a similar question and didn't find it.
- [X] I am sure that this is a bug in LangChain rather than my code.
- [X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

### Example Code

Steps to Reproduce

1. Use the add_documents function to process a list of documents.
2. Occasionally observe that some points are duplicated, having different IDs but the same content.


Here is the code we are using:

```
@retry(tries=3, delay=2)
    def _load_vectordatabase(self, docs_chunks: tp.List[Document]) -> list:
        point_list= self.add_documents(docs_chunks)
        return point_list
```

https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/vectorstores/qdrant.py

### Error Message and Stack Trace (if applicable)

_No response_

### Description

Using Qdrant vector store we have encountered an issue where duplicate points with different IDs but the same content are being generated when using the add_documents and add_texts functions in the Langchain library. The duplication appears to be random and occurs infrequently, making it challenging to consistently reproduce.

It should not be possible for the same document resulting from a chunk to generate two points with the same duplicated content, and we are sure that it was not uploaded twice (besides, not all the page content is duplicated).

### System Info

Response retrieval (same identificador and page_content)

```
[{
        "page_content": "Transferencias internacionales de datos:\nNo están previstas transferencias internacionales de datos.\nSus derechos en relación con el tratamiento de datos:\nCualquier persona tiene derecho a obtener confirmación sobre la existencia de un tratamiento de sus datos, a acceder a sus datos personales, solicitar la rectificación de los datos que sean inexactos o, en su caso, solicitar la supresión, cuando entre otros motivos, los datos ya no sean necesarios para los fines para los que fueron recogidos o el interesado retire el consentimiento otorgado.\nEn determinados supuestos el interesado podrá solicitar la limitación del tratamiento de sus datos, en cuyo caso sólo los conservaremos de acuerdo con la normativa vigente.\nEn determinados supuestos puede ejercitar su derecho a la portabilidad de los datos, que serán entregados en un formato estructurado, de uso común o lectura mecánica a usted o al nuevo responsable de tratamiento que designe.\nTiene derecho a revocar en cualquier momento el consentimiento para cualquiera de los tratamientos para los que lo ha otorgado.",
        "metadata": {
            "identificador": 213101,
            "_id": "c7b153d4-6af6-4c7c-9585-0e4d814af32e",
            "_collection_name": "test"
        },
        "type": "Document"
    },
    0.83477765

{
        "page_content": "Transferencias internacionales de datos:\nNo están previstas transferencias internacionales de datos.\nSus derechos en relación con el tratamiento de datos:\nCualquier persona tiene derecho a obtener confirmación sobre la existencia de un tratamiento de sus datos, a acceder a sus datos personales, solicitar la rectificación de los datos que sean inexactos o, en su caso, solicitar la supresión, cuando entre otros motivos, los datos ya no sean necesarios para los fines para los que fueron recogidos o el interesado retire el consentimiento otorgado.\nEn determinados supuestos el interesado podrá solicitar la limitación del tratamiento de sus datos, en cuyo caso sólo los conservaremos de acuerdo con la normativa vigente.\nEn determinados supuestos puede ejercitar su derecho a la portabilidad de los datos, que serán entregados en un formato estructurado, de uso común o lectura mecánica a usted o al nuevo responsable de tratamiento que designe.\nTiene derecho a revocar en cualquier momento el consentimiento para cualquiera de los tratamientos para los que lo ha otorgado.",
        "metadata": {
            "identificador": 213101,
            "_id": "000069b1-f4c8-48c2-ac51-d3230d154be1",
            "_collection_name": "test"
        },
        "type": "Document"
    },
    0.83477765
],
```
Duplicate Points in Qdrant with Different IDs but Same Content in add_texts Function
This is a GitHub Issue
repo:langchain
owner:hwchase17
Title : Duplicate Points in Qdrant with Different IDs but Same Content in add_texts Function
Issue date:

--- start body ---
### Checked other resources

- [X] I added a very descriptive title to this issue.
- [X] I searched the LangChain documentation with the integrated search.
- [X] I used the GitHub search to find a similar question and didn't find it.
- [X] I am sure that this is a bug in LangChain rather than my code.
- [X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

### Example Code

Steps to Reproduce

1. Use the add_documents function to process a list of documents.
2. Occasionally observe that some points are duplicated, having different IDs but the same content.


Here is the code we are using:

```
@retry(tries=3, delay=2)
    def _load_vectordatabase(self, docs_chunks: tp.List[Document]) -> list:
        point_list= self.add_documents(docs_chunks)
        return point_list
```

https://github.com/langchain-ai/langchain/blob/master/libs/community/langchain_community/vectorstores/qdrant.py

### Error Message and Stack Trace (if applicable)

_No response_

### Description

Using Qdrant vector store we have encountered an issue where duplicate points with different IDs but the same content are being generated when using the add_documents and add_texts functions in the Langchain library. The duplication appears to be random and occurs infrequently, making it challenging to consistently reproduce.

It should not be possible for the same document resulting from a chunk to generate two points with the same duplicated content, and we are sure that it was not uploaded twice (besides, not all the page content is duplicated).

### System Info

Response retrieval (same identificador and page_content)

```
[{
        "page_content": "Transferencias internacionales de datos:\nNo están previstas transferencias internacionales de datos.\nSus derechos en relación con el tratamiento de datos:\nCualquier persona tiene derecho a obtener confirmación sobre la existencia de un tratamiento de sus datos, a acceder a sus datos personales, solicitar la rectificación de los datos que sean inexactos o, en su caso, solicitar la supresión, cuando entre otros motivos, los datos ya no sean necesarios para los fines para los que fueron recogidos o el interesado retire el consentimiento otorgado.\nEn determinados supuestos el interesado podrá solicitar la limitación del tratamiento de sus datos, en cuyo caso sólo los conservaremos de acuerdo con la normativa vigente.\nEn determinados supuestos puede ejercitar su derecho a la portabilidad de los datos, que serán entregados en un formato estructurado, de uso común o lectura mecánica a usted o al nuevo responsable de tratamiento que designe.\nTiene derecho a revocar en cualquier momento el consentimiento para cualquiera de los tratamientos para los que lo ha otorgado.",
        "metadata": {
            "identificador": 213101,
            "_id": "c7b153d4-6af6-4c7c-9585-0e4d814af32e",
            "_collection_name": "test"
        },
        "type": "Document"
    },
    0.83477765

{
        "page_content": "Transferencias internacionales de datos:\nNo están previstas transferencias internacionales de datos.\nSus derechos en relación con el tratamiento de datos:\nCualquier persona tiene derecho a obtener confirmación sobre la existencia de un tratamiento de sus datos, a acceder a sus datos personales, solicitar la rectificación de los datos que sean inexactos o, en su caso, solicitar la supresión, cuando entre otros motivos, los datos ya no sean necesarios para los fines para los que fueron recogidos o el interesado retire el consentimiento otorgado.\nEn determinados supuestos el interesado podrá solicitar la limitación del tratamiento de sus datos, en cuyo caso sólo los conservaremos de acuerdo con la normativa vigente.\nEn determinados supuestos puede ejercitar su derecho a la portabilidad de los datos, que serán entregados en un formato estructurado, de uso común o lectura mecánica a usted o al nuevo responsable de tratamiento que designe.\nTiene derecho a revocar en cualquier momento el consentimiento para cualquiera de los tratamientos para los que lo ha otorgado.",
        "metadata": {
            "identificador": 213101,
            "_id": "000069b1-f4c8-48c2-ac51-d3230d154be1",
            "_collection_name": "test"
        },
        "type": "Document"
    },
    0.83477765
],
```
--- end body ---

The issue describes a potential bug in the LangChain library where the `add_documents` and `add_texts` functions in the Qdrant vector store are generating duplicate points with different IDs but identical content. This could lead to data integrity issues and confusion when retrieving documents, as the same content is represented multiple times with different identifiers. The randomness of the duplication makes it difficult to reproduce consistently, indicating a flaw in the handling of document uniqueness during the addition process.