
騰訊開源重磅項(xiàng)目:WeKnora讓企業(yè)文檔瞬間變身AI知識庫!
最近騰訊開源了一個(gè)挺有意思的項(xiàng)目WeKnora,在GitHub上關(guān)注度漲得很快。作為一個(gè)正在學(xué)習(xí)和研究RAG技術(shù)的開發(fā)者,看到是基于RAG的文檔問答系統(tǒng),而且又是微信對話開放平臺(tái)的核心技術(shù)棧,立馬就去研究了一下。
不只是另一個(gè)RAG項(xiàng)目
從架構(gòu)文檔來看,WeKnora不是簡單的向量檢索工具,而是構(gòu)建了一個(gè)完整的RAG pipeline。讓我比較感興趣的是它的多模態(tài)處理設(shè)計(jì)——根據(jù)文檔介紹,系統(tǒng)能處理PDF、Word、圖片等各種格式,通過OCR和圖像理解技術(shù)來提取結(jié)構(gòu)化內(nèi)容。這種設(shè)計(jì)思路在處理圖文混排的復(fù)雜文檔時(shí)應(yīng)該很有優(yōu)勢。
另一個(gè)技術(shù)亮點(diǎn)是GraphRAG的實(shí)現(xiàn)。從代碼結(jié)構(gòu)看,它能自動(dòng)構(gòu)建文檔間的知識關(guān)聯(lián)網(wǎng)絡(luò),不只是簡單的文本相似度匹配。構(gòu)建知識圖譜對RAG的價(jià)值在于能夠捕捉文檔間的隱含關(guān)系,在檢索時(shí)不僅返回直接相關(guān)的內(nèi)容,還能通過圖譜關(guān)聯(lián)找到相關(guān)的上下文信息,這對提升回答的完整性和準(zhǔn)確性很有幫助。
模塊化架構(gòu):擴(kuò)展性拉滿
WeKnora的模塊化設(shè)計(jì)做得挺徹底。從代碼組織來看,主要包含這幾個(gè)核心模塊:
//?代碼中的向量存儲(chǔ)接口設(shè)計(jì) type?VectorStore?interface?{ ????Store(ctx?context.Context,?docs?[]Document)?error ????Search(ctx?context.Context,?query?string,?k?int)?([]Document,?error) }
這種接口設(shè)計(jì)讓系統(tǒng)可以靈活切換不同的向量數(shù)據(jù)庫。文檔里提到支持pgvector和Elasticsearch,從技術(shù)選型來看很務(wù)實(shí)——pgvector適合PostgreSQL技術(shù)棧的團(tuán)隊(duì),ES則是成熟的企業(yè)級方案。
看配置文件模板,系統(tǒng)支持的配置項(xiàng)相當(dāng)豐富:
??嵌入模型:本地模型、BGE、GTE等多種選擇 ??文檔處理:靈活的分塊策略,chunk大小可調(diào) ??檢索機(jī)制:BM25、向量檢索、GraphRAG可組合使用 ??大模型接入:支持Qwen、DeepSeek等,還有思考鏈模式
這種設(shè)計(jì)對二次開發(fā)很友好,基本上每個(gè)環(huán)節(jié)都能根據(jù)需求調(diào)整。如果你們已經(jīng)有自己的OCR服務(wù)或者特定的embedding模型,接入應(yīng)該不會(huì)太麻煩。
部署方案
WeKnora提供了比較完善的部署方案,項(xiàng)目提供了Docker鏡像和一鍵啟動(dòng)腳本:
#?官方提供的部署步驟 git?clone?https://github.com/Tencent/WeKnora.git cd?WeKnora cp?.env.example?.env #?編輯.env配置文件 ./scripts/start_all.sh
啟動(dòng)后,即可通過瀏覽器訪問 Web 界面(http://localhost),體驗(yàn)完整的文檔上傳、知識庫構(gòu)建與智能問答功能。
從docker-compose.yml文件可以看出,整個(gè)系統(tǒng)包含了后端服務(wù)、向量數(shù)據(jù)庫、消息隊(duì)列等組件。配置文件里的參數(shù)說明也挺詳細(xì),像embedding模型選擇、chunk大小這些關(guān)鍵參數(shù)都有注釋說明。
特別注意到它支持本地部署和云端部署兩種模式,這對數(shù)據(jù)敏感的企業(yè)來說是個(gè)加分項(xiàng)。不想把文檔傳到云上的,完全可以本地部署一套。
技術(shù)細(xì)節(jié)
深入看了下代碼,有幾個(gè)技術(shù)細(xì)節(jié)值得關(guān)注:
中文場景優(yōu)化
代碼里有專門的中文處理邏輯,包括分詞優(yōu)化和中文embedding模型支持。README里推薦使用BGE中文模型,從社區(qū)反饋來看,BGE在中文語義理解上確實(shí)表現(xiàn)不錯(cuò)。配置示例里是這樣的:
#?推薦的中文配置 EMBEDDING_MODEL=bge-large-zh-v1.5 EMBEDDING_DIM=1024 CHUNK_SIZE=512 CHUNK_OVERLAP=50
看得出來,對中文場景是有專門優(yōu)化的,不是簡單套用英文模型。
混合檢索策略
系統(tǒng)實(shí)現(xiàn)了多種檢索機(jī)制的融合。從代碼邏輯看,它會(huì)先用BM25做初篩,再用向量檢索做語義匹配,最后通過重排序給出最終結(jié)果。這種混合策略理論上能兼顧關(guān)鍵詞匹配和語義理解。
#?從代碼注釋可以看出檢索流程 #?1.?BM25?keyword?matching #?2.?Dense?vector?retrieval?? #?3.?Graph-based?retrieval?(optional) #?4.?Reranking?and?fusion
對于技術(shù)文檔這種既有專業(yè)術(shù)語又需要語義理解的場景,這種策略應(yīng)該比單純的向量檢索效果更好。
知識圖譜
這是個(gè)挺有特色的功能。從實(shí)現(xiàn)代碼看,系統(tǒng)會(huì)分析文檔內(nèi)部的實(shí)體和關(guān)系,自動(dòng)構(gòu)建知識網(wǎng)絡(luò)。雖然可視化界面看起來還比較基礎(chǔ)(基于D3.js),但核心的圖譜構(gòu)建邏輯還是挺完整的。
適用場景分析
基于文檔和代碼的理解,我覺得以下場景特別適合用WeKnora:
企業(yè)知識庫構(gòu)建:內(nèi)部文檔多、格式雜、更新頻繁的場景。WeKnora的多模態(tài)處理能力能很好應(yīng)對各種文檔格式。
技術(shù)文檔檢索:API文檔、開發(fā)手冊、架構(gòu)設(shè)計(jì)文檔等?;旌蠙z索策略對技術(shù)術(shù)語的處理應(yīng)該不錯(cuò)。
客服系統(tǒng)升級:產(chǎn)品說明、FAQ、操作指南的智能問答?;谖⑿艑υ掗_放平臺(tái)的技術(shù),穩(wěn)定性應(yīng)該有保障。
科研文獻(xiàn)管理:論文、研究報(bào)告、實(shí)驗(yàn)記錄等。知識圖譜功能對理解文獻(xiàn)關(guān)聯(lián)很有幫助。
如果你的文檔以中文為主,而且需要處理圖文混排的復(fù)雜內(nèi)容,WeKnora是個(gè)值得考慮的方案。
功能展示
WeKnora 提供了清晰直觀的 Web 交互界面,讓用戶無需編程即可輕松使用:
現(xiàn)階段的觀察
整體看下來,WeKnora作為騰訊新開源的項(xiàng)目,完成度還是挺高的。從代碼質(zhì)量來看,確實(shí)是大廠風(fēng)格——注釋規(guī)范、錯(cuò)誤處理完善、模塊劃分清晰。作為微信對話開放平臺(tái)的同款技術(shù)棧,穩(wěn)定性應(yīng)該是經(jīng)過驗(yàn)證的。
當(dāng)然,作為剛開源的項(xiàng)目,也能看出一些需要完善的地方:
? 文檔還在持續(xù)更新中,一些高級功能的使用說明還不夠詳細(xì) ? 社區(qū)剛剛起步,Issues和Discussions還不多 ? 從代碼TODO注釋能看出,有些功能還在優(yōu)化中 ? 缺少性能基準(zhǔn)測試數(shù)據(jù),實(shí)際效果還需要驗(yàn)證
不過從技術(shù)架構(gòu)和代碼質(zhì)量來看,這個(gè)項(xiàng)目的基礎(chǔ)打得很扎實(shí)。特別是模塊化設(shè)計(jì)和中文支持這兩點(diǎn),對國內(nèi)開發(fā)者很友好。
最后
期待后續(xù)看到更多開發(fā)者的實(shí)踐分享,也準(zhǔn)備找時(shí)間搭建環(huán)境實(shí)際測試一下。如果你已經(jīng)試用過,歡迎在評論區(qū)分享你的體驗(yàn)。
畢竟是新項(xiàng)目,一起期待它的成長吧。
項(xiàng)目地址:https://github.com/Tencent/WeKnora
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級服務(wù)市場:https://www.ijiandao.com/

隨時(shí)掌握互聯(lián)網(wǎng)精彩
- 1 這一天致青年 我們?nèi)绾钨s續(xù)與傳承 7903995
- 2 “第一天出去旅游的人已老實(shí)” 7809182
- 3 男子送老人過馬路 3次敬禮全網(wǎng)刷屏 7713223
- 4 中國假期吸引世界流量 7616680
- 5 張嘉益《人民日報(bào)》撰文 7522029
- 6 90后美女副教授走紅 北航回應(yīng) 7428859
- 7 網(wǎng)警提醒:國慶歡樂游 安全別松懈 7330524
- 8 走失小狗在服務(wù)區(qū)苦等主人8小時(shí) 7233792
- 9 “課本上的傳奇”珍·古道爾逝世 7143036
- 10 多省發(fā)文補(bǔ)貼社保個(gè)人繳費(fèi)額的25% 7043109