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


一、登录HF

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

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

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

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

    1. 在创建页面,你需要填写以下信息:
    • Owner:选择你的用户名。
    • Space name:给你的项目起一个名字,比如 my-qdrant-db 或者 RooCode-Qdrant。这个名字会成为你服务URL的一部分。
    • License:选择一个开源协议,例如 mitapache-2.0
    • Select the Space SDK这是最关键的一步! 请务必选择 Docker
    • Hardware:选择默认的 CPU basic 即可。它提供的 16GB RAM 对于 Qdrant 来说绰绰有余,而且是完全免费的。
    • Visibility:保持 Public
    1. 点击 "Create Space" 按钮。HF 会为你初始化一个 Git 仓库,并引导你进入下一步。


三、配置docker文件

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

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

  1. 进入你的 Space 页面,点击 "Files and versions" 标签页。
  2. 点击 "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: Qdrant
emoji:
colorFrom: purple
colorTo: purple
sdk: docker
app_port: 6333
pinned: false
short_description: Qdrant_On_HuggingFace

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


四、配置Qdrant的API-KEY

进入Space的Setting选项,往下滑动找到 Variables and secrets

填写入Qdrant-API-KEY的标准环境变量 QDRANT__SERVICE__API_KEY

Value就是密码,填写你自己的即可:


五、等待容器启动

提交文件后,你可以切换到 "Logs" 标签页查看实时构建日志。

你会看到系统依次经历 Building -> Running (Provisioning) 的状态。首次构建可能需要几分钟时间,请耐心等待。

当日志滚动停止,并且页面顶部的状态标志变为绿色的 "Running" 时,恭喜你,你的云端 Qdrant 数据库已经成功启动并在线运行了!


六、RooCode配置

打开 RooCode ,配置 Qdrant URL 和之前的 KEY 即可:

配置项 应填写的值 解释
Qdrant URL https://<你的HF用户名>-<你的Space名>.hf.space 这是 HF 分配给你的公开访问地址。注意是 https 且不需要加端口号
Qdrant API 密钥 留空 我们的部署方式未设置 API 密钥,因此数据库是公开访问的。

举个例子:如果我的 HF 用户名是 BigYellow12138,Space 名是 my-qdrant-db,那么我应该填写的 URL就是:https://bigyellow12138-my-qdrant-db.hf.space

配置完成后,保存设置。RooCode 现在应该可以成功连接到你的云端 Qdrant 数据库了。


七、Enjoy yourself

OK了!直接尝试 RooCodeCodebase 功能吧!

