Skip to content

Commit 3381152

Browse files
committed
add hnsw-rabitq
1 parent e17c4a8 commit 3381152

603 files changed

Lines changed: 15731 additions & 2239 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Benchmarking
2+
description: Add, update, or fix benchmark cases for zvec
3+
title: "[Benchmark]: "
4+
labels: ["benchmark"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this for benchmark-related work: new test cases, CI integration, or performance regression tracking.
10+
11+
- type: input
12+
id: benchmark_type
13+
attributes:
14+
label: Benchmark Type
15+
description: e.g., filtered search, batch insert, recall@k, ARM64 vs x86
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: goal
21+
attributes:
22+
label: Goal
23+
description: What performance aspect are you measuring or improving?
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: methodology
29+
attributes:
30+
label: Methodology
31+
description: Dataset, query size, hardware, metrics (latency, throughput, memory)
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: baseline
37+
attributes:
38+
label: Baseline (if applicable)
39+
description: Current performance numbers or competing systems for comparison.
40+
validations:
41+
required: false
42+
43+
- type: textarea
44+
id: ci_integration
45+
attributes:
46+
label: CI Integration Plan
47+
description: Should this run in CI? How often?
48+
validations:
49+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
blank_issues_enabled: false
22
contact_links:
33
- name: Documentation
4-
url: https://github.com/your-org/zvec#readme
5-
about: Check the README, build guide, and API docs first.
4+
url: https://zvec.org/en/
5+
about: Check the quickstart, build guide, and API docs first.
66

77
- name: Python API Examples
8-
url: https://github.com/your-org/zvec/tree/main/examples
8+
url: https://zvec.org/en/docs/quickstart/
99
about: See working usage examples.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Enhancement
2+
description: Improve an existing feature or component
3+
title: "[Enhance]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
This template is for improving existing functionality (e.g., performance, usability, robustness).
10+
11+
- type: input
12+
id: component
13+
attributes:
14+
label: Affected Component
15+
description: e.g., HNSW index, buffer manager, Python API
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: current
21+
attributes:
22+
label: Current Behavior
23+
description: What is the current state and its limitations?
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: desired
29+
attributes:
30+
label: Desired Improvement
31+
description: What should be improved and how?
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: impact
37+
attributes:
38+
label: Impact
39+
description: How will this benefit users? (e.g., faster queries, lower memory, easier integration)
40+
validations:
41+
required: true

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Feature Request
22
description: Suggest a new feature or improvement (e.g., better memory control, new query option)
33
title: "[Feature]: "
4-
labels: ["enhancement"]
4+
labels: ["feature"]
55
body:
66
- type: markdown
77
attributes:
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Ecosystem Integration
2+
description: Integrate zvec with external frameworks (e.g., LangChain, LlamaIndex)
3+
title: "[Integration]: "
4+
labels: ["integration"]
5+
body:
6+
- type: input
7+
id: framework
8+
attributes:
9+
label: Target Framework
10+
description: e.g., LangChain, LlamaIndex, Haystack
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: motivation
16+
attributes:
17+
label: Motivation
18+
description: Why integrate with this framework? Who benefits?
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: interface
24+
attributes:
25+
label: Required Interface
26+
description: What adapter or interface must be implemented? (e.g., VectorStore base class)
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: reference
32+
attributes:
33+
label: Reference Implementations
34+
description: Links to similar integrations in other vector DBs.
35+
validations:
36+
required: false
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Profiling / Investigation
2+
description: Profile performance, compatibility, or behavior in a specific scenario
3+
title: "[Profile]: "
4+
labels: ["profile"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this for tasks like performance profiling, architecture compatibility checks, or feasibility studies.
10+
11+
- type: input
12+
id: scenario
13+
attributes:
14+
label: Target Scenario
15+
description: e.g., ARM64 deployment, high-concurrency load, large dataset ingestion
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: objective
21+
attributes:
22+
label: Objective
23+
description: What do you want to learn or validate?
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: methodology
29+
attributes:
30+
label: Proposed Methodology
31+
description: How will you conduct the investigation? (tools, metrics, test data)
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: expected_outcome
37+
attributes:
38+
label: Expected Outcome
39+
description: What deliverables are expected? (e.g., report, optimization PR, benchmark results)
40+
validations:
41+
required: true

.github/workflows/linux_x64_docker_ci.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ name: Zvec LinuxX64 CI
33
on:
44
push:
55
branches: [ "main" ]
6+
paths-ignore:
7+
- '**.md'
8+
merge_group:
69
pull_request:
710
branches: [ "main" ]
11+
paths-ignore:
12+
- '**.md'
813
workflow_dispatch:
914

1015
concurrency:
@@ -59,8 +64,9 @@ jobs:
5964
git config --global --add safe.directory "$CLEAN_WORKSPACE"
6065
git clone --recursive "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" .
6166
62-
if [ -n "${{ github.event.pull_request.head.sha }}" ]; then
63-
git checkout "${{ github.event.pull_request.head.sha }}"
67+
if [ -n "${{ github.event.number }}" ]; then
68+
git fetch origin "pull/${{ github.event.number }}/head"
69+
git checkout FETCH_HEAD
6470
else
6571
git checkout "${{ github.sha }}"
6672
fi
@@ -115,7 +121,8 @@ jobs:
115121
116122
CMAKE_GENERATOR="Unix Makefiles" \
117123
CMAKE_BUILD_PARALLEL_LEVEL="$NPROC" \
118-
pip install -v .
124+
pip install -v . \
125+
--config-settings='cmake.define.BUILD_TOOLS="ON"'
119126
shell: bash
120127

121128
- name: Run Python Tests with Coverage

.github/workflows/mac_arm64_ci.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ name: Zvec MacArm64 CI
33
on:
44
push:
55
branches: [ "main" ]
6+
paths-ignore:
7+
- '**.md'
8+
merge_group:
69
pull_request:
710
branches: [ "main" ]
11+
paths-ignore:
12+
- '**.md'
813
workflow_dispatch:
914

1015
concurrency:
@@ -62,8 +67,9 @@ jobs:
6267
git config --global --add safe.directory "$CLEAN_WORKSPACE"
6368
git clone --recursive "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" .
6469
65-
if [ -n "${{ github.event.pull_request.head.sha }}" ]; then
66-
git checkout "${{ github.event.pull_request.head.sha }}"
70+
if [ -n "${{ github.event.number }}" ]; then
71+
git fetch origin "pull/${{ github.event.number }}/head"
72+
git checkout FETCH_HEAD
6773
else
6874
git checkout "${{ github.sha }}"
6975
fi
@@ -83,7 +89,8 @@ jobs:
8389
8490
CMAKE_GENERATOR="Unix Makefiles" \
8591
CMAKE_BUILD_PARALLEL_LEVEL="$NPROC" \
86-
pip install -v .
92+
pip install -v . \
93+
--config-settings='cmake.define.BUILD_TOOLS="ON"'
8794
shell: bash
8895

8996
- name: Run Python Tests with Coverage
@@ -96,4 +103,4 @@ jobs:
96103
run: |
97104
cd "$CLEAN_WORKSPACE/build"
98105
make unittest -j 16
99-
shell: bash
106+
shell: bash

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.*
22
*~
33
bazel-*
4-
/*build*
4+
build*
55
bin/*
66
lib/*
77
var/*

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ message(STATUS "PROJECT_ROOT_DIR = ${PROJECT_ROOT_DIR}")
1919

2020
include(${PROJECT_ROOT_DIR}/cmake/bazel.cmake)
2121

22+
include_directories(${PROJECT_ROOT_DIR}/src/include)
2223
include_directories(${PROJECT_ROOT_DIR}/src)
2324

2425
option(BUILD_PYTHON_BINDINGS "Build Python bindings using pybind11" OFF)
@@ -33,7 +34,7 @@ cc_directories(tests)
3334

3435
if(BUILD_TOOLS)
3536
cc_directories(tools)
36-
endif ()
37+
endif()
3738

3839
git_version(GIT_SRCS_VER ${PROJECT_ROOT_DIR})
3940
set(CPACK_PACKAGE_VERSION ${GIT_SRCS_VER})

0 commit comments

Comments
 (0)