0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

我在大模型應(yīng)用之RAG方向的探索、實(shí)踐與思考

京東云 ? 來(lái)源:jf_75140285 ? 作者:jf_75140285 ? 2024-06-28 16:20 ? 次閱讀

開篇

我是孫林,2021-京東集團(tuán)-博士管培生,清華大學(xué)軟件學(xué)院博士,工作期間提交專利5篇,獲得北京亦麒麟優(yōu)秀人才稱號(hào)。目前,我擔(dān)任算法中臺(tái)研發(fā)部數(shù)據(jù)開發(fā)工程師,圍繞檢索增強(qiáng)生成應(yīng)用領(lǐng)域開展研究工作。

本文將從背景、核心工作、業(yè)務(wù)實(shí)踐與反饋以及未來(lái)展望等幾個(gè)方向進(jìn)行介紹。

背景介紹

大語(yǔ)言模型(LLM)在自然語(yǔ)言處理和自然語(yǔ)言理解方面取得了重大突破。大模型與應(yīng)用場(chǎng)景的結(jié)合有助于可以在降低成本的同時(shí)提高效率。在具體場(chǎng)景的落地中,通用領(lǐng)域的大模型缺乏具體的領(lǐng)域知識(shí),需要對(duì)其進(jìn)行微調(diào),這將消耗大量的計(jì)算資源。

當(dāng)前,檢索增強(qiáng)生成(RAG)作為大語(yǔ)言應(yīng)用的一種模式,可以將大語(yǔ)言模型強(qiáng)大的理解能力和領(lǐng)域知識(shí)相結(jié)合,可以提高模型準(zhǔn)確性和效率。RAG主要流程分為兩步:1. 從知識(shí)庫(kù)中檢索出和問題相關(guān)的內(nèi)容;2.將相關(guān)的知識(shí)拼接到prompt中,讓LLM基于相關(guān)知識(shí)和用戶問題進(jìn)行回答。以下是一個(gè)RAG prompt示例:

你是京東一名資深的商家助理,專注解答用戶編成時(shí)候遇到的問題。請(qǐng)基于 '---' 之間的相關(guān)參考內(nèi)容對(duì)用戶的問題進(jìn)行回答。

相關(guān)參考內(nèi)容:
---
1. 入駐京東萬(wàn)商平臺(tái)店鋪公司資質(zhì)要求如下:
營(yíng)業(yè)執(zhí)照:加載“統(tǒng)一社會(huì)信用代碼”的營(yíng)業(yè)執(zhí)照,(需確保未在企業(yè)經(jīng)營(yíng)異常名錄中且所售商品在營(yíng)業(yè)執(zhí)照經(jīng)營(yíng)范圍內(nèi))
企業(yè)法人身份證:公司法人身份證正反面,有效期大于60天。
2. 入駐京東萬(wàn)商平臺(tái),經(jīng)營(yíng)類目為一級(jí)類目(京喜供應(yīng)鏈中心)鞋包服飾,需要提交品牌資質(zhì)。
--- 
用戶問題:入駐京東萬(wàn)商平臺(tái)店鋪,公司需要什么資質(zhì)
注意以下要求:
1. 在回答時(shí),盡可能參考原文
2. 若無(wú)法提供回答,請(qǐng)回復(fù)聯(lián)系人工客服

在上述示例中,由于添加了相關(guān)的知識(shí),大模型可以對(duì)公司資質(zhì)問題給出準(zhǔn)確的回答,相對(duì)于直接使用LLM進(jìn)行回答,RAG可以更有效地借助垂域知識(shí)??偟膩?lái)說(shuō),RAG的主要流程如下:

wKgZomZ-cjCAIZiiAAJnzn171FM763.png

由于RAG的可解釋性、不依賴模型微調(diào)、能適應(yīng)多樣化的應(yīng)用需求等優(yōu)點(diǎn),市面上存在著諸多以RAG為核心的解決方案,主要包括框架和應(yīng)用兩類:

框架類:主要提供面向開發(fā)者SDK。用戶需要自行對(duì)接不同的模型資源,構(gòu)建自己的應(yīng)用流程。自定義程度高,但具備一定的上手難度。相關(guān)框架如langchain,LlamaIndex, promptflow等

應(yīng)用類:開箱即用,大多是2C的類知識(shí)助手應(yīng)用,一般流程為用戶上傳文檔(知識(shí)庫(kù)),然后可以基于知識(shí)庫(kù)進(jìn)行端到端的問答(通常,不同的應(yīng)用的內(nèi)置問答流程有在關(guān)鍵環(huán)節(jié)有一些區(qū)別,比如召回策略、是否使用Agent等)。相關(guān)應(yīng)用如Dify,有道QAnything,字節(jié)Coze等。

