Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
bowenliang123 committed Dec 24, 2024
1 parent c91e8b1 commit 70dbb7e
Show file tree
Hide file tree
Showing 9 changed files with 212 additions and 17 deletions.
1 change: 1 addition & 0 deletions .github/workflows/api-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
test:
name: API Tests
runs-on: ubuntu-latest
if: false
strategy:
matrix:
python-version:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/expose_service_ports.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ yq eval '.services["pgvecto-rs"].ports += ["5431:5432"]' -i docker/docker-compos
yq eval '.services["elasticsearch"].ports += ["9200:9200"]' -i docker/docker-compose.yaml
yq eval '.services.couchbase-server.ports += ["8091-8096:8091-8096"]' -i docker/docker-compose.yaml
yq eval '.services.couchbase-server.ports += ["11210:11210"]' -i docker/docker-compose.yaml
yq eval '.services.tidb.ports += ["4000:4000"]' -i docker/docker-compose.yaml
#yq eval '.services.tidb.ports += ["4000:4000"]' -i docker/tidb/docker-compose.yaml
#yq eval '.services.tidb.ports += ["2379:2379"]' -i docker/tidb/docker-compose.yaml
#yq eval '.services.tidb.ports += ["2380:2380"]' -i docker/tidb/docker-compose.yaml
#yq eval '.services.tidb.ports += ["20160:20160"]' -i docker/tidb/docker-compose.yaml
#yq eval '.services.tidb.ports += ["20180:20180"]' -i docker/tidb/docker-compose.yaml

echo "Ports exposed for sandbox, weaviate, tidb, qdrant, chroma, milvus, pgvector, pgvecto-rs, elasticsearch, couchbase"
22 changes: 8 additions & 14 deletions .github/workflows/vdb-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,17 @@ jobs:
- name: Expose Service Ports
run: sh .github/workflows/expose_service_ports.sh

