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


一、登录HF

    1. 打开 Hugging Face 官网:https://huggingface.co/
    1. 如果有账户,直接登录。如果没有,花一分钟注册一个。

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

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

    1. 点击页面右上角的头像,在下拉菜单中选择 "New Space"

image

image

    1. 在创建页面,你需要填写以下信息:
    • 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
    1. 点击 "Create Space" 按钮。HF 会为你初始化一个 Git 仓库,并引导你进入下一步。

image


三、配置docker文件

创建好 Space 后,我们需要告诉 HF 如何运行我们的 Qdrant 服务。这需要通过两个核心文件来完成:Dockerfile 和 README.md

你可以通过 git clone 到本地修改后 git push 上去,但更简单的方式是直接在网页上操作。

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

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

  • 文件名Dockerfile (没有后缀)
  • 文件内容

image

image

image

文件内容:


# 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: Qdrant
emoji: 🏆
colorFrom: purple
colorTo: purple
sdk: docker
app_port: 6333
pinned: false
short_description: Qdrant_On_HuggingFace

完成这两个文件的创建和提交后,Hugging Face 会自动开始构建你的服务。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