ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Qdrant 怎么搭建本地开发环境?Rust 工具链与 protoc 依赖安装及首次编译运行

Qdrant 怎么搭建本地开发环境?Rust 工具链与 protoc 依赖安装及首次编译运行 Qdrant 怎么搭建本地开发环境Rust 工具链与 protoc 依赖安装及首次编译运行【免费下载链接】qdrantQdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/项目地址: https://gitcode.com/GitHub_Trending/qd/qdrant如果你需要修改 Qdrant 源码、验证自己的改动或想在没有 Docker 的环境下运行一个自己编译的向量数据库实例就要先搭好本地开发环境。Qdrant 的官方开发文档 docs/DEVELOPMENT.md 给出的本地开发路径适用于 Linux/Debian/MacOS安装 Rust 工具链与protocProtocol Buffers 编译器后用cargo build --release从源码编译出qdrant二进制并直接运行服务会监听在localhost:6333。本文按文档中的顺序走完这条路径。安装 Rust 工具链开发环境的第一项要求是 Rust。按 Rust 官方安装指引rustup 方式安装 Rust 后再补装rustfmt组件项目代码格式检查依赖它rustup component add rustfmt安装系统依赖在 Linux/Debian 环境下文档要求用apt-get安装一组构建依赖包括curl、unzip、gcc-multilib、clang、cmake、jq以及 aarch64 交叉工具链包sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get install -y curl unzip gcc-multilib \ clang cmake jq \ g-9-aarch64-linux-gnu \ gcc-9-aarch64-linux-gnu这条命令来自 docs/DEVELOPMENT.md 的原文文档没有为 x86_64 与 aarch64 分别给出不同的包列表照原文执行即可。macOS 下文档没有给出等价的包管理命令对应的替代方式是下文介绍 Nix 环境。安装 protocQdrant 的 gRPC 协议定义在 lib/api/src/grpc/proto 下cargo build时通过 tonic/prost 生成 Rust 类型而这一步依赖系统里存在protoc。文档要求安装 22.2 版本PROTOC_VERSION22.2 PKG_NAME$(uname -s | awk {print ($1 Darwin) ? osx-universal_binary : (($1 Linux) ? linux-x86_64 : )}) # 下载 protoc 发布包 curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v$PROTOC_VERSION/protoc-$PROTOC_VERSION-$PKG_NAME.zip unzip protoc-$PROTOC_VERSION-$PKG_NAME.zip -d $HOME/.local export PATH$PATH:$HOME/.local/bin # 删除下载的压缩包可选 rm protoc-$PROTOC_VERSION-$PKG_NAME.zip # 验证安装 protoc --version两个需要注意的点export PATH只对当前 shell 生效。如果关闭终端后重新打开protoc会找不到需要再次执行这一行或把它写入你的 shell 配置文件。文档给出的验证方式就是protoc --version能打印出版本号即说明protoc已可用后续cargo build会用到它。首次编译依赖就绪后在仓库根目录执行cargo build --release --bin qdrant这是 release 构建首次编译会拉取并编译整个 workspace 的依赖耗时较长。构建成功后二进制位于./target/release/qdrant。运行与验证在仓库根目录启动编译出的服务./target/release/qdrant启动后终端会打印一段欢迎横幅见 src/greeting.rs其中包含当前版本号、git 构建提交号以及一行Access web UI at http://localhost:6333/dashboard说明 HTTP 服务已在本机 6333 端口就绪。服务起来之后有两种由仓库文档直接给出的验证方式跑一遍基础 API 测试。仓库自带 tests/basic_api_test.sh脚本头部注释写明它检查 Qdrant 是否按预期响应 README 中列出的全部 APIQDRANT_HOST默认就是localhost:6333./tests/basic_api_test.sh手动发一个创建集合的请求。下面的 payload 取自上述脚本中的真实请求文档示例curl -X PUT http://localhost:6333/collections/test_collection \ -H Content-Type: application/json \ --fail -s \ --data-raw { vectors: { size: 4, distance: Dot }, optimizers_config: { default_segment_number: 2 }, replication_factor: 2 } | jq带--fail的 curl 在请求失败时会非零退出返回的 JSON 中result.status为created/exists说明集合 API 工作正常。验证完成后可用DELETE /collections/test_collection清理。可选替代路径Nix 环境如果你使用 Nix 包管理器Linux、macOS 或 WWSL2 均可可以跳过上面手动装依赖的步骤在仓库根目录运行nix-shell即可进入一个装好 Rust 构建依赖、Python 测试和./tools脚本所需工具的 shell。仓库的 shell.nix 里列明了这套环境包含的组件cmake、protobuf、ccache/sccache 缓存、uv 等。文档说明该 shell 同时覆盖 Rust 代码构建与 Python 测试两类依赖。编译通过后接着做什么本地环境跑通之后docs/DEVELOPMENT.md 还给出了两条与开发直接相关的后续操作跑集成测试安装 uv 后用uv --project tests run pytest tests/openapi或uv --project tests run pytest tests/consensus_tests分别跑 OpenAPI 与共识测试。同步 Web UIWeb UI 在独立仓库中可用./tools/sync-web-ui.sh把它同步到本仓库的static目录启动后就能通过http://localhost:6333/dashboard访问界面。另外提醒如果要给上游提 PRdocs/CONTRIBUTING.md 要求 PR 必须指向dev分支master只用于发版并在提交前执行cargo nightly fmt --all和cargo clippy --workspace --all-features保证格式与 lint 通过。【免费下载链接】qdrantQdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/项目地址: https://gitcode.com/GitHub_Trending/qd/qdrant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表