在和業(yè)務(wù)方的合作中,我們發(fā)現(xiàn)業(yè)務(wù)方通常有高度定制化的需求。已有的框架和應(yīng)用解決方案無(wú)法快速地用于批量解決應(yīng)用需求,如:

小白類業(yè)務(wù)方:沒有算法開發(fā)人員,只關(guān)心業(yè)務(wù)邏輯,希望平臺(tái)提供存儲(chǔ)、算力、策略,并結(jié)合應(yīng)用方數(shù)據(jù)構(gòu)建高可用服務(wù);

多輸入輸出:在特定場(chǎng)景中是多輸入多輸出的,與主流的RAG鏈路不兼容;

人工快速干預(yù):在接收到用戶的特定輸入下返回特定的結(jié)果,以保證模型可靠性;

數(shù)據(jù)鏈路閉環(huán):除了數(shù)據(jù)管理,還需要有輸入輸出管理頁(yè)面,用于事后的效果評(píng)價(jià)與bad-case分析及效果優(yōu)化;

優(yōu)質(zhì)數(shù)據(jù)導(dǎo)出:用于微調(diào)模型,達(dá)到更高準(zhǔn)確率;

開發(fā)生產(chǎn)隔離:模型、數(shù)據(jù)、接口服務(wù)需要區(qū)分開發(fā)環(huán)境和生產(chǎn)環(huán)境;

其他需求...

wKgaomZ-cjGATZz6AAF2pc6lZsQ756.png

在此背景下,我們從零開始創(chuàng)建了RAG平臺(tái),希望通過平臺(tái)的能力,提供基于大模型的全鏈路端到端問答能力。

對(duì)于無(wú)需定制化流程的用戶:提供知識(shí)助手應(yīng)用,通過平臺(tái)內(nèi)置的默認(rèn)RAG邏輯進(jìn)行問答;

對(duì)于需要定制化需求的用戶:提供資源管理和流程編排能力,讓用戶更方便地結(jié)合業(yè)務(wù)邏輯進(jìn)行二次開發(fā)。

wKgaomZ-cjKAYej7AAJrgBZtNmk927.png

技術(shù)攻堅(jiān)突破的核心工作

RAG平臺(tái)的主要框架如下圖所示

wKgaomZ-cjWAD2AXAAd3ESAiH_I311.png

服務(wù)資源打通

從平臺(tái)視角看,服務(wù)資源包括數(shù)據(jù)存儲(chǔ)服務(wù)、模型調(diào)用服務(wù)、模型部署服務(wù)等。從用戶角度看,用戶對(duì)服務(wù)不關(guān)心,用戶只關(guān)心:“我用大模型對(duì)我的數(shù)據(jù)進(jìn)行問答”,為了實(shí)現(xiàn)這個(gè)需求,需要在京東體系內(nèi)對(duì)不同的服務(wù)資源進(jìn)行打通

存儲(chǔ)資源:打通京東Vearch向量庫(kù),提供相似文本檢索、數(shù)據(jù)過濾等能力;

大語(yǔ)言模型/embedding模型:打通集團(tuán)大模型網(wǎng)關(guān),提供平臺(tái)內(nèi)置大語(yǔ)言模型,支持用戶通過EA調(diào)用自部署模型;

服務(wù)部署:用戶構(gòu)建了自定義Pipeline之后,支持一鍵發(fā)布用于生產(chǎn)環(huán)境;

算力資源:支持用戶通過平臺(tái)進(jìn)行模型微調(diào)并無(wú)縫替換原有模型。

大語(yǔ)言模型Pipeline構(gòu)建

wKgZomZ-cjaATHKQAACs0oJCRFE302.png

以上圖基本RAG流程為例,以下代碼框架表示了用戶如何通過組件化方式構(gòu)建自定義RAG流程:

rag = Pipeline()
rag.add_component(Input("in", input_keys=["query"]))
rag.add_component(VectorStore("vectorstore"))
rag.add_component(Prompt("prompt", preset="PlainRAG"))
rag.add_component(ChatModel("llm"))
rag.add_component(Output("output"))

rag.connect("in.query", "vectorstore")
rag.connect("in.query", "prompt.question")
rag.connect("vectorstore", "prompt.context")
rag.connect("prompt", "llm")
rag.connect("llm", "output")

rag.deploy()

通過組件化方式構(gòu)建Pipeline,用戶只需要定義塊和塊之間的連接關(guān)系。相對(duì)于基于開源框架構(gòu)建Pipeline,此方式可以使得用戶重點(diǎn)關(guān)心業(yè)務(wù)流程,大大降低了用戶自定義流程中的使用門檻。當(dāng)前,平臺(tái)內(nèi)置支持以下組件能力:

