RAGFlow - 如何让知识库回答带图片 (四)

在 RAGFlow 的知识库中上传带图片的 word 文档后,在数据集的解析块中可以看到图片。但在聊天中却不知道怎么显示出来。

image

 

image

一通 google 给的方法都是,先通过程序解析 word 文档,将文档中的图片上传到一个文件服务器,然后将图片地址替换回 word 文档,之后再通过 api 接口的方式上传 RAGFlow。

以下讲解纯手工如何让知识库回答带图片

一、JSON 文本格式

1、将 word 中的图片上传服务器,得到图片 url 链接

例如:我得到如下链接

https://image.test.com/upload/a123.png

2、将 word 文档内容转为 json 格式

由于我的 word 文档内容是售后服务的 FAQ,所以我的 json 是 question(问题)、answer(回答)、url(对应的外部链接)、image(对应的图片)。处理好后如下,注意保存文件后缀 .txt(RAGFlow 本来是支持 json 文件的,但不知到为什么我上传带图片的 json 文件时总报错???)

{"question":"浏览器打开后台很慢","answer":"问题可能由多种因素引起,1. 网络延迟或波动。\\n2. 浏览器缓存问题","url":"","image":""}
{"question":"如何配置网络","answer":"可以根据图片内容配置网络","url":"","image":"https://image.test.com/upload/a123.png"}
{"question":"官网地址是什么","answer":"官网地址如下","url":"https://www.baidu.com","image":""}

3、创建知识库,并在知识库中新增文件

 注意:

  • 建议文本块大小:设置为1。(这里跟我之前理解不同,我之前理解是没有遇到分段标识符时,到达这个大小后分块。遇到分段标识符时则直接分块。但用下来是,遇到分段标识符但没超过这个大小时,会继续读内容。直到超过这个大小并遇到分段标识符后,才会分块。)
  • 文本分段标识符:由于我的文件中是换行,代表下一个问题。则这里设置 \n

image

解析完成后如下图,能看到每一个问题一个分块:

image

4、创建聊天

注意,修改系统提示词,如下。

你是一个智能助手,请总结知识库的内容来回答问题,请列举知识库中的数据详细回答。当所有知识库内容都与问题无关时,你的回答必须包括“知识库中未找到您要的答案!”这句话。回答需要考虑聊天历史。
        以下是知识库:
        {knowledge}
        以上是知识库。

注意:
    - 遇到 url 请转成 a 标签,a标签文字的颜色设置为蓝色
    - 遇到 image 请转成 img 标签

image

image

 5、测试聊天

image

二、Markdown 文本格式

1、将 word 中的图片上传服务器,得到图片 url 链接

2、将 word 文档内容转为 md 格式

整理后如下注意保存文件后缀 .txt(同样 RAGFlow 本来是支持 md 文件,但不知到为什么我上传带图片的 md 文件时总报错???)

# 浏览器打开后台很慢

问题可能由多种因素引起,
1.	网络延迟或波动。
2. 浏览器缓存问题

---

# 如何配置网络

可以根据图片内容配置网络

<img src="https://image.test.com/upload/a123.png">

---

# 官网地址是什么

官网地址如下

<a href="https://www.baidu.com" style="color:blue">https://www.baidu.com</a>

3、创建知识库,并在知识库中新增文件

 注意:

  • 建议文本块大小:设置为1。(这里跟我之前理解不同,我之前理解是没有遇到分段标识符时,到达这个大小后分块。遇到分段标识符时则直接分块。但用下来是,遇到分段标识符但没超过这个大小时,会继续读内容。直到超过这个大小并遇到分段标识符后,才会分块。)
  • 文本分段标识符:由于我的文件中是 --- ,代表下一个问题。则这里设置  `---`  ,其中 ` 是 1 左边 ~ 号键 

image

解析后如下:

image

4、创建聊天

注意,修改系统提示词,如下。

你是一个智能助手,请总结知识库的内容来回答问题,请列举知识库中的数据详细回答。当所有知识库内容都与问题无关时,你的回答必须包括“知识库中未找到您要的答案!”这句话。回答需要考虑聊天历史。
        以下是知识库:
        {knowledge}
        以上是知识库。

注意:
    -- 遇到 a 标签,不要修改 a 标签中的属性直接显示
    -- 遇到 img 标签,不要修改 img 标签中的属性直接显示

image

 5、测试聊天

image

三、JSON 文本格式(优化:将 url、img 直接加到 answer 中)

当然,也可以像 「二、Markdown 文本格式」 一样, 直接将链接添加到 answer 中。如下
{"question":"浏览器打开后台很慢","answer":"问题可能由多种因素引起,1. 网络延迟或波动。\\n2. 浏览器缓存问题 ","url":"","image":""}
{"question":"如何配置网络","answer":"可以根据图片内容配置网络 <img src=\"https://image.test.com/upload/a123.png\">","url":"","image":""}
{"question":"官网地址是什么","answer":"官网地址如下 <a href=\"https://www.baidu.com\" style=\"color:blue\">https://www.baidu.com</a>","url":"","image":""}

提示词也无需修改

 

image

 

 测试聊天

image

 

posted @ 2025-08-21 17:20  rslai  阅读(532)  评论(3)    收藏  举报