- name: Set up Vector Stores (TiDB, Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase)
- name: Set up Vector Stores (TiDB
uses: hoverkraft-tech/[email protected]
with:
compose-file: |
docker/docker-compose.yaml
docker/tidb/docker-compose.yaml
services: |
weaviate
qdrant
couchbase-server
etcd
minio
milvus-standalone
pgvecto-rs
pgvector
chroma
elasticsearch
tidb
tiflash
- name: Sleep for half minutes
run: sleep 30s
shell: bash

- name: Test Vector Stores
run: poetry run -C api bash dev/pytest/pytest_vdb.sh
run: poetry run -C api pytest api/tests/integration_tests/vdb/tidb_vector
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ docker/volumes/db/data/*
docker/volumes/redis/data/*
docker/volumes/weaviate/*
docker/volumes/qdrant/*
docker/tidb/data/*
docker/tidb/logs/*
docker/volumes/etcd/*
docker/volumes/minio/*
docker/volumes/milvus/*
Expand Down
5 changes: 3 additions & 2 deletions api/core/rag/datasource/vdb/tidb_vector/tidb_vector.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,11 @@ def _create_collection(self, dimension: int):
text TEXT NOT NULL,
meta JSON NOT NULL,
doc_id VARCHAR(64) AS (JSON_UNQUOTE(JSON_EXTRACT(meta, '$.doc_id'))) STORED,
KEY (doc_id),
vector VECTOR<FLOAT>({dimension}) NOT NULL COMMENT "hnsw(distance={self._distance_func})",
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY (doc_id),
VECTOR INDEX idx_vector ((VEC_COSINE_DISTANCE(vector)))
);
""")
session.execute(create_statement)
Expand Down
3 changes: 3 additions & 0 deletions docker/tidb/config/pd-nightly-tiflash.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[replication]
enable-placement-rules = true
max-replicas = 1
45 changes: 45 additions & 0 deletions docker/tidb/config/tiflash-learner-nightly.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
log-file = "/logs/tiflash_tikv.log"

[readpool]

[readpool.coprocessor]

[readpool.storage]

[server]
engine-addr = "tiflash:4030"
addr = "0.0.0.0:20280"
advertise-addr = "tiflash:20280"
status-addr = "tiflash:20292"

[storage]
data-dir = "/data/flash"

[pd]

[metric]

[raftstore]
capacity = "10GB"

[coprocessor]

[rocksdb]
wal-dir = ""

[rocksdb.defaultcf]

[rocksdb.lockcf]

[rocksdb.writecf]

[raftdb]

[raftdb.defaultcf]

[security]
ca-path = ""
cert-path = ""
key-path = ""

[import]
79 changes: 79 additions & 0 deletions docker/tidb/config/tiflash-nightly.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
default_profile = "default"
display_name = "TiFlash"
listen_host = "0.0.0.0"
mark_cache_size = 5368709120
tmp_path = "/data/tmp"
path = "/data"
tcp_port = 9110
http_port = 8223

[flash]
tidb_status_addr = "tidb:10080"
service_addr = "tiflash:4030"

[flash.flash_cluster]
cluster_manager_path = "/tiflash/flash_cluster_manager"
log = "/logs/tiflash_cluster_manager.log"
master_ttl = 60
refresh_interval = 20
update_rule_interval = 5

[flash.proxy]
config = "/tiflash-learner.toml"

[status]
metrics_port = 8234

[logger]
errorlog = "/logs/tiflash_error.log"
log = "/logs/tiflash.log"
count = 20
level = "debug"
size = "1000M"

[application]
runAsDaemon = true

[raft]
pd_addr = "pd0:2379"
storage_engine = "tmt"

[quotas]

[quotas.default]

[quotas.default.interval]
duration = 3600
errors = 0
execution_time = 0
queries = 0
read_rows = 0
result_rows = 0

[users]

[users.default]
password = ""
profile = "default"
quota = "default"

[users.default.networks]
ip = "::/0"

[users.readonly]
password = ""
profile = "readonly"
quota = "default"

[users.readonly.networks]
ip = "::/0"

[profiles]

[profiles.default]
load_balancing = "random"
max_memory_usage = 10000000000
# use_uncompressed_cache = 0

[profiles.readonly]
readonly = 1
66 changes: 66 additions & 0 deletions docker/tidb/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
version: '2.1'

services:
pd0:
image: pingcap/pd:v8.5.0
ports:
- "2379"
volumes:
- ./config/pd-nightly-tiflash.toml:/pd.toml:ro
- ./data:/data
- ./logs:/logs
command:
- --name=pd0
- --client-urls=http://0.0.0.0:2379
- --peer-urls=http://0.0.0.0:2380
- --advertise-client-urls=http://pd0:2379
- --advertise-peer-urls=http://pd0:2380
- --initial-cluster=pd0=http://pd0:2380
- --data-dir=/data/pd
- --config=/pd.toml
- --log-file=/logs/pd.log
restart: on-failure
tikv:
image: pingcap/tikv:v8.5.0
volumes:
- ./data:/data
- ./logs:/logs
command:
- --addr=0.0.0.0:20160
- --advertise-addr=tikv:20160
- --status-addr=tikv:20180
- --data-dir=/data/tikv
- --pd=pd0:2379
- --log-file=/logs/tikv.log
depends_on:
- "pd0"
restart: on-failure
tidb:
image: pingcap/tidb:v8.5.0
ports:
- "4000:4000"
- "10080:10080"
volumes:
- ./logs:/logs
command:
- --status=10080
- --advertise-address=tidb
- --store=tikv
- --path=pd0:2379
- --log-file=/logs/tidb.log
depends_on:
- "tikv"
restart: on-failure
tiflash:
image: pingcap/tiflash:v8.5.0
volumes:
- ./config/tiflash-nightly.toml:/tiflash.toml:ro
- ./config/tiflash-learner-nightly.toml:/tiflash-learner.toml:ro
- ./data:/data
- ./logs:/logs
command:
- --config=/tiflash.toml
depends_on:
- "tikv"
- "tidb"
restart: on-failure

0 comments on commit 70dbb7e

Please sign in to comment.