mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
|
"""Test AwaDB functionality."""
|
||
|
from langchain.docstore.document import Document
|
||
|
from langchain.vectorstores import AwaDB
|
||
|
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings
|
||
|
|
||
|
|
||
|
def test_awadb() -> None:
|
||
|
"""Test end to end construction and search."""
|
||
|
texts = ["foo", "bar", "baz"]
|
||
|
docsearch = AwaDB.from_texts(
|
||
|
table_name="test_awadb", texts=texts, embedding=FakeEmbeddings()
|
||
|
)
|
||
|
output = docsearch.similarity_search("foo", k=1)
|
||
|
assert output == [Document(page_content="foo")]
|
||
|
|
||
|
|
||
|
def test_awadb_with_metadatas() -> None:
|
||
|
"""Test end to end construction and search."""
|
||
|
texts = ["foo", "bar", "baz"]
|
||
|
metadatas = [{"page": i} for i in range(len(texts))]
|
||
|
docsearch = AwaDB.from_texts(
|
||
|
table_name="test_awadb",
|
||
|
texts=texts,
|
||
|
embedding=FakeEmbeddings(),
|
||
|
metadatas=metadatas,
|
||
|
)
|
||
|
output = docsearch.similarity_search("foo", k=1)
|
||
|
assert output == [Document(page_content="foo", metadata={"page": 0})]
|
||
|
|
||
|
|
||
|
def test_awadb_with_metadatas_with_scores() -> None:
|
||
|
"""Test end to end construction and scored search."""
|
||
|
texts = ["foo", "bar", "baz"]
|
||
|
metadatas = [{"page": str(i)} for i in range(len(texts))]
|
||
|
docsearch = AwaDB.from_texts(
|
||
|
table_name="test_awadb",
|
||
|
texts=texts,
|
||
|
embedding=FakeEmbeddings(),
|
||
|
metadatas=metadatas,
|
||
|
)
|
||
|
output = docsearch.similarity_search_with_score("foo", k=1)
|
||
|
assert output == [(Document(page_content="foo", metadata={"page": "0"}), 0.0)]
|
||
|
|
||
|
|
||
|
def test_awadb_add_texts() -> None:
|
||
|
"""Test end to end adding of texts."""
|
||
|
# Create initial doc store.
|
||
|
texts = ["foo", "bar", "baz"]
|
||
|
docsearch = AwaDB.from_texts(
|
||
|
table_name="test_awadb", texts=texts, embedding=FakeEmbeddings()
|
||
|
)
|
||
|
# Test adding a similar document as before.
|
||
|
docsearch.add_texts(["foo"])
|
||
|
output = docsearch.similarity_search("foo", k=2)
|
||
|
assert output == [Document(page_content="foo"), Document(page_content="foo")]
|