feat(vdb): add HNSW vector index for TiDB vector store with TiFlash #514
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run VDB Tests | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- api/core/rag/datasource/** | |
- docker/** | |
- .github/workflows/vdb-tests.yml | |
- api/poetry.lock | |
- api/pyproject.toml | |
concurrency: | |
group: vdb-tests-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: VDB Tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Poetry and Python ${{ matrix.python-version }} | |
uses: ./.github/actions/setup-poetry | |
with: | |
python-version: ${{ matrix.python-version }} | |
poetry-lockfile: api/poetry.lock | |
- name: Check Poetry lockfile | |
run: | | |
poetry check -C api --lock | |
poetry show -C api | |
- name: Install dependencies | |
run: poetry install -C api --with dev | |
- name: Set up dotenvs | |
run: | | |
cp docker/.env.example docker/.env | |
cp docker/middleware.env.example docker/middleware.env | |
- name: Expose Service Ports | |
run: sh .github/workflows/expose_service_ports.sh | |
- name: Set up Vector Store (TiDB) | |
uses: hoverkraft-tech/[email protected] | |
with: | |
compose-file: docker/tidb/docker-compose.yaml | |
services: | | |
tidb | |
tiflash | |
- name: Set up Vector Stores (Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase) | |
uses: hoverkraft-tech/[email protected] | |
with: | |
compose-file: | | |
docker/docker-compose.yaml | |
services: | | |
weaviate | |
qdrant | |
couchbase-server | |
etcd | |
minio | |
milvus-standalone | |
pgvecto-rs | |
pgvector | |
chroma | |
elasticsearch | |
- name: Check TiDB Ready | |
run: poetry run -C api python api/tests/integration_tests/vdb/tidb_vector/check_tiflash_ready.py | |
- name: Test Vector Stores | |
run: poetry run -C api bash dev/pytest/pytest_vdb.sh |