当前位置: 首页 > news >正文

零依赖本地调试:VectorDB Lite +VectorDB CLI 高效构建向量数据库全流程

随着大规模AI应用落地,向量数据库作为非结构化数据处理的核心基础设施,其开发调试效率直接影响模型迭代速度。对此,文章聚焦VectorDB Lite轻量级本地调试方案(更多信息:https://cloud.baidu.com/product/vdb.html?anchor=vdb-product-selection),结合Docker容器化与VectorDB CLI命令行工具,构建开箱即用的向量数据调试闭环。在当前行业追求敏捷开发的趋势下,通过本地化调试不仅降低测试成本,更能为高并发向量检索、多模态索引等场景提供快速验证能力,助力技术开发者们实现从原型到生产的无缝迁移。

调试方案第一步

需要使用Docker Compose启动VectorDB服务,但需要注意一点,VectorDB Lite 版目前仅支持 X86 机器启动,ARM 芯片暂时不支持。

启动方式 1
Docker Compose配置docker-compose.yml

services:vdb-service:image: mochow/vdb:2.1.5854  # 镜像名称和版本container_name: baidu-vdb-container  # 容器名称ports:- "5287:5287"  # 映射容器内的 5287 端口到主机environment:- port=5287  # 配置容器内使用的端口volumes:- ./data:/mnt/data  # 将本地 ./data 目录挂载到容器中的 /mnt/data- ./log:/mnt/log  # 将本地 ./log 目录挂载到容器中的 /mnt/logrestart: always  # 自动重启策略,确保容器在意外退出时重启

启动本地VectorDB服务

# 注意 Compose V2 才支持 docker compose 命令,如果是 V1 建议先升级。
docker compose up -d

启动方式 2
国内用户如果无法访问 docker 服务,可以直接下载,然后通过命令安装

curl http://public-vdb.bj.bcebos.com/vdb-standalone-2.1.tar.gz -o vdb-standalone-2.1.tar.gz

解压后启动本地 VectorDB 服务

sh vdb_service.sh start

在这里插入图片描述
启动后本地会有两个目录,data保存数据和log保存日志

ll
total 12
drwxr-xr-x 5 1000 1000 4096 Jan 10 10:57 data
-rw-r--r-- 1 root root  536 Jan 10 10:55 docker-compose.yml
drwxr-xr-x 2 1000 1000 4096 Jan 10 10:57 log

查看服务正常启动,服务端口为5287

docker ps | grep vectordb
709db1519963   mochow/vdb:2.1.5854                "/root/entrypoint.sh"    About a minute ago   Up About a minute         0.0.0.0:5287->5287/tcp, :::5287->5287/tcp                                              baidu-vdb-container

停止本地VectorDB服务

docker compose down

调试方案第二步

下载 VectorDB CLI

  1. 下载链接:linux.vectordb-cli-2.1.1.tar.gz
  2. 执行 tar -zxvf linux.vectordb-cli-2.1.1.tar.gz 解压工具压缩包

使用VectorDB CLI进行建表,即使用VectorDB CLI链接本地的VectorDB,root默认密码为mochow。

./vectordb-cli -u root -e http://127.0.0.1:5287
api key for 'root' to 'http://127.0.0.1:5287': 
2024/09/14 11:06:53 Successfully initialized mochow client.__     __                _                    ____    ____  \ \   / /   ___    ___  | |_    ___    _ __  |  _ \  | __ ) \ \ / /   / _ \  / __| | __|  / _ \  | '__| | | | | |  _ \ \ V /   |  __/ | (__  | |_  | (_) | | |    | |_| | | |_) |\_/     \___|  \___|  \__|  \___/  |_|    |____/  |____/type '-h' or 'help' to see usage
vectordb-cli > 
vectordb-cli >

建库操作如下:

vectordb-cli > create database -d testdb
create database 'testdb' success
vectordb-cli > list databases
+--------------+
| databases    |
+==============+
| testdb       |
+--------------+

建表操作如下:

vectordb-cli > create tableinput create table args, end with ';'
... {
...      "database": "testdb",
...      "table": "book",
...      "description": "basic test",
...      "replication": 1,
...      "partition": {
...          "partitionType": "HASH",
...          "partitionNum": 3
...      },
...      "enableDynamicField": false,
...      "schema": {
...          "fields": [
...              {
...                  "fieldName": "id",
...                  "fieldType": "STRING",
...                  "primaryKey": true,
...                  "partitionKey": true,
...                  "autoIncrement": false,
...                  "notNull": true
...              },
...              {
...                  "fieldName": "bookName",
...                  "fieldType": "STRING",
...                  "notNull": true
...              },
...              {
...                  "fieldName": "author",
...                  "fieldType": "STRING"
...              },
...              {
...                  "fieldName": "page",
...                  "fieldType": "UINT32"
...              },
...              {
...                  "fieldName": "vector",
...                  "fieldType": "FLOAT_VECTOR",
...                  "notNull": true,
...                  "dimension": 3
...              }
...          ],
...          "indexes": [
...              {
...                  "indexName": "book_name_idx",
...                  "field": "bookName",
...                  "indexType": "SECONDARY"
...              },
...              {
...                  "indexName": "vector_idx",
...                  "field": "vector",
...                  "indexType": "HNSW",
...                  "metricType": "L2",
...                  "params": {
...                      "M": 32,
...                      "efConstruction": 32
...                  }
...              }
...          ]
...      }
...  };
create table 'book' successvectordb-cli > list tables --db testdb
+-----------+
| tables    |
+===========+
| book      |
+-----------+

更详细的命令可以查看:https://cloud.baidu.com/doc/VDB/s/Rm1zwheb6

通过VectorDB CLI的声明式建表能力与VectorDB Lite版服务的轻量级部署,技术开发者们可在本地高效构建向量数据管理全链路。以上文章演示的Docker Compose快速启动、跨平台CLI交互及表结构设计实践,直击向量数据库开发中的环境隔离与快速验证痛点。随着边缘计算与轻量化AI部署需求激增,此类本地调试方案将成为算法工程师的标准工具链,进一步释放向量数据库在实时推荐、语义搜索等场景的落地潜力。
更多相关文章可浏览:VectorDBⅹMCP:轻松打造向量数据库专属助手

http://www.xdnf.cn/news/893071.html

相关文章:

  • ceph pool 修改故障域
  • jdk-8u281-linux-x64.rpm,备用网盘下载,懒得注册官方来看看
  • 临时抱佛脚
  • 安科瑞防逆流方案落地内蒙古中高绿能光伏项目,筑牢北疆绿电安全防线
  • 基于51单片机的超声波智能避障小车仿真
  • AI开启光伏新时代:精准计算每小时发电量​
  • 单精度浮点数值 和 双精度浮点数值
  • 传统业务对接AI-AI编程框架-Rasa的业务应用实战(2)--选定Python环境 安装rasa并初始化工程
  • 高压单端探头设计中的器材应如何选型
  • 嵌入模型、问答模型以及其他常见模型类型的详细解析
  • 云服务器自带的防御可靠吗
  • this.$set() 的用法详解(Vue响应式系统相关)
  • Perforce ALM产品简介:一站式需求与测试管理平台(已通过SO 26262认证)
  • PaddleOCR(3):PaddleOCR命令讲解
  • OpenBayes 一周速览|TransPixeler 实现透明化文本到视频生成;统一图像定制框架 DreamO 上线,一键处理多种图像生成任务
  • Win10、Win11系统,使用谷歌浏览器文件流下载,C盘剩余容量小于4GB时,下载失败问题
  • 记一个判决书查询API接口的开发文档
  • 深入解析C++五大常用设计模式:原理、实现与应用场景
  • python变量
  • 技术文章大纲:如何利用DeepSeek提升工作效率
  • x86 汇编中的【条件跳转指令】:从基础到扩展的全面解析(查表版)
  • Dify 本地部署详细指南(Windows 11 系统)
  • 【Linux】可重入函数 volatile SIGHLD信号
  • 线程的基础知识
  • 深入理解 Spring IOC:从概念到实践
  • 企业级AI迈入黄金时代,企业该如何向AI“蝶变”?
  • 08_10小结
  • Tensorborad
  • Android Test2 获取系统android id
  • 8086寻址解剖图:7种武器解锁x86内存访问的基因密码