萧海芷 发表于 2025-9-26 11:29:08

HuggingFace部署Qdrant在Roo Code使用

最近 RooCode 更新了代码库索引的 codebase 功能,这个功能通过将整个代码库向量化,实现了更高精度的上下文理解和代码问答。不过需要qdrant来作为向量数据库,qdrant通过本地docker部署是很方便的, 既然有免费的云端服务,那不利用起来就太可惜了!
一、登录HF


[*]
[*]打开 Hugging Face 官网:https://huggingface.co/

[*]
[*]如果有账户,直接登录。如果没有,花一分钟注册一个。

二、在HF账号的Space页面下创建新的docker容器空间

登录后,我们开始创建用于托管 Qdrant 的容器空间。

[*]
[*]点击页面右上角的头像,在下拉菜单中选择 "New Space"。




[*]
[*]在创建页面,你需要填写以下信息:


[*]Owner:选择你的用户名。
[*]Space name:给你的项目起一个名字,比如 my-qdrant-db 或者 RooCode-Qdrant。这个名字会成为你服务URL的一部分。
[*]License:选择一个开源协议,例如 mit 或 apache-2.0。
[*]Select the Space SDK:这是最关键的一步! 请务必选择 Docker。
[*]Hardware:选择默认的 CPU basic 即可。它提供的 16GB RAM 对于 Qdrant 来说绰绰有余,而且是完全免费的。
[*]Visibility:保持 Public。

[*]
[*]点击 "Create Space" 按钮。HF 会为你初始化一个 Git 仓库,并引导你进入下一步。


三、配置docker文件

创建好 Space 后,我们需要告诉 HF 如何运行我们的 Qdrant 服务。这需要通过两个核心文件来完成:Dockerfile 和 README.md。
你可以通过 git clone 到本地修改后 git push 上去,但更简单的方式是直接在网页上操作。

[*]进入你的 Space 页面,点击 "Files and versions" 标签页。
[*]点击 "Add file" -> "Create a new file"。
1. 创建 Dockerfile

这个文件定义了如何构建我们的 Docker 镜像。

[*]文件名:Dockerfile (没有后缀)
[*]文件内容:



文件内容:
# 1. 使用官方 Qdrant 镜像作为基础
FROM qdrant/qdrant:latest

# 2. 切换到 root 用户,以便在构建过程中拥有最高权限
USER root

# 3. 【关键改动】
#    - 创建 /qdrant/storage 和 /qdrant/snapshots 目录 (使用 -p 确保父目录存在)
#    - 将整个 /qdrant 目录(及其所有内容)的所有权递归地赋予用户 1000
#    - 这样,无论是 storage、snapshots 还是未来可能需要的其他子目录,qdrant 用户都有权操作。
RUN mkdir -p /qdrant/storage /qdrant/snapshots && \
    chown -R 1000:1000 /qdrant

# 4. 为了安全,将运行时的用户切换回非 root 的 qdrant 用户 (ID 1000)
USER 1000

# 容器启动时,将以拥有 /qdrant 目录完全权限的 qdrant 用户身份运行2. 创建或修改 README.md

这个文件除了展示介绍信息外,还有一个特殊作用:配置 Space 的元数据,比如应用端口。

[*]文件名:README.md
[*]文件内容:在文件最上方添加以下 YAML 配置块:
title: Qdrantemoji:
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: HuggingFace部署Qdrant在Roo Code使用