Navigating the Aerospike Vector Search toolkit: A developer’s guide
Learn how to utilize Aerospike's powerful toolkit for vector similarity search, featuring examples, tools, and integrations with popular frameworks.
The Aerospike Vector Search (AVS) ecosystem is a powerful suite of examples, tools, and integrations that handle large-scale, high-performance vector similarity search use cases. From developer-friendly CLI utilities to robust Python client libraries and integrations with popular frameworks like LangChain, Aerospike provides a comprehensive toolkit for building intelligent applications.
This blog dives into the key components of the Aerospike Vector Search ecosystem, including the asvec
CLI tool, Python client, companion repository, and LangChain integration.
AVS companion repository
The AVS companion Github repository is a great starting point, a treasure trove of resources for developers new to AVS. It includes:
Sample AVS deployment scripts using Docker and Kubernetes for local and cloud environments
Sample applications that demonstrate how to build software products with AVS
Sample configuration files for AVS deployments
Key highlights
Hands-on learning: Practical examples that help users understand core concepts.
Use case coverage: Covers scenarios from basic vector search to semantic text and image search applications.
asvec
CLI tool
The asvec
CLI tool is a developer-friendly command-line interface that simplifies interaction with AVS deployments. It enables rapid prototyping and testing, making it easy to:
Manage indexes.
Search and observe vector data.
Observe AVS cluster state.
Manage users and RBAC roles.
Key highlights
Manage and observe: Control AVS using the
asvec
commands.Explore data: View and search data in AVS with the
asvec
query command.
Explore the avsec
tool
The asvec
tool is particularly useful for developers and data scientists looking to experiment with AVS before building it into applications. For a quick look at your AVS cluster state, try these commands.
asvec --host 127.0.0.1:10000 index ls
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Indexes │
├───┬───────────┬───────────┬───────┬────────────┬───────────────────┬──────────┬────────────────┬──────┬────────────┤
│ │ NAME │ NAMESPACE │ FIELD │ DIMENSIONS │ DISTANCE METRIC │ UNMERGED │ VECTOR RECORDS │ SIZE │ UNMERGED % │
├───┼───────────┼───────────┼───────┼────────────┼───────────────────┼──────────┼────────────────┼──────┼────────────┤
│ 1 │ secondidx │ test │ data │ 128 │ SQUARED_EUCLIDEAN │ 0 │ 0 │ 0 B │ 0% │
├───┼───────────┼───────────┼───────┼────────────┼───────────────────┼──────────┼────────────────┼──────┼────────────┤
│ 2 │ testidx │ test │ vec │ 3 │ SQUARED_EUCLIDEAN │ 0 │ 0 │ 0 B │ 0% │
╰───┴───────────┴───────────┴───────┴────────────┴───────────────────┴──────────┴────────────────┴──────┴────────────╯
asvec --seeds 127.0.0.1:10000 node ls
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Nodes │
├───┬─────────────────┬────────────────────────────┬─────────────────┬──────────────────────┬─────────┬────────────────────────────────────────┤
│ │ NODE │ ROLES │ ENDPOINT │ CLUSTER ID │ VERSION │ VISIBLE NODES │
├───┼─────────────────┼────────────────────────────┼─────────────────┼──────────────────────┼─────────┼────────────────────────────────────────┤
│ 1 │ 139637976803088 │ [INDEX_QUERY] │ 127.0.0.1:10000 │ 10889068689596922811 │ 1.0.0 │ { │
│ │ │ │ │ │ │ 139637976803089: [127.0.0.1:10001] │
│ │ │ │ │ │ │ 139637976803090: [127.0.0.1:10002] │
│ │ │ │ │ │ │ } │
├───┼─────────────────┼────────────────────────────┼─────────────────┤ ├─────────┼────────────────────────────────────────┤
│ 2 │ 139637976803089 │ [INDEX_QUERY INDEX_UPDATE] │ 127.0.0.1:10001 │ │ 1.0.0 │ { │
│ │ │ │ │ │ │ 139637976803088: [127.0.0.1:10000] │
│ │ │ │ │ │ │ 139637976803090: [127.0.0.1:10002] │
│ │ │ │ │ │ │ } │
├───┼─────────────────┼────────────────────────────┼─────────────────┤ ├─────────┼────────────────────────────────────────┤
│ 3 │ 139637976803090 │ [INDEX_QUERY INDEX_UPDATE] │ 127.0.0.1:10002 │ │ 1.0.0 │ { │
│ │ │ │ │ │ │ 139637976803088: [127.0.0.1:10000] │
│ │ │ │ │ │ │ 139637976803089: [127.0.0.1:10001] │
│ │ │ │ │ │ │ } │
╰───┴─────────────────┴────────────────────────────┴─────────────────┴──────────────────────┴─────────┴────────────────────────────────────────╯
Explore and install avsec
Python client
The AVS Python client is the backbone for applications using AVS, providing robust functionality for programmatic interaction with AVS. With the Python client, developers can:
Manage vector data with CRUD operations
Manage indexes
Perform vector similarity searches
Manage users and RBAC roles
Key highlights
Robust API: The Python client allows full programmatic usage of AVS.
Efficient and scalable: The Python client is how production-ready applications using AVS are built.
The Python client is ideal for building scalable, production-grade applications that require complete integration with and control over AVS.
Explore the Python client
LangChain integration
LangChain is a popular framework for building applications that leverage artificial intelligence (AI) and vector storage. This integration is perfect for developers building next-generation AI-powered applications, combining Aerospike’s performance with LangChain’s flexibility and ease of use.
The Aerospike LangChain Vector Store allows developers to:
Seamlessly store, retrieve, and search over vector embeddings in the AVS LangChain Vector Store
Perform similarity searches to support tasks like document retrieval for RAG, Q&A, and recommendation systems
Quickly and easily add AVS to your existing LangChain application
Key highlights
End-to-end integration: Connects Aerospike’s high-performance vector storage with LangChain’s robust tools for AI-based workflows.
Developer efficiency: Reduces boilerplate code for vector operations.
Scalable intelligence: Enables large-scale applications leveraging AI and ML.
Examples: Aerospike’s Langchain vector store integration has examples and templates to help you get started quickly.
Dive into the AVS ecosystem
The comprehensive AVS ecosystem of tools and integrations is available to better assist developers with building scalable, high-performance vector search applications.
Explore quick experimentation with the asvec
CLI, deep programmatic control with the Python client, or establish robust AI-powered workflows with LangChain. The AVS ecosystem is a one-stop shop for handling vector similarity search at scale.
To get started, explore the AVS LangChain Vector Store and AVS LangChain RAG template, and unlock the full potential of Aerospike Vector Search in your AI-driven applications.