上次我發(fā)表了一篇題為《使用Ollama搭建自己的簡單知識庫》的文章趟脂,發(fā)現(xiàn)大家在使用過程中遇到了不少問題廷区,我自己也遇到過類似的問題稽揭。特別是當我在MaxKB的知識庫中導(dǎo)入一篇文章后挽拔,在應(yīng)用中提問应民,得到的回答卻答非所問,完全達不到我的要求倚聚。今天我就想分析一下這個問題以及如何改進线衫。
一般來說,這種問題根源在于文章上傳的分段不佳惑折,由于分段不佳導(dǎo)致的命中率低授账,因此答非所問。下面我們來復(fù)現(xiàn)一下這個問題惨驶。
首先白热,導(dǎo)入一篇文檔。
下一步采用推薦的智能分段方式進行分段:
可以看到粗卜,分段結(jié)果很雜亂無章屋确,甚至可以看到出現(xiàn)了亂碼:
而亂碼部分的實際內(nèi)容如下:
也就是說,這種知識庫導(dǎo)入方式對于公式的解析其實并不完善续扔。還是對于文本更加方便攻臀。
而且,同一篇文檔纱昧,如果可以用word形式上傳最好使用word刨啸,而不是PDF,因為PDF中可能文字是以圖片形式存在的砌些,而且可能會混進很多不同的格式符號呜投,導(dǎo)致分段的錯誤加匈。
可以看到存璃,當我換成word之后,分段還是比較清晰的:
可以看到雕拼,同一篇文章纵东,用word和PDF得到的分段數(shù)差距很大,字符數(shù)也有不小的差別啥寇,所以得到的分段是更清晰的偎球。
這種是“智能分段”模式,也可以使用“高級分段”模式辑甜,選擇我們需要的分段標識符衰絮。
這個分段數(shù)就更多了。不過這種方式要慎用磷醋,最好自己提前處理一下猫牡,否則換行或者回車符并不一定是你想要的分段方式,容易造成一段完整的語義段落被切分成很多無意義的分段邓线。
現(xiàn)在再來提問淌友,效果比之前更好:
同時煌恢,在調(diào)試窗口我們也可以更加直觀的看到問答的結(jié)果,以及引用的分段:
用本地未加入知識庫的原始ollama大模型試試:
發(fā)現(xiàn)回答的非常搞笑震庭,它完全不知道我在說什么瑰抵,說明采用我們分段后的知識庫還是有效果的。