輸入輸出組件:支持自定義多輸入/多輸出;

知識(shí)庫(kù)組件:支持模糊匹配與關(guān)鍵字匹配,用于召回相似內(nèi)容;

大模型組件:提供大模型訪問接口;

Prompt組件:提供默認(rèn)Prompt模版與自定義Prompt能力;

Python函數(shù)組件:用戶可通過Python函數(shù)構(gòu)建任何自定義功能塊;

分支組件:支持特定輸出情況下運(yùn)行特定的子流程;

Agent組件:提供Agent能力(如ReAct);

一鍵部署:支持本地運(yùn)行Pipeline與一鍵部署,提供訪問接口。

看板&效果優(yōu)化

當(dāng)前,用戶的一打痛點(diǎn)是:構(gòu)建了RAG流程之后,無(wú)法對(duì)效果進(jìn)行調(diào)優(yōu)。實(shí)現(xiàn)效果調(diào)優(yōu),主要包含以下幾個(gè)角度:

全鏈路數(shù)據(jù)回流:B端用戶通常會(huì)對(duì)服務(wù)歷史進(jìn)行收集以查看服務(wù)質(zhì)量。對(duì)于一個(gè)請(qǐng)求,平臺(tái)對(duì)運(yùn)行時(shí)的Pipeline中間狀態(tài)進(jìn)行保存,用戶可以回溯每個(gè)步驟得到了什么結(jié)果以進(jìn)行進(jìn)一步分析。通過完整的運(yùn)行時(shí)支持中間數(shù)據(jù)跟蹤,全鏈路的數(shù)據(jù)得以收集;

數(shù)據(jù)工程:"garbage in, garbage out"也適用于本場(chǎng)景,數(shù)據(jù)工程是一個(gè)大方向。從數(shù)據(jù)類型角度,平臺(tái)支持了txt、docx、pdf、oss文件等多種數(shù)據(jù)類型,從分割策略來(lái)看,平臺(tái)支持遞歸分割、固定長(zhǎng)度分割等策略,從數(shù)據(jù)增強(qiáng)角度,平臺(tái)支持qa抽取,語(yǔ)義理解等;

關(guān)鍵組件/能力優(yōu)化:當(dāng)前有多種策略用于對(duì)RAG效果進(jìn)行提升,平臺(tái)將優(yōu)化策略沉淀成基礎(chǔ)組件方便用戶快速調(diào)用,如在檢索前提供語(yǔ)義理解、步驟拆解等,在檢索時(shí)提供對(duì)話檢索、self-query等能力,檢索后提供標(biāo)簽過濾、重排等能力;

路由:提供緩存路由模塊,對(duì)于配置的問答進(jìn)行快速干預(yù)能力;

評(píng)估體系&模型迭代:傳統(tǒng)場(chǎng)景效果無(wú)法提升的一個(gè)主要原因是,提供了端到端的問答服務(wù)之后,不知道什么情況下回答的好,什么情況下回答的不好。通過全鏈路數(shù)據(jù)回流和評(píng)估體系的打通,平臺(tái)可以自動(dòng)觸發(fā)embedding、LLM等關(guān)鍵模型的微調(diào),使得效果優(yōu)化可以自動(dòng)化進(jìn)行。

業(yè)務(wù)實(shí)踐與反饋

當(dāng)前,RAG平臺(tái)已經(jīng)服務(wù)多個(gè)項(xiàng)目,部分項(xiàng)目列舉如下:

B商城商家AI助理應(yīng)用(23年黑馬二等獎(jiǎng)項(xiàng)目):解決平臺(tái)商家與一線人員的業(yè)務(wù)、數(shù)據(jù)、流程等問題,當(dāng)前已在多個(gè)業(yè)務(wù)線投入使用,對(duì)上千家店鋪提供服務(wù)。我為此項(xiàng)目提供后端RAG服務(wù),收獲項(xiàng)目合作方感謝信。相關(guān)核心鏈路為:

wKgaomZ-cjeALpDsAAdvPs3E64U744.png

商品型號(hào)規(guī)范化:基于標(biāo)準(zhǔn)型號(hào)庫(kù)中的型號(hào)對(duì)外包清洗的JD型號(hào)進(jìn)行相似度匹配,避免因商品型號(hào)不一致導(dǎo)致糾纏。型號(hào)規(guī)范化效率從400sku/人日提高至750sku/人日,提效87%,獲得項(xiàng)目合作方感謝信。

