1.8. 关于 BYO 知识库工具
OpenShift Lightspeed 服务使用大型语言模型(LLM)来生成问题的响应。您可以使用 BYO 知识库工具创建检索生成(RAG)数据库来提高 LLM 可用的知识。
在创建 RAG 数据库时,您可以为您的环境自定义 OpenShift Lightspeed 服务。例如,网络管理员可开发用于置备 OpenShift Container Platform 集群的标准操作流程(SOP)。然后,网络管理员可以通过包含 SOP 的信息来增强 BYO 知识库工具来增强 LLM 可用的知识。
要将自己的知识带到 LLM 中,您可以完成以下步骤:
- 以 Markdown 格式创建自定义内容。
- 使用 BYO 知识库工具将内容打包为容器镜像。
-
将容器镜像推送到镜像 registry,如
quay.io。 -
更新
OLSConfig自定义资源文件,以列出推送到镜像 registry 的镜像。 访问 OpenShift Lightspeed 虚拟助手,并提交与您提供给 LLM 提供的自定义知识相关的问题。
注意当您使用 BYO 知识库工具时,LLM 提供的文档将发送到 LLM 供应商。
1.8.1. 关于文档标题和 URL 复制链接链接已复制到粘贴板!
OpenShift Lightspeed 可以显示服务用于生成答案的文档的标题和 URL。在检索的生成(RAG)数据库中,标题和 URL 作为元数据。如果 BYO 知识库位于工具进程的 Markdown 文件中,则 BYO 知识库可以从 YAML 前端获取标题和 url 属性。
如果 Markdown 文件没有带有 title 和 url 属性的前端,则第一个顶级 Markdown 标题,例如: # Introduction to Layers,变为标题,文件路径将变为 URL。
1.8.2. 为 LLM 提供自定义知识 复制链接链接已复制到粘贴板!
通过提供对位于远程镜像 registry 中的容器镜像的访问,自定义大型语言模型(LLM)可用的信息。此流程中的示例使用 quay.io 作为远程容器镜像 registry,自定义镜像的路径为 quay.io/<username>/my-byok-image:latest。
BYO 知识库工具只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
以具有集群范围自定义资源(CR)文件(如具有
cluster-admin角色的用户)的权限登录到 OpenShift Container Platform Web 控制台。 - 您有一个可用于 OpenShift Lightspeed Service 的 LLM 供应商。
- 已安装 OpenShift Lightspeed Operator。
-
您要添加的自定义信息作为使用
.md扩展的 Markdown 文件的集合。不支持其他文件格式。 -
已使用 Podman 登录到
registry.redhat.io。 -
您有一个容器镜像 registry 的帐户,如
quay.io。
流程
运行以下命令,使用 Markdown 文件为检索生成(RAG)数据库指定目录的位置,以及 BYO 知识库工具生成的镜像的路径:
podman run -it --rm --device=/dev/fuse \ -v $XDG_RUNTIME_DIR/containers/auth.json:/run/user/0/containers/auth.json:Z \ -v <dir_tree_with_markdown_files>:/markdown:Z \ -v <dir_for_image_tar>:/output:Z \ registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9:latest
$ podman run -it --rm --device=/dev/fuse \ -v $XDG_RUNTIME_DIR/containers/auth.json:/run/user/0/containers/auth.json:Z \ -v <dir_tree_with_markdown_files>:/markdown:Z \ -v <dir_for_image_tar>:/output:Z \ registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意工具生成的容器镜像包含自定义 RAG 数据库。RAG 数据库向 LLM 提供其他信息。
运行以下命令,加载 BYO 知识库工具生成的容器镜像:
podman load < <directory_for_image_tar>/<my-byok-image.tar>
$ podman load < <directory_for_image_tar>/<my-byok-image.tar>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,显示本地计算机上的 podman 镜像:
podman images
$ podman imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my-byok-image latest be7d1770bf10 1 minute ago 2.37 GB ...
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my-byok-image latest be7d1770bf10 1 minute ago 2.37 GB ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,使用名称和目的地标记本地镜像,以便镜像可以推送到容器镜像 registry 中:
podman tag localhost/my-byok-image:latest quay.io/<username>/my-byok-image:latest
$ podman tag localhost/my-byok-image:latest quay.io/<username>/my-byok-image:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将本地容器镜像推送到容器镜像 registry:
podman push quay.io/<username>/my-byok-image:latest
$ podman push quay.io/<username>/my-byok-image:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
OLSconfigCR,以部署新创建的 RAG 数据库以及现有数据库:-
在 OpenShift Container Platform web 控制台中,点击 Operators
Installed Operators。 - 在屏幕顶部的 Project 下拉菜单中选择 All Projects。
- 点 OpenShift Lightspeed Operator。
-
单击 OLSConfig,然后单击列表中的
集群配置实例。 - 点 YAML 标签。
插入
spec.ols.ragyaml 代码:OLSconfigCR 文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 其中
image指定推送到镜像 registry 的镜像标签,以便 OpenShift Lightspeed Operator 可以访问自定义内容。OpenShift Lightspeed Operator 可以使用您创建的多个 RAG 数据库。
-
在 OpenShift Container Platform web 控制台中,点击 Operators
- 点击 Save。
验证
访问 OpenShift Lightspeed 虚拟助手,并提交与您提供给 LLM 的自定义内容相关的问题。
OpenShift Lightspeed 虚拟助手根据自定义内容生成响应。
1.8.3. 禁用 OpenShift Container Platform 文档 RAG 数据库 复制链接链接已复制到粘贴板!
修改 OLSConfig 自定义资源(CR)文件,以禁用包含 OpenShift Container Platform 文档的内置 Retrieval-Augmented Generation (RAG)数据库。然后,唯一的 RAG 数据库 OpenShift Lightspeed 使用是您使用 BYO 知识库功能提供的。
先决条件
-
以有权创建集群范围的 CR 文件(如具有
cluster-admin角色的用户)登录到 OpenShift Container Platform Web 控制台。 - 已安装 OpenShift Lightspeed Operator。
- 您已配置了大型语言模型供应商。
-
您已配置了
OLSConfigCR 文件,该文件会自动部署 OpenShift Lightspeed Service。 - 您已创建了包含您要使用的内容的 RAG 数据库,如"向 LLM 提供自定义知识 中所述。
流程
-
在 OpenShift Container Platform web 控制台中,点击 Operators
Installed Operators。 - 在屏幕顶部的 Project 列表中选择 All Projects。
- 点 OpenShift Lightspeed Operator。
-
单击 OLSConfig,然后单击列表中的
集群配置实例。 - 点 YAML 标签。
插入
spec.ols.byokRAGOnlyYAML 代码。OLSconfigCR 文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
true,以便 OpenShift Lightspeed 只使用 BYO 知识库功能创建的 RAG 数据库。为true时,OpenShift Lightspeed 不使用包含 OpenShift Container Platform 文档的默认 RAG 数据库。
- 点击 Save。