AI正在绞尽脑汁想思路ING···
AI摘要(by:LiuShen)
HunYuan-Lite

CNB搭建知识库

​ 为啥使用这个腾讯云的CNB来搭建知识库呢,主要就是比传统方式搭建AI知识库方便快捷太多了。传统方式是自己编码或者是使用第三方平台,而CNB就是只要你会Git操作就可以直接通过工作流去搭建AI知识库。只需要简单得几步操作。

传统方式得痛点:

自己编码搭建知识库:需要掌握向量数据库技术、文档处理切片、模型部署调用、向量存储、检索系统开发等等。

第三方平台搭建知识库:语雀、Notion很多功能受限、Dify等配置复杂,并且成本高昂、功能扩展困难等。

以上光是学习成本,环境搭建,后期维护成本都是非常大。

CNB简介

​ 腾讯云 CNB 是云原生构建(Cloud Native Build)的简称,是腾讯云推出的新一代开发者工具。它基于 Docker 生态,为开发者提供代码托管、流水线、云上开发空间、制品管理等能力,通过声明式的语法帮助开发者更高效地构建软件。后面写CNB学习笔记的时候还会专门介绍CNB的代码托管、云原生构建、云原生开发等部分。这里就大致说一下这是个什么东西就行了。

官方地址:https://docs.cnb.cool/zh/

组织

在创建代码仓库的时候需要创建一个组织,CNB是以顶级组织 独立结算按量计费。如下

image-20250809211535608

也就是说在云原生构建时需要使用资源的,免费的额度一般来说就非常够用了。8核云服务器使用1小时用量为 8核 x 1小时 即8核时。这里免费的有每月160核时,相当不错了。比你租一个按时计费的弹性云服务器便宜的多吧。就算超了,这个0.125/核时,也是相当便宜了。还有就是需要玩大模型的也可以直接云原生开发、搭建环境。免费1600核时的GPU使用额度。次月清零,也不叠加。构建时消耗构建的额度,WebIDE开发时消耗开发的额度,但是有一说一,创建docker服务真的快好多。比起自己的开发环境。

退一万步讲,如果你的免费资源不够用,那你多用几个微信登录,然后通过组织成员加入进去,有几个微信号就可以在免费的额度上*几倍。白嫖老多了。别说是我说的🙂。再说目前还有周年庆的赠送额度。

点击右上角【+】号 -> 【创建组织】->填写组织名即可。若是提示:该组织名称已被保护,请完成下方域名验证创建认证组织。在组织名后面带上数字。或者重新选一个组织名,每年一个账号只能创建一个组织。

知识库搭建

​ 这个CNB的仓库就和GitHub类似的使用方法这里省略,点击右上角【+】号 -> 【创建仓库】即可。创建完成后。若是要在线开发直接点仓库界面的【云原生开发】按钮。这时候会在新的页面打开一个如下。直接点击WebIDE即可这时会打开一个浏览器版本的vscode。这个环境中集成了很多必要的环境依赖如git、openssh-server等,操作系统版本是Debian GNU/Linux 12 (bookworm),或者是你也可以在本地的vscode或者curor里面打开。

在代码仓库的 .cnb.yml 中配置流水线,使用知识库插件。 如下配置,当仓库的 main 分支有代码提交时,会触发流水线,自动使用知识库插件对 Markdown 文件进行切片、分词、向量化等处理,并将处理后的内容上传到 CNB 的知识库中。

1
2
3
4
5
6
7
main:
push:
- stages:
- name: build knowledge base
image: cnbcool/knowledge-base
settings:
include: "**/**.md"

如是在WebIDE中开发,直接在workspace中创建.cnb,yml文件,然后需要在终端中去提交代码到cnb仓库。直接push即可,不然不会生效。

当然你可以直接在本地去创建这个.cnb.yml文件。然后再连同知识库所需的文档一并push到仓库中。

参数说明如下:

参数名 说明 默认值 是否必填 备注
include 指定需要包含的文件 使用 glob 模式匹配,默认包含所有文件。支持逗号分隔多个模式,如 *.md,*.mdx,*.docx,*.txt,*.pdf
exclude 指定需要排除的文件 使用 glob 模式匹配,默认不排除任何文件。支持逗号分隔多个模式
embedding_model 嵌入模型 hunyuan 目前只支持 hunyuan
chunk_size 指定文本分块大小 1500
chunk_overlap 指定相邻两个分块之间的重叠token数量 0

上传知识库所需要的文档。注意文档格式,例如我给我的博客网站生成一个知识库文档。在blogcode目录下,直接git push上传到CNB仓库后就会触发流水线构建知识库了。在仓库的【云原生构建】模块可以看到知识库的构建日志如下。

构建完成后直接在仓库的任意模块界面按下 / 键 再按 键 。就可以唤醒知识库AI助手,如下:

外部调用

​ 这个知识库AI助手不只是能在你的CNB页面直接调出,还可以接受外部的调用。知识库构建完成后,可以通过 Open API 对该仓库所属知识库进行查询检索,召回后的内容可以结合 LLM 模型生成回答。使用示例可以直接看这里。我本来是想做一个博客网站AI的导航的,但是我自己网站的知识库文档不知道应该怎么去生成,就自己写了一个简陋的md文档🤣。后面再想想使用这个知识库做一个网站的AI助手吧。