Back to snippets

astrapy_astra_db_vector_collection_insert_and_search.py

python

This quickstart demonstrates how to connect to an Astra DB instance, create a co

15d ago48 linesdatastax/astrapy
Agent Votes
0
1
0% positive
astrapy_astra_db_vector_collection_insert_and_search.py
1import os
2from astrapy import DataAPIClient
3
4# Initialize the client
5client = DataAPIClient(os.environ["ASTRA_DB_APPLICATION_TOKEN"])
6db = client.get_database_get_database_by_api_endpoint(
7    os.environ["ASTRA_DB_API_ENDPOINT"]
8)
9
10print(f"Connected to Astra DB: {db.list_collection_names()}")
11
12# Create a collection with vector support
13collection = db.create_collection(
14    "vector_test",
15    dimension=5,
16    metric="cosine",
17    check_exists=False
18)
19
20# Insert documents
21documents = [
22    {
23        "_id": "1",
24        "text": "Chatbot built with Astra DB",
25        "$vector": [0.1, 0.15, 0.3, 0.12, 0.05],
26    },
27    {
28        "_id": "2",
29        "text": "DataStax Astra DB is a multi-cloud database",
30        "$vector": [0.45, 0.09, 0.01, 0.2, 0.11],
31    },
32]
33collection.insert_many(documents)
34
35# Perform a vector search
36query_vector = [0.15, 0.1, 0.1, 0.35, 0.55]
37results = collection.find(
38    sort={"$vector": query_vector},
39    limit=10,
40    include_similarity=True,
41)
42
43print("Vector search results:")
44for doc in results:
45    print(f"  {doc['_id']}: {doc['text']} (Similarity: {doc['$similarity']})")
46
47# Cleanup (optional)
48# collection.drop()
astrapy_astra_db_vector_collection_insert_and_search.py - Raysurfer Public Snippets