test_add_documents_with_existing_ids_async() — langchain Function Reference
Architecture documentation for the test_add_documents_with_existing_ids_async() function in vectorstores.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 1d5a9bf1_438a_6dbd_d716_a692fd48d186["test_add_documents_with_existing_ids_async()"] dd52cc1a_cb37_0117_3b1e_0889a7228307["VectorStoreIntegrationTests"] 1d5a9bf1_438a_6dbd_d716_a692fd48d186 -->|defined in| dd52cc1a_cb37_0117_3b1e_0889a7228307 26edf390_ce50_b6e2_04c9_788f2cd6faba["has_get_by_ids()"] 1d5a9bf1_438a_6dbd_d716_a692fd48d186 -->|calls| 26edf390_ce50_b6e2_04c9_788f2cd6faba ec7f22d1_3913_61c4_fadb_bb7d144c0fb3["_sort_by_id()"] 1d5a9bf1_438a_6dbd_d716_a692fd48d186 -->|calls| ec7f22d1_3913_61c4_fadb_bb7d144c0fb3 style 1d5a9bf1_438a_6dbd_d716_a692fd48d186 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/standard-tests/langchain_tests/integration_tests/vectorstores.py lines 796–842
async def test_add_documents_with_existing_ids_async(
self, vectorstore: VectorStore
) -> None:
"""Test that `add_documents` with existing IDs is idempotent.
??? note "Troubleshooting"
If this test fails, check that `get_by_ids` is implemented and returns
documents in the same order as the IDs passed in.
This test also verifies that:
1. IDs specified in the `Document.id` field are assigned when adding
documents.
2. If some documents include IDs and others don't string IDs are generated
for the latter.
!!! note
`get_by_ids` was added to the `VectorStore` interface in
`langchain-core` version 0.2.11. If difficult to implement, this
test can be skipped by setting the `has_get_by_ids` property to
`False`.
```python
@property
def has_get_by_ids(self) -> bool:
return False
```
"""
if not self.has_async:
pytest.skip("Async tests not supported.")
if not self.has_get_by_ids:
pytest.skip("get_by_ids not implemented.")
documents = [
Document(id="foo", page_content="foo", metadata={"id": 1}),
Document(page_content="bar", metadata={"id": 2}),
]
ids = await vectorstore.aadd_documents(documents)
assert "foo" in ids
assert _sort_by_id(await vectorstore.aget_by_ids(ids)) == _sort_by_id(
[
Document(page_content="foo", metadata={"id": 1}, id="foo"),
Document(page_content="bar", metadata={"id": 2}, id=ids[1]),
]
)
Domain
Subdomains
Source
Frequently Asked Questions
What does test_add_documents_with_existing_ids_async() do?
test_add_documents_with_existing_ids_async() is a function in the langchain codebase, defined in libs/standard-tests/langchain_tests/integration_tests/vectorstores.py.
Where is test_add_documents_with_existing_ids_async() defined?
test_add_documents_with_existing_ids_async() is defined in libs/standard-tests/langchain_tests/integration_tests/vectorstores.py at line 796.
What does test_add_documents_with_existing_ids_async() call?
test_add_documents_with_existing_ids_async() calls 2 function(s): _sort_by_id, has_get_by_ids.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free