mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-02 19:47:13 +00:00
community[minor]: Add async methods to CassandraLoader (#20609)
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
This commit is contained in:
committed by
GitHub
parent
8c29b7bf35
commit
d2d01370bc
@@ -55,9 +55,9 @@ def keyspace() -> Iterator[str]:
|
||||
session.execute(f"DROP TABLE IF EXISTS {keyspace}.{CASSANDRA_TABLE}")
|
||||
|
||||
|
||||
def test_loader_table(keyspace: str) -> None:
|
||||
async def test_loader_table(keyspace: str) -> None:
|
||||
loader = CassandraLoader(table=CASSANDRA_TABLE)
|
||||
assert loader.load() == [
|
||||
expected = [
|
||||
Document(
|
||||
page_content="Row(row_id='id1', body_blob='text1')",
|
||||
metadata={"table": CASSANDRA_TABLE, "keyspace": keyspace},
|
||||
@@ -67,24 +67,28 @@ def test_loader_table(keyspace: str) -> None:
|
||||
metadata={"table": CASSANDRA_TABLE, "keyspace": keyspace},
|
||||
),
|
||||
]
|
||||
assert loader.load() == expected
|
||||
assert await loader.aload() == expected
|
||||
|
||||
|
||||
def test_loader_query(keyspace: str) -> None:
|
||||
async def test_loader_query(keyspace: str) -> None:
|
||||
loader = CassandraLoader(
|
||||
query=f"SELECT body_blob FROM {keyspace}.{CASSANDRA_TABLE}"
|
||||
)
|
||||
assert loader.load() == [
|
||||
expected = [
|
||||
Document(page_content="Row(body_blob='text1')"),
|
||||
Document(page_content="Row(body_blob='text2')"),
|
||||
]
|
||||
assert loader.load() == expected
|
||||
assert await loader.aload() == expected
|
||||
|
||||
|
||||
def test_loader_page_content_mapper(keyspace: str) -> None:
|
||||
async def test_loader_page_content_mapper(keyspace: str) -> None:
|
||||
def mapper(row: Any) -> str:
|
||||
return str(row.body_blob)
|
||||
|
||||
loader = CassandraLoader(table=CASSANDRA_TABLE, page_content_mapper=mapper)
|
||||
assert loader.load() == [
|
||||
expected = [
|
||||
Document(
|
||||
page_content="text1",
|
||||
metadata={"table": CASSANDRA_TABLE, "keyspace": keyspace},
|
||||
@@ -94,14 +98,16 @@ def test_loader_page_content_mapper(keyspace: str) -> None:
|
||||
metadata={"table": CASSANDRA_TABLE, "keyspace": keyspace},
|
||||
),
|
||||
]
|
||||
assert loader.load() == expected
|
||||
assert await loader.aload() == expected
|
||||
|
||||
|
||||
def test_loader_metadata_mapper(keyspace: str) -> None:
|
||||
async def test_loader_metadata_mapper(keyspace: str) -> None:
|
||||
def mapper(row: Any) -> dict:
|
||||
return {"id": row.row_id}
|
||||
|
||||
loader = CassandraLoader(table=CASSANDRA_TABLE, metadata_mapper=mapper)
|
||||
assert loader.load() == [
|
||||
expected = [
|
||||
Document(
|
||||
page_content="Row(row_id='id1', body_blob='text1')",
|
||||
metadata={
|
||||
@@ -119,3 +125,5 @@ def test_loader_metadata_mapper(keyspace: str) -> None:
|
||||
},
|
||||
),
|
||||
]
|
||||
assert loader.load() == expected
|
||||
assert await loader.aload() == expected
|
||||
|
Reference in New Issue
Block a user