HuggingFace部署Qdrant在Roo Code使用的更多相关文章

  1. Hudson + SVN + Maven 持续集成实现自动化编译、打包、部署(over SSH 和 Deploy war/ear to a container 两种部署方式)

    下载hudson ,安装部署http://hudson-ci.org/ 将下载的hudson-3.3.3.war放到tomcat的webapps目录下并启动tomcat,输入地址访问 点击Instal ...

  2. 运维与自动化系列③自动化部署基础与shell脚本实现

    自动化部署基础与shell脚本实现 关于自动化的基础知识: 1.1:当前代码部署的实现方式: 运维纯手工scp到web服务器纯手工登录git服务器执行git pull或svn服务器执行svn upda ...

  3. Nginx + Uswgi + Django的部署

    Nginx + Uswgi + Django的部署 待更新 https://code.ziqiangxuetang.com/django/django-static-files.html https: ...

  4. 使用web3部署一个比较复杂的智能合约

    以太坊系列之二十一 使用web3部署比较复杂的智能合约 搭建私链上的雷电网络 以太坊系列之二十一 使用web3部署比较复杂的智能合约 1 雷电网络智能合约简单介绍 2 remix 无法部署使用了lib ...

  5. Kubernetes笔记(三):Gitlab+Jenkins Pipeline+Docker+k8s+Helm自动化部署实践(干货分享!)

    通过前面两篇文章,我们已经有了一个"嗷嗷待哺"的K8s集群环境,也对相关的概念与组件有了一个基本了解(前期对概念有个印象即可,因为只有实践了才能对其有深入理解,所谓"纸上 ...

  6. 在 Kubernetes 集群上部署 VSCode

    在 Kubernetes 集群上部署 VSCode Visual Studio Code Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行,适用于 Win ...

  7. EF架构~CodeFirst模型下的数据初始化

    回到目录 我为什么会来 在传统的大型系统设计中,数据库建模是个比开发更早的环节,先有数据库,然后是ORM模型,最后才是开发程序,而这种模型在EF出现后发生了转变,而且有可能将来会被code first ...

  8. StandardWrapper

    Tomcat中有四种类型的Servlet容器,分别是 Engine.Host.Context.Wrapper,每个Wrapper实例表示一个具体的Servlet定义,StandardWrapper就是 ...

  9. Tomcat的安全性

    Web应用程序的一些内容是受限的,只有授权的用户在提供了正确的用户名和密码后才能查看他们,servlet技术支持通过配置部署 描述器(web.xml)来对这些内容进行访问控制,那么web容器是怎么样支 ...

  10. 用集装箱装ASP。带有Docker和Azure Kubernetes服务的NET Core应用程序

    介绍 曾经有一个单一软件应用程序的时代,整个应用程序被打包并部署在作为单个进程运行的单个服务器上.我们都知道,在这个模型中,单点故障可能会导致整个应用程序崩溃. 微服务体系结构的发展是为了解决单片应用 ...

随机推荐

  1. 【经验】Word 2021|如何在Word里做出和Markdown中一样漂亮的引用样式(结尾附成品)

    文章目录 写在最前 方法以及参数 1 打开样式窗口 2 设置一些基本操作 3 打开格式窗口 4 修改样式 最后一步!保持间隔 成品的介绍(一些自卖自夸)+获取链接(不想看做法的话直接下载) 写在最前 ...

  2. 联邦学习图像分类实战:基于FATE与PyTorch的隐私保护机器学习系统构建指南

    引言 在数据孤岛与隐私保护需求并存的今天,联邦学习(Federated Learning)作为分布式机器学习范式,为医疗影像分析.金融风控.智能交通等领域提供了创新解决方案.本文将基于FATE框架与P ...

  3. LSTM 与 GRU

    弄完这块, 感觉对于 RNN (递归神经网络) 基本就接近尾声了. 相对于 之前的卷积神经网络, 我感觉 RNN 还是相对有意思一些, 也可能是在前面手推 CNN 公式时弄翻车的原因, 以及实在对图像 ...

  4. 从一个例子看tvm执行流程

    TVM整体流程(参考:TVM介绍) 机器学习模型在用TVM优化编译器框架进行变换时的步骤: 从Tensorflow/pytorch或ONNX等框架导入模型 import层是TVM从其他框架中导入模型的 ...

  5. System.Drawing.Point与System.Windows.Point的异同

    在C#中,System.Drawing.Point 和 System.Windows.Point 是两个不同的结构,分别属于不同的命名空间,用于表示二维平面中的点.尽管它们的功能相似,但在使用场景和实 ...

  6. 通过node.js安装yarn

    如果你已经装好了node,那么 1.添加repo curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /e ...

  7. WindowsPE文件格式入门11.资源表

    https://www.bpsend.net/thread-411-1-1.html 资源表 资源的管理方式采用windows资源管理器目录的管理方式,一般有三层目录. 根目录 结构体IMAGE_RE ...

  8. K8s进阶之多租户场景下的资源配额(ResourceQuota)

    概述 ResourceQuota官方文档:https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/ 在 Kubernetes( ...

  9. odoo备份数据库无法还原问题解决:Command 'pg_dump' not found.

    背景景:ubuntu20.04 上用命令安装postgresql后,odoo备份数据库报如下错误 安装命令:sudo apt-get install postgresql 默认安装:14版本的pg 错 ...

  10. selenium driver add_cookie正确姿势

    需求 seo给了个开发小需求,查询搜索引擎站点后台的索引量 需求分析 难点在于怎么绕过登录 技术选型 使用selenium+firefox+geckodriver执行抓取 技术难点解析 获取cooki ...