Apache-2.0 | 开源免费

JinWo VecDB

开源、跨平台、嵌入式向量数据库,专为移动端和嵌入式设备设计。支持 IVF/HNSW 索引、SIMD 加速,兼容 15+ 编程语言

Gitee 下载 GitHub 下载
5
主流平台支持
15+
编程语言绑定
0
外部依赖
v1.0
正式发布

核心特性

高性能、易集成、零配置的向量数据库解决方案

🔥

纯 C 实现

C99 标准编写,无外部依赖,易于集成到任何项目

🚀

跨平台支持

Android, iOS, macOS, Windows, Linux 五大主流平台

🎯

高性能索引

支持 IVF 和 HNSW 索引算法,满足不同场景需求

SIMD 加速

自动检测并使用 SSE/AVX/NEON 指令集,极致性能

📦

零配置

开箱即用,无需复杂配置,快速部署

📊

向量量化

支持 PQ (Product Quantization) 和 SQ (Scalar Quantization)

📱

移动优化

针对移动设备和嵌入式系统进行了内存和性能优化

🧪

完善测试

包含全面的单元测试、并发测试和性能测试

平台支持

覆盖所有主流操作系统和设备类型

🐧

Linux

已支持
💻

macOS

已支持
🪟

Windows

已支持
📱

iOS

已支持
🤖

Android

已支持

多语言支持

提供 15+ 编程语言的 SDK 和示例代码

C C# C++ Java Swift Kotlin Python Go Node.js PHP Rust TypeScript Dart R Julia

性能基准

128 维向量在标准桌面环境下的测试结果

~10M
点积 ops/sec
~8M
L2距离 ops/sec
~6M
余弦相似度 ops/sec
~5M
归一化 ops/sec

快速开始

简单的 API,几行代码即可开始使用

#include <jw_vecdb.h>

int main() {
    // 初始化
    jw_init();
    
    // 创建/打开数据库
    jw_vecdb_t *db;
    jw_vecdb_open("my_vectors.jwv", JW_VECDB_CREATE, &db);
    
    // 创建 Collection
    jw_collection_t *coll;
    jw_vecdb_create_collection(db, "documents", 1536, &coll);
    
    // 插入向量
    float vec[1536] = { /* embedding data */ };
    jw_vid_t vid;
    jw_collection_insert(coll, vec, &vid);
    
    // 搜索相似向量
    jw_search_result_t results[10];
    jw_size_t count = jw_collection_search(coll, query_vec, 10, results);
    
    // 关闭数据库
    jw_vecdb_close(db);
    jw_cleanup();
    
    return 0;
}
pip install jinwo-vecdb
import jinwo_vecdb

# 版本信息
print(jinwo_vecdb.__version__)

# 打开/创建数据库
db = jinwo_vecdb.open("my_vectors.jwv")

# 创建 Collection (384维向量)
db.create_collection("documents", 384)

# 插入向量
vec = [float(i) for i in range(384)]
db.insert("documents", vec)

# 批量插入
vectors = [[float(j) for j in range(384)] for _ in range(50)]
vids = db.insert_batch("documents", vectors)

# 搜索 Top-10 相似向量
results = db.search("documents", query_vec, k=10)
for vid, distance in results[:5]:
    print(f"vid={vid}, distance={distance:.6f}")

# 删除向量
db.delete("documents", vid)

# 关闭数据库
db.close()
npm install jinwo-vecdb
import { open } from 'jinwo-vecdb';

// 打开/创建数据库
const db = await open('/tmp/test_db');
console.log('版本:', db.version());

// 创建 Collection (128维向量)
const coll = db.createCollection('test', 128);

// 插入向量
const vec = new Array(128).fill(0.5);
const vid = coll.insert(vec);

// 构建索引
coll.buildIndex();

// 搜索 Top-3 相似向量
const results = db.search('test', vec, 3);
for (const r of results) {
    console.log(`id=${r.id}, score=${r.score}`);
}

// 删除向量
coll.delete(vid);

// 关闭数据库
db.close();

立即开始使用

访问 Gitee 或 GitHub 获取完整源码和文档

Gitee Star GitHub Star