mirror of
https://github.com/Unstructured-IO/unstructured.git
synced 2025-07-04 15:42:16 +00:00
54 lines
1.8 KiB
Python
54 lines
1.8 KiB
Python
![]() |
import click
|
||
|
from astrapy.db import AstraDB
|
||
|
|
||
|
|
||
|
@click.command()
|
||
|
@click.option("--token", type=str)
|
||
|
@click.option("--api-endpoint", type=str)
|
||
|
@click.option("--collection-name", type=str, default="collection_test")
|
||
|
@click.option("--embedding-dimension", type=int, default=384)
|
||
|
def run_check(token, api_endpoint, collection_name, embedding_dimension):
|
||
|
print(f"Checking contents of Astra DB collection: {collection_name}")
|
||
|
|
||
|
# Initialize our vector db
|
||
|
astra_db = AstraDB(token=token, api_endpoint=api_endpoint)
|
||
|
astra_db_collection = astra_db.collection(collection_name)
|
||
|
|
||
|
# Tally up the embeddings
|
||
|
docs_count = astra_db_collection.count_documents()
|
||
|
number_of_embeddings = docs_count["status"]["count"]
|
||
|
|
||
|
# Print the results
|
||
|
expected_embeddings = 3
|
||
|
print(
|
||
|
f"# of embeddings in collection vs expected: {number_of_embeddings}/{expected_embeddings}"
|
||
|
)
|
||
|
|
||
|
# Check that the assertion is true
|
||
|
assert number_of_embeddings == expected_embeddings, (
|
||
|
f"Number of rows in generated table ({number_of_embeddings})"
|
||
|
f"doesn't match expected value: {expected_embeddings}"
|
||
|
)
|
||
|
|
||
|
# Grab an embedding from the collection and search against itself
|
||
|
# Should get the same document back as the most similar
|
||
|
find_one = astra_db_collection.find_one()
|
||
|
random_vector = find_one["data"]["document"]["$vector"]
|
||
|
random_text = find_one["data"]["document"]["content"]
|
||
|
|
||
|
# Perform a similarity search
|
||
|
find_result = astra_db_collection.vector_find(random_vector, limit=1)
|
||
|
|
||
|
# Check that we retrieved the coded cleats copy data
|
||
|
assert find_result[0]["content"] == random_text
|
||
|
print("Vector search complete.")
|
||
|
|
||
|
# Clean up the collection
|
||
|
astra_db.delete_collection(collection_name)
|
||
|
|
||
|
print("Table deletion complete")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
run_check()
|