太長別讀(TL;DR)
為了應(yīng)對LLMs內(nèi)在知識的有限性,檢索增強(qiáng)技術(shù)RAG(AI + Search)應(yīng)運(yùn)而生。然后隨著模型能力(推理能力和工具調(diào)用能力)的不斷發(fā)展,RAG也在逐漸從死板的人類工程向靈活的模型自主性過渡,即更加Agentic了(智能體),比如興起的新概念DeepSearch。智能體的自主性面臨著知識邊界問題和能力邊界問題,這兩個(gè)邊界問題也分別對應(yīng)著模型知識和能力拓展的兩大利器:信息和工具。無論是邊界問題還是拓展利器,對模型本身的能力(尤其是深度思考推理能力)要求都很高。相應(yīng)地,模型訓(xùn)練范式也在逐漸從有監(jiān)督微調(diào)向強(qiáng)化學(xué)習(xí)后訓(xùn)練過渡。以AI Search或者Search Agent為基礎(chǔ),其他各種Coding Agent、Browser Agent等智能體百花齊放,并且未來的趨勢是通用型智能體。
作 者 | 雷孟
出品 | 騰訊云開發(fā)者
需求背景:模型內(nèi)在知識的有限性
模型的內(nèi)在知識是經(jīng)過訓(xùn)練從大量數(shù)據(jù)中學(xué)習(xí)得到的。但是訓(xùn)練數(shù)據(jù)總是有限的,它的有限性主要體現(xiàn)在兩個(gè)方面:
1、訓(xùn)練數(shù)據(jù)的收集有截止日期(cut-off)限制,無法囊括超過過截止日期的的新生數(shù)據(jù),即模型的內(nèi)在知識有嚴(yán)格的時(shí)效性問題,相應(yīng)地,模型也就不適合回答對時(shí)效性要求很高的問題;
2、訓(xùn)練數(shù)據(jù)通常是公開的,而私域數(shù)據(jù)通常無法收集到,即便訓(xùn)練方可以利用自己的專有數(shù)據(jù)或者購買到一些專有數(shù)據(jù),總還“隱藏著”很多沒有被挖掘或者無法挖掘的私域數(shù)據(jù),所以如果沒有見過具體垂直領(lǐng)域的保密數(shù)據(jù),模型通常在某個(gè)公司內(nèi)部具體業(yè)務(wù)上表現(xiàn)不佳。
新生數(shù)據(jù)和私域數(shù)據(jù)也可以認(rèn)為是“長尾信息”,這種看法其實(shí)主要是對從這些數(shù)據(jù)有需求的人群分布來看的,畢竟相比全體人類而言,某個(gè)公司的某個(gè)業(yè)務(wù)的專有數(shù)據(jù)的需求方和使用方總是極少數(shù)的。
訓(xùn)練數(shù)據(jù)的這兩個(gè)局限性,可以統(tǒng)一落腳到數(shù)據(jù)分布的有限性,進(jìn)而延伸至模型的泛化性問題,也是機(jī)器學(xué)習(xí)領(lǐng)域一直待解決的 超出分布(OOD out-of-distribution) 問題,尤其是遇到長尾信息時(shí)。我認(rèn)為OOD問題和泛化性本質(zhì)上是一個(gè)概念,可以看作是“一體兩面”,OOD 說明的是一種現(xiàn)象,即測試數(shù)據(jù)分布與訓(xùn)練數(shù)據(jù)的分布不同,也稱為超出了訓(xùn)練數(shù)據(jù)的分布;而泛化性是說在這一現(xiàn)象下的表現(xiàn),模型在未見過的數(shù)據(jù)分布上的性能出現(xiàn)了下降,也即是模型的性能存在泛化性問題。
解決方法:通過知識檢索來增強(qiáng)
相應(yīng)地,模型內(nèi)在知識也是有限的,通常有2種解決方法:一種是需要訓(xùn)練,也即發(fā)生在訓(xùn)練階段,另一種不需要訓(xùn)練,通常發(fā)生在推理階段。
前者很好理解,我們可以將新生數(shù)據(jù)或者私域知識作為新的數(shù)據(jù)集去繼續(xù)預(yù)訓(xùn)練或者后訓(xùn)練微調(diào)模型,從而將新的知識注入到模型中。
而后者是在推理階段直接將新的知識輸入到模型的上下文中,然后模型通過充分利用其本身的上下文學(xué)習(xí)(in-context learning)能力,根據(jù)給定上下文信息去更好地回答用戶問題。這里所講的上下文學(xué)習(xí)能力不僅僅局限于無訓(xùn)練(training-free)的多樣本學(xué)習(xí)(few-shot learning)能力,還包括更廣泛的指令遵循(instruction following)能力。而且輸入的新知識與當(dāng)前任務(wù)和用戶當(dāng)前具體輸入的問題是密切相關(guān)的。
具體的新知識又可以分為2種:
1、通用的知識,即適用于當(dāng)前任務(wù)和用戶所有問題,這種知識可以直接一次性固定放在模型的系統(tǒng)提示詞中;
2、特定問題的知識,即直接與每個(gè)具體問題相關(guān)聯(lián),這種知識通常需要使用用戶當(dāng)前問題通過信息檢索技術(shù)從相應(yīng)知識庫中召回相關(guān)知識,然后再與當(dāng)前問題一塊放在用戶提示詞中——這種方式也即是如今常見且通用的檢索增強(qiáng)生成(RAG Retrieval-Augmented Generation)技術(shù)。
RAG演化的3個(gè)階段
RAG演化總覽圖如下所示:
3.1 簡單的固定2步驟
RAG最開始采取的是一個(gè)簡單明了的固定流程,即先檢索再生成。而且每次固定先檢索一次,通常整體執(zhí)行一輪。
3.2 優(yōu)化用戶問題和檢索技術(shù)
然后為了提升檢索效果,也即是為了最終的生成效果,開始從2個(gè)方向進(jìn)行優(yōu)化,分別是用戶問題和檢索技術(shù)。
前者是通過一些傳統(tǒng)NLP或者直接使用LLMs對用戶的原始問題進(jìn)行優(yōu)化,優(yōu)化的直接目的是提升召回率,具體的方法有很多種,初級的方法有規(guī)范化、改寫、擴(kuò)展等,需要用于文本檢索,高級的方法有假設(shè)文檔(Hypothetical Document )、上下文適應(yīng)(Context Adaptation)等,主要用于語義檢索。
假設(shè)文檔是使用LLMs生成的假設(shè)可以回答用戶問題的文檔,其核心理念是拉近查詢問題與索引文檔之間的距離,也可以認(rèn)為是將查詢與文檔(query vs document)的不對稱檢索(retrieval)轉(zhuǎn)換成假設(shè)文檔與目標(biāo)文檔之間的對稱文本相似匹配(text similarity matching TSM 或者 semantic textual similarity STS)。
上下文適應(yīng)的目的是使用戶問題適應(yīng)當(dāng)前上下文(包括任務(wù)、提示、補(bǔ)充知識等),使其自身更加具有完整性(包含相關(guān)上下文)和獨(dú)立性(自洽,不需要其他說明),整體也可以稱之為“上下文落地”(context grounding)。如此優(yōu)化后的查詢問題可以更好地定位到符合上下文并且與當(dāng)前用戶問題相關(guān)的知識。其中有一種與這一理念相通的具體方法——退一步提示(https://arxiv.org/abs/2310.06117)。 退一步的核心思想是從具體問題和具體細(xì)節(jié)出發(fā),通過抽象化處理得到高層次的概念或者第一性原理,即從更高層更抽象的角度來看問題。其實(shí)它就是引導(dǎo)LLMs先思考相關(guān)背景基礎(chǔ)知識(先做背景調(diào)查,顯式地將前置依賴提供出來),再回答當(dāng)前的具體問題。雖然退一步提示是作為一種提示工程方法被提出來的,但是其理念和特性可以很好地應(yīng)用于上下文適應(yīng)任務(wù)上來優(yōu)化用戶問題。
后者優(yōu)化檢索技術(shù),從基礎(chǔ)的文本檢索、向量檢索、混合檢索乃至知識圖譜檢索,到使用交叉編碼器(cross-encoder)進(jìn)行重排,再到使用LLMs甚至推理模型進(jìn)行重排。
這兩者是相輔相成的,通常需要前后搭配使用,以達(dá)到最好的效果。
3.3 從固定工作流到自主智能體
但是這兩個(gè)階段都還是人工設(shè)計(jì)為主,整體流程雖然更復(fù)雜了但基本也還是固定的。最后隨著推理模型的出現(xiàn)和發(fā)展壯大,RAG從逐漸升級到Agentic RAG,即從之前的人為設(shè)計(jì)好的固定工作流程慢慢進(jìn)化到更加自主的智能體系統(tǒng)。智能體自主性的第一個(gè)層面是直接根據(jù)當(dāng)前的上下文信息經(jīng)過推理(深度思考)然后直接決定下一步執(zhí)行檢索的問題和檢索策略。其中可用或者建議的用戶問題優(yōu)化策略和可用的檢索配置都直接通過上下文信息暴露給模型,模型在深度思考階段推理和決定合適或者最佳的優(yōu)化策略,即利用模型強(qiáng)大的推理能力(深度思考能力)自主地完成優(yōu)化。第二個(gè)層面是模型可以根據(jù)之前的執(zhí)行結(jié)果自主地判斷是否還需要繼續(xù)搜索以及還有哪些需要進(jìn)一步探索的缺失之處,這樣整個(gè)智能體系統(tǒng)可以循環(huán)多次搜索步驟直到收集到足夠的上下文信息來回答用戶最初的問題。
Agentic RAG的整體框架本質(zhì)上其實(shí)是推理模型興起之前的ReAct框架(https://arxiv.org/abs/2210.03629),而現(xiàn)如今有了推理模型的加持。不僅如此,最近非常流行的DeepSearch和DeeppResearch也主要基于ReAct框架。其實(shí)無論是最開始的樸實(shí)RAG,還是如今的Agentic RAG抑或DeepSearch和DeepResearch,都可以統(tǒng)稱為AI Search,即通過AI技術(shù)來搜索外部知識來為LLM(更好地)回答用戶問題補(bǔ)充上下文信息。Jina AI也在博客《A Practical Guide to Implementing DeepSearch/DeepResearch》(https://jina.ai/news/a-practical-guide-to-implementing-deepsearch-deepresearch)中指出:其實(shí)DeepSearch和DeepResearch都算是對RAG的“品牌再造”(rebranding),即一種商業(yè)手段。
當(dāng)然,現(xiàn)在的Agentic RAG或者AI Search已經(jīng)不僅僅借助于檢索來增強(qiáng)回答,LLMs 的工具調(diào)用(Tool / Function Calling)能力更能夠拓展模型的能力邊界。所以可以將如今的Agentic RAG中的“R”(Retrieval)統(tǒng)一替換成“T”(Tool),即TAG(Tool-Augmented Generation)。同時(shí)我又發(fā)現(xiàn)一個(gè)新的說法“集成工具的推理”TIR(Tool-Integrated Reasoning),比如ToRA: A Tool-Integrated Reasoning Agent for Mathematical Problem Solving(https://arxiv.org/abs/2309.17452)。這個(gè)說法將之前的生成Generation升級為了推理Reasoning,以突出推理模型(reasoning models),同時(shí)使用集成Integreated替換了之前的增強(qiáng)Augmented,突出模型的推理能力與工具調(diào)用能力之間的有機(jī)融合(integration)和協(xié)同作用(synergy),即推理能力思考調(diào)用哪個(gè)工具以及如何調(diào)用所選工具,工具調(diào)用的結(jié)果返回到模型的上下文中指導(dǎo)下一步更好的推理,并且循環(huán)往復(fù)。
模型的推理能力和工具調(diào)用能力極大地升級強(qiáng)化了ReAct框架的自主性,之前的工作流Workflow也就進(jìn)化到了智能體Agent。而引入了智能體的概念后,我們就可以從強(qiáng)化學(xué)習(xí)(Reinforcement Learning)的角度來理解和分析如今圍繞LLMs構(gòu)建的智能體系統(tǒng)。而且,眾所周知,推理模型本身就是通過強(qiáng)化學(xué)習(xí)算法后訓(xùn)練得到的。
Agentic RAG 所面臨的邊界條件
智能體的自主性(autonomy)固然好,但是面臨著2個(gè)邊界條件:知識邊界和能力邊界,并且二者息息相關(guān)。
知識邊界很好理解,正如我們開頭講到的模型的內(nèi)在知識是有限的,也即是有邊界的,但是在面對具體的用戶任務(wù)和問題時(shí),這個(gè)邊界具體在什么位置呢?這是一個(gè)非常具有挑戰(zhàn)性的問題。如果人工可以精準(zhǔn)定位模型知識邊界的話,則我們通常不會(huì)去讓模型來推理判斷。因?yàn)楹笳弑旧砭哂须S機(jī)性,而且還有尚待緩解乃至解決的幻覺問題。舉個(gè)通俗的例子,如果我們可以使用計(jì)算器完成計(jì)算的話,則不會(huì)也不建議去使用大模型。而我們現(xiàn)在轉(zhuǎn)向大模型來判斷知識邊界就是因?yàn)槿嗽斓囊?guī)則有局限性,比較死板而且不靈活,需要持續(xù)不斷地人工投入。而大模型(尤其推理模型)本身能力很強(qiáng),而且也在不斷地得到增強(qiáng)??偟膩碚f,大模型的上限很高拓展性很強(qiáng),又非常靈活,可以適應(yīng)不同的任務(wù)場景和輸入輸出。所以使用大模型來推理(深度思考)其自身內(nèi)在知識是否足以回答當(dāng)前問題以及內(nèi)在知識與當(dāng)前問題之間還有哪些差距需要彌補(bǔ),然后去針對性地獲取外部知識。整個(gè)過程很像是一個(gè)人在被人提問時(shí)回想和思考腦海里已有的知識,如果沒有相關(guān)知識儲(chǔ)備和治理,則需要請求外援,比如上網(wǎng)搜索或者咨詢內(nèi)行專家。
能力邊界是指大模型的能力是有限的,類似大模型主動(dòng)獲取外部知識來彌補(bǔ)其內(nèi)在知識與當(dāng)前問題之間的差距,我們也希望大模型能夠判斷其自身能力與當(dāng)前任務(wù)需求之間的差距然后主動(dòng)請求外部工具來彌補(bǔ)能力缺陷。比如大模型的計(jì)算能力有限,當(dāng)遇到數(shù)值計(jì)算乃至通用的程序執(zhí)行任務(wù)時(shí),最好的解決方式是調(diào)用相應(yīng)的工具(計(jì)算器或者代碼解釋器)。而人類就是這么做的,典型地,計(jì)算器或者更通用且強(qiáng)大的計(jì)算機(jī)可以彌補(bǔ)人類在計(jì)算方面的不足或者拓展人類的計(jì)算能力。
其實(shí)從某種程度上來說,知識邊界也是能力邊界的一種,畢竟人類通常也將“好記性”作為一種個(gè)人能力。知識邊界主要關(guān)注理論知識層面的不足,能力邊界主要關(guān)注實(shí)踐能力層面的短板。事實(shí)上,獲取外部知識是需要使用外部工具的,具體使用哪些工具以及如何使用工具屬于能力邊界的范疇。然后獲取的知識再輸入到模型中,用來反哺知識邊界,而有了更多知識(更多上下文信息)也有益于工具的選擇。單獨(dú)將知識邊界獨(dú)立出來是因?yàn)橹R是理論基礎(chǔ),其他實(shí)踐工具是能力拓展。正所謂“巧婦難為無米之炊”,一個(gè)廚師再精通各種廚具和熟悉各種烹飪技巧,但是沒有米也就“英雄無用武之地”。相應(yīng)地,好的食材更能展現(xiàn)廚藝,二者是相輔相成相得益彰的。
從強(qiáng)化學(xué)習(xí)的角度來看,一個(gè)智能體與外界環(huán)境交互的通用范式是先進(jìn)行廣度探索再進(jìn)行深度挖掘(exploration before exploitation)。其實(shí)這種范式也就先后分別對應(yīng)知識邊界和能力邊界。
與計(jì)算機(jī)做一個(gè)類比,中央處理器(CPU)負(fù)責(zé)計(jì)算,具體數(shù)據(jù)保存在內(nèi)存里,如果內(nèi)存放不下則還有外存,CPU從內(nèi)存讀取數(shù)據(jù),如果內(nèi)存沒有則需要從外存讀取,然后啟動(dòng)處理流程,其自身可以執(zhí)行一些計(jì)算,如果處理不了則需要調(diào)用其他工具,最后再將處理后的數(shù)據(jù)寫回內(nèi)存,如果內(nèi)存放不下則還需要寫到外存中,循環(huán)往復(fù)直到任務(wù)完成。
智能體的內(nèi)存就是其內(nèi)在知識,外存是互聯(lián)網(wǎng)、教科書或者內(nèi)行專家。如果內(nèi)存中的內(nèi)在知識不夠,則需要從外存中獲取外部知識,即知識邊界。大模型LLMs非常善于文本處理(自身的看家本領(lǐng)),但是對于數(shù)值計(jì)算和代碼執(zhí)行(可以統(tǒng)稱為計(jì)算能力)并不擅長,即能力邊界。這個(gè)時(shí)候,就需要請求外部工具的幫助。經(jīng)過內(nèi)外部工具處理后的信息如果比較多或者沒有長度沒有超出LLMs的上下文窗口大小,則可以直接放在模型的上下文中(即內(nèi)存中);相反如果太長或者超出了LLMs的上下文窗口大小,則需要保存在外部知識庫中(即外存中)。
DeepSearch
有了信息和工具之后,再加上一個(gè)智慧大腦(推理模型),我們就很自然地得到了深度搜索(DeepSearch)。目前DeepSearch或者DeepResearch的論文和應(yīng)用有很多(OpenAI Deep Research、Anthropic Multi-Agent Research System、JinaAI Deep(Re)Search Guide、Kimi-Researcher、ByteDance DeerFlow、Google Gemini Search Agent等),總體的技術(shù)范式和實(shí)現(xiàn)大同小異,與前文所講的Agentic RAG基本一致,這里不再一一贅述。
下面我們可以看一下Jina AI和Google Gemini的方案,二者整體都很簡潔,主要面向AI Search垂直領(lǐng)域。整個(gè)智能體系統(tǒng)的核心仍然是推理模型及其深度思考能力,具體在AI Search領(lǐng)域,該深度思考能力用來思考判斷當(dāng)前上下文是否足夠回答用戶問題以及如果不夠的話生成后續(xù)的檢索問題(即gap問題)。除此之外,AI Search通常只有一個(gè)檢索工具,用來獲取外部知識。
Jina AI深度搜索的實(shí)現(xiàn):
Google Gemini Search Agent框架示意圖:
如果再加入和拓展一些信息檢索之外的工具,比如代碼解釋器、計(jì)算機(jī)系統(tǒng)或軟件控制等工具,那么就可以得到Coding Agent(比如Cursor、Trae、Cline、Github Copilot等)、Browser Agent(比如Fireworks Broswer Agent)、Computer Agent(比如OpenAI Computer Use和Anthropic Computer Use)等垂直應(yīng)用Agent。
總的來說,AI Search是其他垂直AI應(yīng)用Agent的前置依賴和基礎(chǔ)。同理,以人類為例,閱讀是創(chuàng)作的基礎(chǔ)和前提。具體地說,AI Search主要用來閱讀(read),而其他智能體(比如Coding Agent)的主要目的是創(chuàng)作(write)。LangChain 的博客《How and when to build multi-agent systems》(https://blog.langchain.com/how-and-when-to-build-multi-agent-systems/)中提到以閱讀為主的多智能系統(tǒng)通常比以創(chuàng)作為主的多智能體系統(tǒng)更加容易些。這個(gè)很好理解,普通人通??梢蚤喿x四大名著,鉆研深入的讀者也理解更深度些,但是現(xiàn)實(shí)是絕大多數(shù)人是寫不出來類似四大名這種經(jīng)典作品的。原創(chuàng)或者自研比閱讀和使用要高幾個(gè)維度。類似地,生成對抗網(wǎng)絡(luò)(GAN)中生成器(generator)通常比判別器(discriminator)的參數(shù)量更大,一個(gè)小的LLM可以用來評估另外一個(gè)參數(shù)量更大的LLM的生成內(nèi)容。
從工作的角度來看,閱讀(學(xué)習(xí))不是目的,創(chuàng)作(干活)才是。創(chuàng)業(yè)公司Cognition AI發(fā)布的DeepWiki產(chǎn)品支持對一整個(gè)代碼倉庫進(jìn)行問答甚至DeepResearch,即讓AI來幫助我們進(jìn)行代碼閱讀和理解,即AI Search。同時(shí)這個(gè)創(chuàng)業(yè)公司發(fā)布的Coding Agent產(chǎn)品Devin號稱為全球首個(gè)AI軟件工程師,即讓AI充當(dāng)或者替代人類去編寫軟件,即AI Coding。
總結(jié)與展望
從長期來看,LLMs 內(nèi)在知識的有限性會(huì)一直存在,相應(yīng)地,檢索增強(qiáng)的需求也一直都會(huì)存在。從最初樸素的RAG方案,到加入了很多人工設(shè)計(jì)(各種查詢檢索優(yōu)化和工具調(diào)用)的精密復(fù)雜的RAG工作流,再到圍繞推理能力(推理模型)構(gòu)建的具有自主性的Agentic RAG(比如DeepSearch),AI Search的目的沒有改變,變化的是模型能力(推理能力和工具調(diào)用能力)和設(shè)計(jì)范式(從死板的人類工程到靈活的模型自主性)。
當(dāng)然,也是得益于模型能力的提升才更好地驅(qū)動(dòng)了設(shè)計(jì)范式的升級。而且這種范式升級非常契合Rich Sutton的《苦澀的教訓(xùn)》,即從長期來看通過搜索和學(xué)習(xí)來擴(kuò)展計(jì)算量的通用型方法勝過以人為中心的方法,其中學(xué)習(xí)就是訓(xùn)練(大模型的scaling law)。
智能體系統(tǒng)自主性面臨著2個(gè)邊界問題,即知識邊界和能力邊界,也分別對應(yīng)LLMs應(yīng)用的2大抓手:信息和工具。從目前來看,大(語言)模型仍然是數(shù)據(jù)驅(qū)動(dòng)的,所以要想解決這2個(gè)邊界問題,仍然需要從訓(xùn)練數(shù)據(jù)著手,進(jìn)行針對性的模型訓(xùn)練。同時(shí)考慮到信息空間和工具庫都是不斷擴(kuò)展的,環(huán)境是動(dòng)態(tài)的(dynamic),并且與環(huán)境交互是多輪或多步的(long horizon),目前的訓(xùn)練方式也從有監(jiān)督微調(diào)(SFT)逐步升級進(jìn)化到強(qiáng)化學(xué)習(xí)(RL)后訓(xùn)練,以獲得更好的自主性、泛化性、靈活性,比如Search-R1、ReSearch、Kimi-Researcher、SimpleTIR、Alibaba Web Agent系列等。正所謂授人以魚不如授人以漁,SFT 更像是前者的授人以魚,而RL更像是后者的授人以漁。
誠如月之暗面在技術(shù)博客《Kimi-Researcher: End-to-End RL Training for Emerging Agentic Capabilities》中提到的未來愿景:從一個(gè)專注于搜索與推理的智能體,逐步演化為能夠運(yùn)用不斷擴(kuò)展的工具集解決各類復(fù)雜任務(wù)的通用型智能體,這和邁向通用人工智能(AGI)的愿景也是一致的。
參考文獻(xiàn)
《OpenAI Deep Research》
https://openai.com/index/introducing-deep-research/
《Anthropic Multi-Agent Research System》
https://www.anthropic.com/engineering/built-multi-agent-research-system
《JinaAI Deep(Re)Search Guide》
https://jina.ai/news/a-practical-guide-to-implementing-deepsearch-deepresearch/
《Kimi-Researcher》
https://moonshotai.github.io/Kimi-Researcher/
《ByteDance DeerFlow》
https://deerflow.tech/
《Google Gemini Search Agent》
https://github.com/google-gemini/gemini-fullstack-langgraph-quickstart
《A Practical Guide to Implementing DeepSearch/DeepResearch》
https://jina.ai/news/a-practical-guide-to-implementing-deepsearch-deepresearch/
《How and when to build multi-agent systems》
https://blog.langchain.com/how-and-when-to-build-multi-agent-systems/
《Kimi-Researcher: End-to-End RL Training for Emerging Agentic Capabilities》
https://moonshotai.github.io/Kimi-Researcher/
感謝你讀到這里,不如關(guān)注一下?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.