知識(shí)助手應(yīng)用:對(duì)C端用戶提供服務(wù),提供開箱即用產(chǎn)品頁(yè)面。本季度對(duì)知識(shí)助手存量用戶進(jìn)行遷移,支持日活用戶約7000,日訪問量2-3w,目前灰度測(cè)試中。

其他:暫略。

未來(lái)展望

大模型的發(fā)展能夠在多個(gè)業(yè)務(wù)場(chǎng)景中進(jìn)行落地,RAG由于其能讓LLM擁有更豐富的知識(shí),已在多種應(yīng)用場(chǎng)合中進(jìn)行驗(yàn)證。在此基礎(chǔ)上,Agent由于具備一定的“觀察思考”能力和工具調(diào)用能力未來(lái)將更大地豐富LLM的能力。未來(lái)我將投身于RAG業(yè)務(wù)落地效果提升及單/多Agent在業(yè)務(wù)中的價(jià)值探索。在此基礎(chǔ)上,結(jié)合京東內(nèi)部的應(yīng)用場(chǎng)景,打造更易用的平臺(tái)能力,快速將基礎(chǔ)能力復(fù)用于不同的業(yè)務(wù),以提高用戶開發(fā)效率,構(gòu)建快速服務(wù)終端用戶能力。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4314

    瀏覽量

    85846
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2450

    瀏覽量

    2706
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    模型應(yīng)用之路:從提示詞到通用人工智能(AGI)

    模型人工智能領(lǐng)域的應(yīng)用正迅速擴(kuò)展,從最初的提示詞(Prompt)工程到追求通用人工智能(AGI)的宏偉目標(biāo),這一旅程充滿了挑戰(zhàn)與創(chuàng)新。本文將探索模型
    的頭像 發(fā)表于 06-14 10:20 ?2200次閱讀
    大<b class='flag-5'>模型</b>應(yīng)<b class='flag-5'>用之</b>路:從提示詞到通用人工智能(AGI)

    TaD+RAG-緩解大模型“幻覺”的組合新療法

    TaD:任務(wù)感知解碼技術(shù)(Task-aware Decoding,簡(jiǎn)稱TaD),京東聯(lián)合清華大學(xué)針對(duì)大語(yǔ)言模型幻覺問題提出的一項(xiàng)技術(shù),成果收錄于IJCAI2024。 RAG:檢索增強(qiáng)生成技術(shù)
    的頭像 發(fā)表于 07-16 15:01 ?2057次閱讀
    TaD+<b class='flag-5'>RAG</b>-緩解大<b class='flag-5'>模型</b>“幻覺”的組合新療法

    【大語(yǔ)言模型:原理與工程實(shí)踐探索《大語(yǔ)言模型原理與工程實(shí)踐

    的未來(lái)發(fā)展方向進(jìn)行了展望,包括跨領(lǐng)域、跨模態(tài)和自動(dòng)提示生成能力方向,為讀者提供了對(duì)未來(lái)技術(shù)發(fā)展的深刻見解?!洞笳Z(yǔ)言模型原理與工程實(shí)踐》是一本內(nèi)容豐富、深入淺出的技術(shù)書籍。它不僅為讀者提
    發(fā)表于 04-30 15:35

    【大語(yǔ)言模型:原理與工程實(shí)踐探索《大語(yǔ)言模型原理與工程實(shí)踐》2.0

    《大語(yǔ)言模型“原理與工程實(shí)踐”》是關(guān)于大語(yǔ)言模型內(nèi)在機(jī)理和應(yīng)用實(shí)踐的一次深入探索。作者不僅深入討論了理論,還提供了豐富的
    發(fā)表于 05-07 10:30

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的應(yīng)用

    丹尼爾·卡尼曼思考,快與慢》中提出了著名的“系統(tǒng)1與系統(tǒng)2”理論。該理論指出,人類大腦的決策系統(tǒng)存在兩種模式:一種是快速的、感性的系統(tǒng)1,它幫助我們處理簡(jiǎn)單的決策;另一種是緩慢的、理性的系統(tǒng)2
    發(fā)表于 05-07 17:21

    大語(yǔ)言模型:原理與工程實(shí)踐+初識(shí)2

    的一系列變革。 大語(yǔ)言模型是深度學(xué)習(xí)的應(yīng)用之一,可以認(rèn)為,這些模型的目標(biāo)是模擬人類交流,為了理解和生成人類語(yǔ)言。為此,模型需要在大量文本數(shù)據(jù)上訓(xùn)練,用來(lái)理解人類語(yǔ)言,進(jìn)而,實(shí)現(xiàn)與人類的
    發(fā)表于 05-13 00:09

    【書籍評(píng)測(cè)活動(dòng)NO.52】基于大模型RAG應(yīng)用開發(fā)與優(yōu)化

    的應(yīng)用還遠(yuǎn)遠(yuǎn)不能發(fā)揮出大模型的真正價(jià)值,我們期望大模型更專業(yè)的生產(chǎn)領(lǐng)域發(fā)揮作用,提升生產(chǎn)力,引領(lǐng)真正的科技變革。 當(dāng)前大模型被普遍看好的兩個(gè)專業(yè)應(yīng)用
    發(fā)表于 12-04 10:50

    《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐探索

    《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐探索,《開關(guān)電源設(shè)計(jì)與調(diào)試》課程建設(shè)實(shí)踐探索
    發(fā)表于 06-15 23:36

    探索如何打開我國(guó)3D打印的應(yīng)用之

    想要切實(shí)打開3D應(yīng)用之路,核心在于發(fā)展技術(shù),想要打開現(xiàn)有應(yīng)用之路,在于融合、專注、研究與積累??傊€是那句話探索應(yīng)用之路上我們需要協(xié)同合作
    發(fā)表于 09-07 17:33 ?957次閱讀

    COSMOPlat開源技術(shù)方向探索實(shí)踐

    2020工業(yè)互聯(lián)網(wǎng)大會(huì)工業(yè)互聯(lián)網(wǎng)新技術(shù)主題論壇上,海爾卡奧斯物聯(lián)生態(tài)科技有限公司云平臺(tái)架構(gòu)師劉安發(fā)表題為《COSMOPlat開源技術(shù)方向探索
    的頭像 發(fā)表于 11-02 10:54 ?2063次閱讀

    魔方大模型智能汽車領(lǐng)域的應(yīng)用實(shí)踐探索

    汽車領(lǐng)域最新的應(yīng)用實(shí)踐探索。 當(dāng)前,大模型的出現(xiàn)正在加速信息技術(shù)進(jìn)入智能原生時(shí)代,并使得人機(jī)自然交互真正成為可能。而混合AI,端云協(xié)同等人工智能技術(shù)新的發(fā)展趨勢(shì),為大模型
    的頭像 發(fā)表于 08-30 10:01 ?1515次閱讀

    阿里云推出企業(yè)級(jí)大模型RAG系統(tǒng)

    國(guó)際AI大數(shù)據(jù)峰會(huì)上,阿里云重磅推出了企業(yè)級(jí)大模型檢索增強(qiáng)生成(RAG)解決方案。這一解決方案旨在為企業(yè)提供更強(qiáng)大、更智能的大模型應(yīng)用工具,幫助企業(yè)更有效地利用大數(shù)據(jù)和人工智能技術(shù)。
    的頭像 發(fā)表于 02-05 09:54 ?1188次閱讀

    OpenVINO?協(xié)同Semantic Kernel:優(yōu)化大模型應(yīng)用性能新路徑

    作為主要面向 RAG 任務(wù)方向的框架,Semantic Kernel 可以簡(jiǎn)化大模型應(yīng)用開發(fā)過程,而在 RAG 任務(wù)中最常用的深度學(xué)習(xí)模型
    的頭像 發(fā)表于 03-08 10:41 ?711次閱讀
    OpenVINO?協(xié)同Semantic Kernel:優(yōu)化大<b class='flag-5'>模型</b>應(yīng)用性能新路徑

    什么是RAG,RAG學(xué)習(xí)和實(shí)踐經(jīng)驗(yàn)

    高級(jí)的RAG能很大程度優(yōu)化原始RAG的問題,索引、檢索和生成上都有更多精細(xì)的優(yōu)化,主要的優(yōu)化點(diǎn)會(huì)集中索引、向量模型優(yōu)化、檢索后處理等模塊
    的頭像 發(fā)表于 04-24 09:17 ?894次閱讀
    什么是<b class='flag-5'>RAG</b>,<b class='flag-5'>RAG</b>學(xué)習(xí)和<b class='flag-5'>實(shí)踐</b>經(jīng)驗(yàn)

    RAG的概念及工作原理

    檢索增強(qiáng)型生成(RAG)系統(tǒng)正在重塑我們處理AI驅(qū)動(dòng)信息的方式。作為架構(gòu)師,我們需要理解這些系統(tǒng)的基本原理,從而有效地發(fā)揮它們的潛力。 什么是RAG? 總體而言,RAG系統(tǒng)通過將大型語(yǔ)言模型
    的頭像 發(fā)表于 12-17 13:41 ?175次閱讀
    <b class='flag-5'>RAG</b>的概念及工作原理