We think the future of AI lies on the 3 foundations.
Our approach to all these problems is by making an unified framework that supports embedding generation, storage and language model APIs from one stack that runs natively on popular systems, an AI framework that is device/GPU vendor agnostic.
Edge is our open source effort.
Antarys Edge is a lightweight vector database designed specifically for small to medium-sized projects. Built on top of Usearch and RocksDB along with http.zig, this version of Antarys provides a robust framework for managing vector operations.
The following code snippet demonstrates how to perform a search operation using Usearch bindings in Zig:
pub fn search(
index: *usearch.Index,
query: []const f32,
options: SearchOptions,
id_map: *const IdMap,
allocator: std.mem.Allocator,
) SearchError![]SearchResult {
// Implementation details...
}
To initialize Antarys Edge with a simple collection, the following script can be utilized:
const db_path = ".test-antarysdb-basic";
var db = try AntarysDB.init(allocator, .{
.storage_path = db_path,
.enable_cache = true,
});
try db.createCollection("vectors", .{
.dimensions = 128,
.metric = .cosine,
});
Antarys Edge includes an internal ThreadPool API for enhanced concurrency and performance. An example of its implementation is as follows:
const ThreadPool = @import("threadpool.zig").ThreadPool;
var pool = try ThreadPool.init(allocator, .{ .num_workers = 4 });
This version is crafted for small teams working with the Antarys client API. Note that while Antarys Edge performs competitively in search functionalities, its indexing speed may lag behind leading solutions like Qdrant and Pinecone. The architecture utilizes an HTTP1.1 protocol, prioritizing compatibility and ease of use over maximum throughput.
Antarys Edge represents an accessible approach to integrating vector-based search and database functionalities within smaller projects and teams.
No comments yet.
Sign in to be the first to comment.