CN120256852A 問答處理方法、設備、存儲介質(zhì)和系統(tǒng) (杭州阿里云飛天信息技術有限公司)_第1頁
CN120256852A 問答處理方法、設備、存儲介質(zhì)和系統(tǒng) (杭州阿里云飛天信息技術有限公司)_第2頁
CN120256852A 問答處理方法、設備、存儲介質(zhì)和系統(tǒng) (杭州阿里云飛天信息技術有限公司)_第3頁
CN120256852A 問答處理方法、設備、存儲介質(zhì)和系統(tǒng) (杭州阿里云飛天信息技術有限公司)_第4頁
CN120256852A 問答處理方法、設備、存儲介質(zhì)和系統(tǒng) (杭州阿里云飛天信息技術有限公司)_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

(19)國家知識產(chǎn)權局(10)申請公布號CN120256852A(71)申請人杭州阿里云飛天信息技術有限公司道文一西路969號3幢5層553室余亮(74)專利代理機構北京太合九思知識產(chǎn)權代理有限公司11610專利代理師孫明子(54)發(fā)明名稱本發(fā)明實施例提供一種問答處理方法、設于用戶問題,包含第一工具集信息的第一提示詞能體執(zhí)行的多個求解任務信息及需要第一智能體執(zhí)行的匯總?cè)蝿招畔?,將多個求解任務信息依次發(fā)送至第二智能體。第二智能體基于收到的當前求解任務信息,包含第二工具集信息的第二提信息對應的任務執(zhí)行信息,以據(jù)此從應用服務器中獲取當前求解任務信息的任務執(zhí)行結(jié)果。第一智能體總結(jié)多個求解任務信息的任務執(zhí)行結(jié)果a2第一智能體和所述第二智能體共用同一大語言模型;所述第一智能體,用于接收用戶問題,將所述用戶問題拼接到第一提示詞模板中,基于所述第一提示詞模板中包含的第一工具集信息和所述大語言模型,獲取所述大語言模型依次生成的多個求解任務信息以及匯總?cè)蝿招畔?,將所述多個求解任務信息依次發(fā)送至所述第二智能體;所述第二智能體,用于將所述多個求解任務信息中接收到的當前求解任務信息拼接到第二提示詞模板中,基于所述第二提示詞模板中包含的第二工具集信息和所述大語言模型,獲取與所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的所述應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果,將所述任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后通過所述大語言模型生成下一求解任務信息;所述第一智能體,用于基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息。2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述第一智能體,還用于從外部知識庫中獲取與所述用戶問題之間的相似度符合設定條件的背景知識信息,和/或,獲取與所述用戶問題對應的歷史對話記錄;將所述背景知識信息和/或所述歷史對話記錄拼接到所述第一提示詞模板中,所述歷史對話記錄是同一用戶的多輪對話中位于所述用戶問題之前的問題及對應的回復信息。3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后通過所述大語言模型生成所述下一求解任務信息的過程中,所述第一智能體用于:將所述當前求解任務信息和所述當前求解任務信息的任務執(zhí)行結(jié)果,拼接到所述第一提示詞模板中以得到第一提示詞,將所述第一提示詞輸入所述大語言模型,以得到所述下一求解任務信息。4.根據(jù)權利要求1至3中任一項所述的系統(tǒng),其特征在于,所述第一提示詞模板用于提示所述大語言模型對所述用戶問題進行逐步求解時所需生成的任務信息的格式;所述大語言模型生成的所述多個求解任務信息和所述匯總?cè)蝿招畔⒅械拿總€任務信息中包括第一思考信息、第一行動信息和第一反饋標識,所述第一思考信息用于描述需要完成的任務,所述第一行動信息用于描述執(zhí)行所述任務需要從所述第一工具集信息中選擇的工具和所述工具的輸入?yún)?shù),所述第一反饋標識用于指示所述任務的執(zhí)行結(jié)果的填寫位5.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述第二智能體,還用于接收所述第一智能體發(fā)送的與所述用戶問題對應的背景知識信息和/或歷史對話記錄,將所述背景知識信息和/或所述歷史對話記錄拼接到所述第二提示詞模板中,所述歷史對話記錄是同一用戶的多輪對話中位于所述用戶問題之前的問題及對應的回復信息,所述背景知識信息是外部知識庫中與所述用戶問題之間的相似度符合設定條件的背景知識信息。6.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述第二提示詞模板用于提示所述大語言模型針對所述當前求解任務信息所需生成的任務執(zhí)行信息的格式;所述任務執(zhí)行信息中包括第二思考信息、第二行動信息和第二反饋標識,所述第二思3考信息用于描述需要完成的求解任務,所述第二行動信息用于描述執(zhí)行所述求解任務需要從所述第二工具集信息中選用的工具和所述工具的輸入?yún)?shù),所述第二反饋標識用于指示所述求解任務的執(zhí)行結(jié)果的填寫位置。7.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述當前求解任務信息對應的任務執(zhí)行信息的數(shù)量為多個;所述第二智能體還用于:在基于第一任務執(zhí)行信息從所述應用服務器獲取對應的第一任務執(zhí)行結(jié)果后,將所述第一任務執(zhí)行信息和所述第一任務執(zhí)行結(jié)果拼接到所述第二提示詞模板,將得到的第二提示詞輸入所述大語言模型,以得到所述大語言模型生成的第二任務執(zhí)行信息。8.根據(jù)權利要求1所述的系統(tǒng),其特征在于,在所述第一智能體匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息的過程中,所述第一智能體用于:將所述用戶問題、所述多個求解任務信息的任務執(zhí)行結(jié)果以及從外部知識庫中獲取的與所述用戶問題之間的相似度符合設定條件的背景知識信息,拼接到第三提示詞模板中以得到第三提示詞,將所述第三提示詞輸入所述大語言模型,以得到所述大語言模型輸出的所述回復信息。9.一種問答處理方法,其特征在于,應用于第一智能體,所述第一智能體與第二智能體交互以完成所述問答處理方法,所述第一智能體和所述第二智能體共用同一大語言模型,所述方法包括:接收用戶問題;將所述用戶問題拼接到第一提示詞模板中,以基于所述第一提示詞模板中包含的第一工具集信息和所述大語言模型,獲取所述大語言模型依次生成的多個求解任務信息以及匯總?cè)蝿招畔ⅲ粚⑺龆鄠€求解任務信息依次發(fā)送至所述第二智能體,以使所述第二智能體基于第二提示詞模板、收到的當前求解任務信息和所述大語言模型,獲取所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果,將所述任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,所述第二提示詞模板中包含第二工具集信息;獲取所述第二智能體發(fā)送的所述多個求解任務信息的任務執(zhí)行結(jié)果;基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息。10.根據(jù)權利要求9所述的方法,其特征在于,所述從外部知識庫中獲取與所述用戶問題之間的相似度符合設定條件的背景知識信息,和/或,獲取與所述用戶問題對應的歷史對話記錄;將所述背景知識信息和/或所述歷史對話記錄拼接到所述第一提示詞模板中,所述歷史對話記錄是同一用戶的多輪對話中位于所述用戶問題之前的問題及對應的回復信息。11.根據(jù)權利要求9所述的方法,其特征在于,所述多個求解任務信息的生成過程,包在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后,將所述當前求解任務信息和所述當前求解任務信息的任務執(zhí)行結(jié)果,拼接到所述第一提示詞模板中以得到第一提示詞;4將所述第一提示詞輸入所述大語言模型,以得到所述下一求解任務信息。12.根據(jù)權利要求9至11中任一項所述的方法,其特征在于,所述匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息,包括:將所述用戶問題、所述多個求解任務信息的任務執(zhí)行結(jié)果以及從外部知識庫中獲取的與所述用戶問題之間的相似度符合設定條件的背景知識信息,拼接到第三提示詞模板中以得到第三提示詞;將所述第三提示詞輸入所述大語言模型,以得到所述大語言模型輸出的所述回復信13.一種問答處理方法,其特征在于,應用于與第一智能體交互以完成所述問答處理方法的第二智能體,所述第一智能體和所述第二智能體共用同一大語言模型,所述方法包括:接收所述第一智能體發(fā)送的與用戶問題對應的當前求解任務信息;其中,所述第一智能體基于所述用戶問題、第一提示詞模板和所述大語言模型,獲取所述大語言模型依次生成的需要多個求解任務信息以及匯總?cè)蝿招畔?,所述第一提示詞模板中包含第一工具集信息,所述當前求解任務信息是所述多個求解任務信息中當前發(fā)送至所述第二智能體的求解任務信息;將所述當前求解任務信息拼接到第二提示詞模板中,以基于所述第二提示詞模板中包含的第二工具集信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息;根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果;將所述當前求解任務信息的任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果以確定與所述用戶問題對應的回復信息。存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被所述處理器執(zhí)行時,使所述處理器執(zhí)行如權利要求9至12中任一項或權利要求13所述的問答處理方法。15.一種非暫時性機器可讀存儲介質(zhì),其特征在于,所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被電子設備的處理器執(zhí)行時,使所述處理器執(zhí)行如權利要求9至12中任一項或權利要求13所述的問答處理方法。5問答處理方法、設備、存儲介質(zhì)和系統(tǒng)技術領域[0001]本發(fā)明涉及人工智能技術領域,尤其涉及一種問答處理方法、設備、存儲介質(zhì)和系統(tǒng)。背景技術[0002]大語言模型(LargeLanguageModel,簡稱LLM)技術的不斷發(fā)展及模型各方面性能的大幅提升,各種基于LLM的應用也正受到廣泛關注。[0003]以智能交通領域為例,在智能交通領域中,用戶會存在想要了解所在城市的當日擁堵情況等交通狀況的需求。現(xiàn)有的一種在智能交通領域基于LLM來與用戶交互的方式是:利用了LLM的代碼生成能力,在接收到用戶輸入的問題后,LLM能夠自動生成對應的SQL查詢指令,再通過執(zhí)行SQL腳本即可在交通服務平臺中實現(xiàn)相關數(shù)據(jù)的查詢。這種基于自然語言轉(zhuǎn)SQL查詢的方案,應用場景比較受限,僅適用于基于SQL語句的數(shù)據(jù)查詢類任務,且受制于當前LLM的能力限制,目前的多表聯(lián)合查詢能力比較弱。發(fā)明內(nèi)容[0004]本發(fā)明實施例提供一種問答處理方法、設備、存儲介質(zhì)和系統(tǒng),用以通過不同智能體的配合,準確地對用戶問題進行自動回復。[0005]第一方面,本發(fā)明實施例提供一種問答處理系統(tǒng),包括:第一智能體、第二智能體和應用服務器,所述第一智能體和所述第二智能體共用同一大語言模型;[0006]所述第一智能體,用于接收用戶問題,將所述用戶問題拼接到所述第一智能體對應的第一提示詞模板中,基于所述第一提示詞模板中包含的第一工具集信息和所述大語言模型,獲取所述大語言模型依次生成的需要調(diào)用所述第二智能體執(zhí)行的多個求解任務信息以及需要所述第一智能體執(zhí)行的匯總?cè)蝿招畔?,將所述多個求解任務信息依次發(fā)送至所述第二智能體;[0007]所述第二智能體,用于將收到的當前求解任務信息拼接到所述第二智能體對應的第二提示詞模板中,基于所述第二提示詞模板中包含的第二工具集信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的所述應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果,將所述任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后通過所述大語言模型生成下一求解任務信息;[0008]所述第一智能體,用于基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息。[0009]第二方面,本發(fā)明實施例提供一種問答處理方法,應用于第一智能體,所述第一智能體與第二智能體交互以完成所述問答處理方法,所述第一智能體和所述第二智能體共用6[0011]將所述用戶問題拼接到所述第一智能體對應的第一提示詞模板中,以基于所述第一提示詞模板中包含的第一工具集信息和所述大語言模型,獲取所述大語言模型依次生成的需要調(diào)用所述第二智能體執(zhí)行的多個求解任務信息以及需要所述第一智能體執(zhí)行的匯總?cè)蝿招畔?;[0012]將所述多個求解任務信息依次發(fā)送至所述第二智能體,以使所述第二智能體基于所述第二智能體對應的第二提示詞模板、收到的當前求解任務信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果,將所述任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后通過所述大語言模型生成下一求解任務信息,所述第二提示詞模板中包含第二工具集信息;[0013]獲取所述第二智能體發(fā)送的所述多個求解任務信息的任務執(zhí)行結(jié)果;[0014]基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息。[0015]第三方面,本發(fā)明實施例提供一種問答處理裝置,應用于第一智能體,所述第一智能體與第二智能體交互以完成問答處理,所述第一智能體和所述第二智能體共用同一大語[0017]生成模塊,用于將所述用戶問題拼接到所述第一智能體對應的第一提示詞模板中,以基于所述第一提示詞模板中包含的第一工具集信息和所述大語言模型,獲取所述大語言模型依次生成的需要調(diào)用所述第二智能體執(zhí)行的多個求解任務信息以及需要所述第一智能體執(zhí)行的匯總?cè)蝿招畔ⅲ籟0018]發(fā)送模塊,用于將所述多個求解任務信息依次發(fā)送至所述第二智能體,以使第二智能體基于所述第二智能體對應的第二提示詞模板、收到的當前求解任務信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果,將所述任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體在得到所述當前求解任務信息的任務執(zhí)行結(jié)果后通過所述大語言模型生成下一求解任務信息,所述第二提示詞模板中包含第二工具集信息;[0019]獲取模塊,用于獲取所述第二智能體發(fā)送的所述多個求解任務信息的任務執(zhí)行結(jié)[0020]總結(jié)模塊,用于基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果,以確定與所述用戶問題對應的回復信息。[0021]第四方面,本發(fā)明實施例提供一種問答處理方法,應用于與第一智能體交互以完成所述問答處理方法的第二智能體,所述第一智能體和所述第二智能體共用同一大語言模[0022]接收所述第一智能體發(fā)送的與用戶問題對應的當前求解任務信息;其中,所述第一智能體基于所述用戶問題、所述第一智能體對應的第一提示詞模板和所述大語言模型,獲取所述大語言模型依次生成的需要調(diào)用所述第二智能體執(zhí)行的多個求解任務信息以及7需要所述第一智能體執(zhí)行的匯總?cè)蝿招畔?,所述第一提示詞模板中包含第一工具集信息,所述當前求解任務信息是所述多個求解任務信息中當前發(fā)送至所述第二智能體的求解任[0023]將所述當前求解任務信息拼接到所述第二智能體對應的第二提示詞模板中,以基于所述第二提示詞模板中包含的第二工具集信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息;[0024]根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果;[0025]將所述當前求解任務信息的任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體基于所述匯總?cè)蝿招畔?,匯總所述多個求解任務信息的任務執(zhí)行結(jié)果以確定與所述用戶問題對應的回復信息。[0026]第五方面,本發(fā)明實施例提供一種問答處理裝置,應用于與第一智能體交互以完成問答處理的第二智能體,所述第一智能體和所述第二智能體共用同一大語言模型,所述裝置包括:[0027]接收模塊,用于接收所述第一智能體發(fā)送的與用戶問題對應的當前求解任務信息;其中,所述第一智能體基于所述用戶問題、所述第一智能體對應的第一提示詞模板和所述大語言模型,獲取所述大語言模型依次生成的需要調(diào)用所述第二智能體執(zhí)行的多個求解任務信息以及需要所述第一智能體執(zhí)行的匯總?cè)蝿招畔?,所述第一提示詞模板中包含第一工具集信息,所述當前求解任務信息是所述多個求解任務信息中當前發(fā)送至所述第二智能體的求解任務信息;[0028]處理模塊,用于將所述當前求解任務信息拼接到所述第二智能體對應的第二提示詞模板中,以基于所述第二提示詞模板中包含的第二工具集信息和所述大語言模型,獲取所述大語言模型生成的與所述當前求解任務信息對應的任務執(zhí)行信息,根據(jù)所述任務執(zhí)行信息從所述用戶問題對應的應用服務器中獲取所述當前求解任務信息的任務執(zhí)行結(jié)果;[0029]發(fā)送模塊,用于將所述當前求解任務信息的任務執(zhí)行結(jié)果發(fā)送至所述第一智能體,以使所述第一智能體基于所述匯總?cè)蝿招畔ⅲ瑓R總所述多個求解任務信息的任務執(zhí)行結(jié)果以確定與所述用戶問題對應的回復信息。中,所述存儲器上存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被所述處理器執(zhí)行時,使所述處理器至少可以實現(xiàn)如第二方面或第四方面所述的問答處理方法。[0031]第七方面,本發(fā)明實施例提供了一種非暫時性機器可讀存儲介質(zhì),所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被電子設備的處理器執(zhí)行時,使所述處理器至少可以實現(xiàn)如第二方面或第四方面所述的問答處理方法。[0032]本發(fā)明實施例提供一種問答處理系統(tǒng),其中包括作為主控智能體的第一智能體、作為被控智能體的第二智能體以及應用服務器(比如智能交通服務器),第一智能體和第二智能體共用同—LLM。其中,第一智能體的功能主要是規(guī)劃用戶問題的逐步求解流程,即進行用戶問題的求解任務的逐步分解,而每個分解出來的求解任務會下發(fā)給第二智能體來執(zhí)行,即獲取相應求解任務的任務執(zhí)行結(jié)果,最終,第一智能體總結(jié)每個求解任務的任務執(zhí)行結(jié)果,以得到向用戶輸出的回復信息。其中,第一智能體每當生成一個求解任務信息并下發(fā)8第二智能體執(zhí)行以得到對應的任務執(zhí)行結(jié)果后會生成下一個求解任務信息,如此迭代下[0033]具體地,第一智能體接收到用戶問題后,可以將用戶問題拼接到基于第一智能體對應的第一提示詞模板中,以便產(chǎn)生對應的提示詞輸入到LLM。其中,第一提示詞模板中包含有第一智能體在處理用戶問題過程中可以使用的第一工具集信息,其中比如包括調(diào)用第二智能體以完成某求解任務的工具,以及總結(jié)多個求解任務的執(zhí)行結(jié)果的工具。LLM基于第一智能體依次輸入的提示詞,依次生成用戶問題對應的需要調(diào)用第二智能體執(zhí)行的多個求解任務信息以及需要第一智能體執(zhí)行的匯總?cè)蝿招畔?,第一智能體將多個求解任務信息依次發(fā)送至第二智能體。[0034]第二智能體將收到的當前求解任務信息拼接到第二智能體對應的第二提示詞模板中,基于第二提示詞模板中包含的第二工具集信息,產(chǎn)生相應提示詞以輸入LLM,基于LLM輸出的任務執(zhí)行信息,從用戶問題對應的應用服務器中獲取當前求解任務信息的任務執(zhí)行結(jié)果,將該任務執(zhí)行結(jié)果發(fā)送至第一智能體。這樣第一智能體在得到該當前求解任務信息的任務執(zhí)行結(jié)果后,基于該任務執(zhí)行結(jié)果以及第一提示詞模板可以通過LLM生成上述多個求解任務信息中該當前求解任務信息的下一個求解任務信息。[0035]在第一智能體將用戶問題的求解過程分解成多個求解任務信息,并控制第二智能體完成每個求解任務信息的執(zhí)行,得到對應的任務執(zhí)行結(jié)果后,第一智能體基于通過LLM生成的匯總?cè)蝿招畔?,總結(jié)多個求解任務信息的任務執(zhí)行結(jié)果,以確定與用戶問題對應的回[0036]本發(fā)明實施例提供的上述問答處理方案,通過引入用于控制用戶問題的整體求解流程的第一智能體以及用于完成某種特定功能——比如數(shù)據(jù)收集功能的第二智能體,將智能體按照其角色進行了層次化拆解,不同智能體處理不同類型的任務:第一智能體負責規(guī)劃用戶問題的整體求解流程,根據(jù)用戶問題和每步求解任務執(zhí)行后得到的執(zhí)行結(jié)果,判斷需要繼續(xù)調(diào)用第二智能體完成下一求解任務,或是對已有執(zhí)行結(jié)果進行總結(jié)并回復,實際的求解任務執(zhí)行邏輯由第二智能體負責,這樣降低了LLM每一步思考的復雜性,減少出錯可能,提升了智能體解決問題的能力以及可擴展性。通過引入第二智能體,實現(xiàn)了對接應用服務器中不同功能類型的工具(比如API),相比于基于自然語言轉(zhuǎn)SQL查詢的方案,擴展了LLM的能力邊界,可以覆蓋更廣泛的應用場景。此外,由于L入的文本過長,會導致其決策能力下降。而智能體需要將可用工具的描述、輸入?yún)?shù)等信息以文本的形式發(fā)給LLM,比如上述第一、第二提示詞模板中都包含相應工具集信息。當需要使用的工具比較多時,輸入給LLM的文本會十分冗長,甚至可能超過其允許輸入的長度上限。而本發(fā)明實施例中,通過劃分不同類別的智能體,相當于對工具進行了分類,每個智能體所使用的工具數(shù)量就比較少,那么每個智能體獨立的向LLM輸入相應工具集信息的文本會短很多,從而能夠降低LLM輸入文本的長度,保證LLM的可靠工作。附圖說明[0037]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的9[0038]圖1為本發(fā)明實施例提供的一種問答處理方法的硬件執(zhí)行環(huán)境的示意圖;[0039]圖2為本發(fā)明實施例提供的一種問答處理方法的云計算環(huán)境的示意圖;[0040]圖3為本發(fā)明實施例提供的一種問答處理方法的應用示意圖;[0041]圖4為本發(fā)明實施例提供的一種問答處理系統(tǒng)的組成示意圖;[0042]圖5為本發(fā)明實施例提供的一種問答處理方法的流程圖;[0043]圖6為本發(fā)明實施例提供的一種問答處理方法的流程圖;[0044]圖7為本發(fā)明實施例提供的一種問答處理裝置的結(jié)構示意圖;[0045]圖8為本發(fā)明實施例提供的另一種問答處理裝置的結(jié)構示意圖;[0046]圖9為本發(fā)明實施例提供的一種電子設備的結(jié)構示意圖。具體實施方式[0047]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。[0048]需要說明的是,本發(fā)明實施例中所涉及的用戶信息(包括但不限于用戶設備信息、用戶個人信息等)和數(shù)據(jù)(包括但不限于用于分析的數(shù)據(jù)、存儲的數(shù)據(jù)、展示的數(shù)據(jù)等),均為經(jīng)用戶授權或者經(jīng)過各方充分授權的信息和數(shù)據(jù),并且相關數(shù)據(jù)的收集、使用和處理需要遵守相關國家和地區(qū)的相關法律法規(guī)和標準,并提供有相應的操作入口,供用戶選擇授權或者拒絕。[0049]下面結(jié)合附圖對本發(fā)明的一些實施方式作詳細說明。在各實施例之間不沖突的情況下,下述的實施例及實施例中的特征可以相互組合。另外,下述各方法實施例中的步驟時[0050]先對本發(fā)明實施例中涉及到的術語或概念進行解釋說明:[0052]提示詞(Prompt):大語言模型的提示詞,是與大語言模型交互的輸入,通常包含指[0053]token:大語言模型處理文本的最小單位??刂芁LM來解決問題的代理系統(tǒng),它是一種能夠感知環(huán)境、進行決策和執(zhí)行動作的智能實體。AI智能體可以是物理實體(如機器人)或虛擬實體(如計算機程序),其通過感知環(huán)境中的信息、進行行動決策和執(zhí)行行動來實現(xiàn)特定的任務或目標。[0055]應用程序接口:ApplicationProgrammingInterface,簡稱API,本文中是指智能體與交通等服務平臺交互的通道/接口。[0056]隨著LLM技術的不斷發(fā)展及模型各方面性能的大幅提升,各種基于LLM的應用也正受到廣泛關注,其中,LLM驅(qū)動的智能體(AI-Agent)是一個重要的研究方向,其通過自然語目前很多應用領域中使用的都是基于單智能體的方案:通過單個智能體完成任務拆解、工具調(diào)用與結(jié)果總結(jié),其缺點是在需要調(diào)用不同類別的多種復雜任務的場景時,智能體的注意力集中在處理工具調(diào)用的結(jié)果上,容易忽略對于問題整體求解情況的關注,可能產(chǎn)生偏離初始目標或是忽略了前序求解結(jié)果等問題,即不能很好地完成多步驟的連續(xù)求解。[0057]鑒于此,本發(fā)明實施例提供一種基于多智能體聯(lián)合對用戶問題進行求解的方案,具體地,通過引入用于控制用戶問題的整體求解流程的第一智能體(角色為主控智能體)以及用于完成某種特定功能——比如數(shù)據(jù)收集功能的第二智能體(角色為功能智能體),將智能體按照其角色進行了層次化拆解,不同智能體處理不同類型的任務:第一智能體負責規(guī)劃用戶問題的整體求解流程,根據(jù)用戶問題和每步求解任務執(zhí)行后得到的執(zhí)行結(jié)果,判斷需要繼續(xù)調(diào)用第二智能體完成下一求解任務,或是對已有執(zhí)行結(jié)果進行總結(jié)并回復,實際的求解任務執(zhí)行邏輯由第二智能體負責,這樣降低了LLM每一步思考的復雜性,減少出錯可能,提升了智能體解決問題的能力以及可擴展性。[0058]本發(fā)明實施例提供的問答處理方案可以適用于各種應用場景中,包括但不限于智能交通場景、數(shù)據(jù)庫查詢場景、電商場景等等。在不同應用場景中,用戶會產(chǎn)生想要問答處理系統(tǒng)自動回復的用戶問題,該問答處理系統(tǒng)通過對接相應的后臺服務系統(tǒng)(比如智能交通服務器),基于問答處理系統(tǒng)中包含的多個智能體,通過對用戶問題進行逐步求解,以逐步從后臺服務系統(tǒng)中獲取所需數(shù)據(jù),以最終總結(jié)出用戶問題的回復信息。其中,用戶問題的自動回復實際上就是一個問答任務,對用戶問題的逐步求解即為對該問答任務的逐步求解,逐步求解主要體現(xiàn)為主控智能體將該問答任務分拆為多個子任務(下文中的求解任務),功能智能體執(zhí)行子任務得到相應執(zhí)行結(jié)果,主控智能體總結(jié)每個子任務的執(zhí)行結(jié)果以便確定用戶問題的回復信息。[0059]下面對本發(fā)明實施例提供的問答處理方案進行介紹說明。[0060]圖1為本發(fā)明實施例提供的一種問答處理方法的硬件執(zhí)行環(huán)境的示意圖,如圖1所示,該問答處理方法的硬件執(zhí)行環(huán)境可以由用戶設備101、問答服務器102和應用服務器103構成,客戶端設備101與問答服務器102通信連接、問答服務器102與應用服務器103通信連[0061]用戶設備101可以是獨立使用的某一種終端設備,比如智能手機、平板電腦、PC機等,還可以是搭配使用的兩個或多個終端設備,比如擴展現(xiàn)實設備101a與智能手機101b。擴展現(xiàn)實設備101a可以是虛擬現(xiàn)實設備、增強現(xiàn)實設備等。[0062]問答服務器102可以是應用提供商的服務器,也可以是云服務商的云服務器。應用服務器103可以是應用提供商的服務器,也可以是云服務商的云服務器。問答服務器102和應用服務器103從物理位置角度說,可以位于相同或不同的物理主機中,問答服務器102是指執(zhí)行本發(fā)明實施例提供的問答處理方案的服務器,而應用服務器103是指問答服務器102需要與之交互以獲得與用戶問題相關的數(shù)據(jù)的提供某種應用服務的服務器,比如智能交通[0063]可選地,用戶設備101由擴展現(xiàn)實(XR)設備101a與智能手機101b時,上述問答處理方法的執(zhí)行過程可以是:用戶以自然語言形式向智能手機101b輸入用戶問題,智能手機101b將該用戶問題發(fā)送至問答服務器102,問答服務器102執(zhí)行本發(fā)明實施例提供的問答處理方法,通過與應用服務器103交互來最終得到用戶問題對應的回復信息,將該回復信息發(fā)送至智能手機101b,智能手機101b將該回復信息發(fā)送至擴展現(xiàn)實設備101a進行展示。11[0064]實際應用中,上述問答服務器102可以是應用提供商維護的一個獨立的物理服務器或物理服務器集群,也可以是云服務商維護的云服務器一稱為計算節(jié)點。在如圖2所示的云計算環(huán)境中,可以包括分布式部署的若干(圖2中示意的201-1,201-2,…)計算節(jié)點(云服務器),每個計算節(jié)點中都具有計算、存儲等處理資源。在云計算環(huán)境中,可以組織由多個計算節(jié)點來提供某種服務,當然,一個計算節(jié)點也可以提供一種或多種服務,比如圖2中示意202,客戶端設備調(diào)用該服務接口202以使用相應的服務。服務接口202包括軟件開發(fā)工具包(SoftwareDevelopmentKit,簡稱SDK)、應用程序接口(ApplicationProgrammingInterface,簡稱API)等形式。[0065]上述服務是根據(jù)云計算環(huán)境所支持的各種虛擬化技術來部署的,比如基于虛擬機、容器的虛擬化技術。以基于容器的虛擬化技術為例,一個服務對應的若干容器可以被組裝成一個容器組(pod)。比如圖2中示意的服務B可以配置有一個或多個pod,每個pod內(nèi)可以包括代理以及一個或多個容器。pod中的一個或多個容器用于處理與服務的一個或多個相應功能相關的請求,pod中的代理用于控制與服務相關的網(wǎng)絡功能,比如路由、負載均衡等。[0066]在操作過程中,執(zhí)行來自用戶設備的請求,可能需要調(diào)用云計算環(huán)境中的一個或多個服務,執(zhí)行一個服務的一個或多個功能可能需要調(diào)用另一個服務的一個或多個功能。如圖2所示,服務A接收到用戶設備發(fā)出的請求后,可以調(diào)用服務B,服務B可以請求服務D執(zhí)行一個或多個功能。[0067]在上述云計算環(huán)境下,本發(fā)明實施例提供了如圖3所示的一種問答處理方法的應用示意圖。[0068]在圖3中,云計算環(huán)境中提供有如下三個服務:第一智能體、第二智能體和LLM,這三個服務可以位于同一計算節(jié)點或不同計算節(jié)點,第一智能體可以調(diào)用第二智能體和LLM,第二智能體可以調(diào)用LLM。另外,第二智能體還可以與應用服務器103交互,第一智能體可以與用戶設備101交互。第一智能體接收到用戶通過用戶設備101發(fā)出的用戶問題后,第一智能體、第二智能體和LLM基于本發(fā)明實施例提供的問答處理方案最終確定用戶問題的回復信息,第一智能體將該回復信息反饋給用戶設備101。[0069]圖4為本發(fā)明實施例提供的一種問答處理系統(tǒng)的工作原理示意圖,如圖4所示,該共用同一LLM。[0070]第一智能體,作為主控智能體,其功能在于規(guī)劃和控制用戶問題的求解任務的整體求解流程。如圖4中所示,在一可選實施例中,第一智能體中可以包括背景知識獲取模塊,此時,第一智能體首先從用戶輸入中接收任務,即接收用戶問題,之后通過背景知識獲取模塊從外部知識庫中獲取與用戶問題相關的背景知識。在此基礎上,通過“思考/行動/反饋”會調(diào)用總結(jié)模塊,對當前任務的所有中間步驟產(chǎn)生的執(zhí)行結(jié)果進行總結(jié),以得到最終的回復信息并進行輸出。[0071]如現(xiàn)有相關技術中所介紹的,智能體的主要功能組件包括記憶、思考(即規(guī)劃)、行[0072]本質(zhì)上而言,“思考/行動/反饋”機制是一種用于解決任務的提示詞模版,通過對制在每一步的主要工作如下:[0074]行動:LLM給出下一步行動需要調(diào)[0075]反饋:后端(指第一智能體)根據(jù)LLM輸出的“行動”,調(diào)用對應的工具或其他智能[0077]第一智能體接收用戶問題,將用戶問題拼接(即插入到模板中相應位置)到第一智能體對應的第一提示詞模板中,基于第一提示詞模板中包含的第一工具集信息和LLM,獲取LLM依次生成的需要調(diào)用第二智能體執(zhí)行的多個求解任務信息以及需要第一智能體執(zhí)行的匯總?cè)蝿招畔?,將多個求解任務信息依次發(fā)送至第二智能體。第一智能體基于匯總?cè)蝿招畔?,匯總(即總結(jié))多個求解任務信息的任務執(zhí)行結(jié)果,以確定與用戶問題對應的回復信息。其中,多個求解任務信息的任務執(zhí)行結(jié)果是第二智能體反饋給第一智能體的。[0078]結(jié)合圖4來簡單示例說明上述執(zhí)行過程。如圖4中所示,第一智能體的“思考/行動/反饋”機制的執(zhí)行過程包括:首先,第一智能體獲得多個維度的相關信息(比如圖4中示意的用戶問題、背景知識、從記憶模塊中獲取的歷史對話記錄、當前思考記錄),將這些信息拼接到第一提示詞模板中以得到當前一輪執(zhí)行“思考/行動/反饋”機制所產(chǎn)生的第一提示詞,其[0079]第一提示詞模板中包括第一智能體可以使用的第一工具集信息,也就是說,LLM從第一提示詞中可以獲知其產(chǎn)生“行動”內(nèi)容時可以使用的工具有什么。圖4中示意了第一智能體可以使用的三種工具:總結(jié)模塊所代表的“總結(jié)(summary)”工具、交互模塊所代表的“向用戶提問(askuser)”工具以及調(diào)用第二智能體進行數(shù)據(jù)收集的“數(shù)據(jù)收集(data)”工具。這里假設第二智能體提供的功能為數(shù)據(jù)收集功能。[0080]其中,如果LLM生成的思考和行動內(nèi)容是指示調(diào)用第二智能體的,那么將此時的生成結(jié)果稱為“求解任務信息”,如果是指示進行總結(jié)的,則將此時[0082]如圖4中所示,第一智能體生成第一提示詞的過程中,可以使用到從記憶模塊中獲[0083]其中,歷史對話記錄是同一用戶多輪對話中位于當前的用戶問題之前的問題及對應的回復信息。其中,當前思考記錄是指第一智能體在對用戶問題進行逐步求解的過程中,每執(zhí)行一輪“思考/行動/反饋”機制后,將本輪最終得到的思考、行動和反饋內(nèi)容形成一個數(shù)據(jù)組,作為下一輪執(zhí)行該機制的當前思考記錄,此時,上一輪的反饋標識后已經(jīng)填寫有第一智能體獲得的反饋數(shù)據(jù)內(nèi)容。[0084]以上針對第一智能體的功能進行了簡單介紹,下面介紹第二智能體的功能。[0085]第二智能體相對于作為主控智能體的第一智能體來說,屬于一種被控的智能體,是一種提供某種具體功能的功能智能體。針對不同的應用場景需求,可以配置一個或多個不同功能智能體,在圖4中示意的是提供數(shù)據(jù)收集功能的第二智能體。在一些應用場景中,比如還可以包括提供數(shù)據(jù)分析與預測功能的智能體,提供數(shù)據(jù)可視化展示功能的智能體,等等。不同的功能智能體所使用的工具集信息不同。[0086]假設第二智能體是提供數(shù)據(jù)收集功能的智能體(可以稱為數(shù)據(jù)智能體),則第二智能體負責接收第一智能體下發(fā)的數(shù)據(jù)收集相關的求解任務信息,并從外部應用服務器(比如是包括數(shù)據(jù)庫的某應用服務器)中獲取對應的數(shù)據(jù)(為圖4中示意的從應用服務器中獲取的原始數(shù)據(jù))并反饋給第一智能體。其中獲取數(shù)據(jù)的過程通過“思考/執(zhí)行/反饋”機制進行。[0087]第二智能體的“思考/執(zhí)行/反饋”機制與第一智能體相類似,概括來說也是基于包并基于其中的行動內(nèi)容的指示,調(diào)用相應工具從應用服務器中獲取相應數(shù)據(jù)。第一提示詞模板與第二提示詞模板的區(qū)別點主要體現(xiàn)為:第一,工具集不同;第二,需要拼接到提示詞模板中的信息不同。[0088]其中,第一智能體的第一工具集比如包括上文舉例的summary、data、askuser等用于控制用戶問題的宏觀求解流程的工具,第二智能體的第二工具集中可以包括對接應用服務器的多種API信息,比如查詢不同數(shù)據(jù)內(nèi)容的不同API。每條API信息中可以包含API功能[0089]其中,如上文所述,拼接到第一提示詞模板中的信息可以包括用戶問題、歷史對話記錄、背景知識、第一智能體對應的當前思考記錄。而第二提示詞模板中拼接的信息可以包括第一智能體當前下發(fā)給第二智能體的求解任務信息(包括思考、行動和反饋內(nèi)容)以及第二智能體對應的當前思考記錄。[0090]其中,第二智能體對應的當前思考記錄是指:假設第二智能體在執(zhí)行第一智能體下發(fā)的某個求解任務信息的過程中,也是需要對該求解任務進行逐步求解的(類似于第一智能體的逐步求解用戶問題的過程),那么在求解過程中,每執(zhí)行一輪“思考/行動/反饋”機制后,將本輪最終得到的思考、行動和反饋內(nèi)容形成一個數(shù)據(jù)組,作為下一輪執(zhí)行該機制的當前思考記錄,此時,上一輪的反饋標識后已經(jīng)填寫有第一智能體獲得的反饋數(shù)據(jù)內(nèi)容。[0091]基于此可知,第一智能體和第二智能體都可能有各自的“當前思考記錄”,獨立進行存儲。[0092]概括來說,第二智能體的工作過程包括:將從第一智能體收到的當前求解任務信息拼接到第二智能體對應的第二提示詞模板中,基于第二提示詞模板中包含的第二工具集信息和LLM,獲取LLM生成的與當前求解任務信息對應的任務執(zhí)行信息,根據(jù)任務執(zhí)行信息從用戶問題對應的應用服務器中獲取當前求解任務信息的任務執(zhí)行結(jié)果,將該任務執(zhí)行結(jié)果發(fā)送至第一智能體,以使第一智能體在得到當前求解任務信息的任務執(zhí)行結(jié)果后通過LLM生成下一求解任務信息。其中,任務執(zhí)行信息用于描述應用對應用服務器觸發(fā)什么樣的[0093]其中,任務執(zhí)行信息即包括思考和行動內(nèi)容以及反饋標識,此時反饋內(nèi)容為空,待第二智能體根據(jù)行動內(nèi)容執(zhí)行相應行動后,得到任務執(zhí)行結(jié)果來填充到反饋標識后,形成反饋內(nèi)容。[0094]圖4中示意的記憶模塊,包含歷史對話記錄、當前思考記錄(第一智能體對應的當前思考記錄以及第二智能體對應的當前思考記錄)、原始數(shù)據(jù)(第二智能體從應用服務器中獲取的數(shù)據(jù))三類子模塊。其中歷史對話記錄模塊用于存儲用戶與第一智能體的歷史問答數(shù)據(jù),包含每一次的“用戶問題”與“返回的回復信息”,一般是問答數(shù)據(jù)。當前思考記錄模塊存儲第一智能體、第二智能體當前一輪對話中“思考/執(zhí)行/反饋”機制運行后產(chǎn)生的中間執(zhí)行結(jié)果。原始數(shù)據(jù)模塊存儲第二智能體在查詢過程中從應用服務器獲取到的原始結(jié)果,用于前端渲染展示,即最終向用戶輸出的除了回復信息外,還可以包括該原始數(shù)據(jù)的可視化展示結(jié)果。[0095]圖4中的總結(jié)模塊,其功能在于對智能體的求解過程進行總結(jié),并給出最終的回復信息。它的輸入包括用戶問題、背景知識以及第一智能體在每輪“思考/執(zhí)行/反饋”機制下產(chǎn)生的各個中間執(zhí)行結(jié)果,總結(jié)模塊將這些信息獲取并組合后,讓LLM給出最終的回復信息??梢岳斫獾氖?,與當前的用戶問題對應的回復信息在確定出之后,可以將該問答對存入記憶模塊中的歷史對話記錄中,以作為該用戶下一輪用戶問題的歷史對話使用。[0096]綜上,本發(fā)明實施例提供的上述問答處理方案中,通過引入用于控制用戶問題的整體求解流程的第一智能體以及用于完成某種特定功能——比如數(shù)據(jù)收集功能的第二智能體,將智能體按照其角色進行了層次化拆解,不同智能體處理不同類型的任務:第一智能體負責規(guī)劃用戶問題的整體求解流程,根據(jù)用戶問題和每步求解任務執(zhí)行后得到的執(zhí)行結(jié)果,判斷需要繼續(xù)調(diào)用第二智能體完成下一求解任務,或是對已有執(zhí)行結(jié)果進行總結(jié)并回復,實際的求解任務執(zhí)行邏輯由第二智能體負責,這樣降低了LLM每一步思考的復雜性,減少出錯可能,提升了智能體解決問題的能力以及可擴展性。通過引入第二智能體,實現(xiàn)了對接應用服務器中不同功能類型的工具(比如API),相比于基于自然語言轉(zhuǎn)SQL查詢的方案,擴展了LLM的能力邊界,可以覆蓋更廣泛的應用場景。此外,由于LLM對于輸入的文本長度有限制,若輸入的文本過長,會導致其決策能力下降。而智能體需要將可用工具的描述、輸入?yún)?shù)等信息以文本的形式發(fā)給LLM,比如上述第一、第二提示詞模板中都包含相應工具集信息。當需要使用的工具比較多時,輸入給LLM的文本會十分冗長,甚至可能超過其允許輸入的長度上限。而本發(fā)明實施例中,通過劃分不同類別的智能體,相當于對工具進行了分類,每個智能體所使用的工具數(shù)量就比較少,那么每個智能體獨立的向LLM輸入相應工具集信[0097]為便于理解,下面示例說明第一智能體的“思考/執(zhí)行/反饋”機制的多輪執(zhí)行過[0099]1、思考(由LLM生成):用戶需要查詢今天余杭區(qū)和西湖區(qū)的擁堵指數(shù),首先查詢余杭區(qū)的擁堵指數(shù);[0100]2、行動(由LLM生成):[data]查詢今天余杭區(qū)的擁堵指數(shù);用第二智能體完成查詢后得到):今天余杭區(qū)的擁堵指數(shù)是1.3;動、反饋]數(shù)據(jù)組):已經(jīng)獲取了余杭區(qū)的擁堵指數(shù),現(xiàn)在查詢西湖區(qū)的擁堵指數(shù);[0104]6、反饋(第一智能體對上一步“行動”文本進行解析,調(diào)用第二智能體完成查詢后得到):今天西湖區(qū)的擁堵指數(shù)是1.41;動、反饋]數(shù)據(jù)組):余杭區(qū)和西湖區(qū)的擁堵指數(shù)已經(jīng)取到,現(xiàn)在可以返回結(jié)果了;[0106]8、行動(由LLM生成):[summary]今天余杭區(qū)的擁堵指數(shù)是1.3,今天西湖區(qū)的擁堵指數(shù)是1.41;[0107]9、反饋:第一智能體識別到“summary”字段,調(diào)用總結(jié)模塊,得到回復信息并返回給用戶。[0109]行動:[工具標識]行動輸入。其中,工具標識也可以稱為工具名稱,指示本行動需湖區(qū)的擁堵指數(shù)”這個自然語言描述作為工具data的輸入?yún)?shù),表示需要調(diào)用第二智能體來執(zhí)行“查詢今天西湖區(qū)的擁堵指數(shù)”這個求解任務。實際應用中,輸入給第二智能體的求解任務信息可以包括但不限于:思考+行動這兩部分內(nèi)容。[0110]參考圖4,下面介紹本發(fā)明實施例提供的問答處理方法的整體執(zhí)行流程,可以包括如下步驟:[0112]用戶以自然語言文本形式輸入作為用戶問題的字符串。第一智能體在接收到用戶Clear”指令,則清除記憶模塊中該用戶的歷史對話記錄,同時直接返回最終結(jié)果為“歷史記錄清除成功”,本輪問答結(jié)束。若字符串不是這種清除指令,則進入正常的問題求解流程。[0113]用戶問題可能是一種比較明確的查詢類問題,比如:今天杭州市的擁堵指數(shù)是多少?查詢西湖區(qū)到余杭區(qū)的出行量。也可能是一種開放性的分析類問題,比如:杭州今天的交通狀況如何?[0114]本發(fā)明實施例中,歷史對話記錄、背景知識都是為了讓LLM能夠更佳準確地理解用戶當前的提問意圖以及能夠最終給出貼合常見語言習慣的回復信息表述。[0115]在該步驟中,可以將用戶問題的字符串輸入第一智能體的背景知識獲取模塊中,以通過背景知識獲取模塊從外部知識庫中查找與該用戶問題相關的背景知識,這個過程的流程如下:[0116]步驟1.1、用戶意圖識別。本步驟為可選的步驟,用于對用戶輸入的用戶問題進行更佳規(guī)范格式的重寫。[0117]將用戶輸入的用戶問題表示為s。第一智能體將s,發(fā)送給LLM,請求其對用戶問題=“查詢杭州今天的擁堵情況”。從而,LLM將用戶比較口語化的問題表述重寫為比較規(guī)范的表達形式。[0119]根據(jù)步驟1.1中識別的領域,確定與該領域?qū)墓δ苤悄荏w(即第二智能體)以及功能智能體對應的工具集信息。例如當識別的領域為“交通”時,確定的第二智能體是適用于交通領域的功能智能體,確定的工具集是對接智能交通服務系統(tǒng)的相關工具,比如各種API。[0120]可以理解的是,若僅提供有適用于特定領域的功能智能體以及對應的工具集,則該步驟1.2則無需執(zhí)行。[0121]步驟1.3、外部知識庫信息抽取。[0122]假設外部知識庫K中包含若干(比如m個)背景知識段落:K=[(k?,v?),(k?,v?),…,(k,v)],其中k,v;,i∈[1,m]分別表示以自然語言形式組織的知識段落的標題和內(nèi)容,例如:(k?=“分析城市擁堵狀況”,v?=“分析一個城市的擁堵狀況,從以下三個步驟展開:1.查詢城市全市的擁堵指數(shù);2.查詢城市中各個地區(qū)的擁堵指數(shù);3.查詢城市最堵的幾條[0123]第一智能體中可以包括一向量表征模型θs,K中的各個段落標題分別經(jīng)過向量表征模型θ處理后,得到的高維向量組為Xk=[xk?,xk?,…,Xkm]·其中,Xk;表示知識段落標題k;的向量表示。并假設設定的相似度閾值為β。[0124]第一智能體將上述s′輸入到向量表征模型θ中,得到對應的向量表示:Xsu°之后,計算×su與X中每個元素的余弦相似度。若與×k;之間的余弦相似度大于閾值β,則確定相應的知識段落內(nèi)容v;作為查詢得到的與用戶問題相關的背景知識?;蛘?,若與×k;之間的余弦相似度大于閾值βt,且與Xkj之間的余弦相似度大于與其他知識段落的標題之間的余弦相似度,則確定相應的知識段落內(nèi)容v;作為查詢得到的與用戶問題相關的背景知識?;蛘呷∮嘞蚁嗨贫却笥谠撻撝档那皀(n為設定值,比如3)個知識段落的內(nèi)容為與用戶問題相關的背景知識。若沒有余弦相似度大于閾值β的知識段落,則返回的背景知識為空字符串。[0125]上述背景知識信息的使用,可以有助于大語言模型更加明確當前的用戶問題,以便于得到更準確的回復結(jié)果。[0126]步驟2、第一智能體任務執(zhí)行。[0127]在完成背景知識提取后,第一智能體開始進行用戶問題的求解任務解析與執(zhí)行,具體步驟如下:[0128]步驟2.1、第一智能體的初始化。第一智能體將記憶模塊中該用戶的與第一智能體對應的當前思考記錄清空以及將該用戶對應的原始數(shù)據(jù)記錄清空。[0129]步驟2.2、LLM提示詞生成。第一智能體將用戶問題、背景知識、該用戶的歷史對話記錄、第一智能體對應的上述當前思考記錄拼接到第一智能體對應的第一提示詞模版中,生成第一提示詞。[0130]其中,由于第一輪執(zhí)行時,經(jīng)過步驟2.1的初始化處理,第一智能體對應的當前思考記錄已經(jīng)清空,所以拼接到第一提示詞模板中的是空字符串。背景知識、歷史對話記錄是可選項。[0131]為便于理解,下面以智能交通場景為例,給出一種第一提示詞模板的示例:[0132]你是一名交通領域的專家。請對用戶的問題給出回答,回答時需要參考具體的數(shù)據(jù)。[0133]首先,以下是可能與問題相關的背景知識:[0135]【拼接歷史對話記錄】式如下:[0137]思考:參考歷史步驟和結(jié)果進行總結(jié)[0138]行動:[工具名稱]行動輸入信息[0139]反饋:包含行動的執(zhí)行結(jié)果[0140]每一步行動中可選的工具如下:[0141][summary]:當與問題相關的信息均獲取完成時,使用此工具總結(jié)并結(jié)束本輪問[0142][data]:數(shù)據(jù)獲取工具,可以調(diào)用此工具來查詢指定數(shù)據(jù)。需要在輸入中使用中文完整描述查詢的對象、數(shù)量、指標等要求。[0143][askuser]:當運行工具失敗,或指令不明確時,使用此工具請求用戶的進一步建[0144]現(xiàn)在開始![0146]當前思考記錄:【拼接當前思考記錄】[0147]在以上的第一提示詞模板的示例中,口中的內(nèi)容會被更新,即會拼接輸入相應的用戶問題、背景知識、歷史對話記錄、第一智能體的當前思考記錄,而其他內(nèi)容是固定不變的。且第一提示詞模板中給出了上述示例的第一工具集信息。[0148]由此可見,第一提示詞模板用于提示LLM對用戶問題進行逐步求解時每個步驟所需生成的任務信息的格式。其中,每個任務信息中包括思考信息、行動信息和反饋標識,思考信息用于描述需要完成的任務,行動信息用于描述執(zhí)行該任務需要從第一工具集信息中選擇的工具和工具的輸入?yún)?shù),反饋標識用于指示該任務的執(zhí)行結(jié)果的填寫位置,其中,LLM不輸出該執(zhí)行結(jié)果。[0149]另外,以上文中“查詢今天余杭區(qū)和西湖區(qū)的擁堵指數(shù)”的示例來說,第一智能體在第一輪調(diào)用LLM時,向第一提示詞模板中拼接的“當前思考記錄”為空,所以生成的第一提示詞中不包含這個字段的相關內(nèi)容。第一智能體在第二輪調(diào)用LLM時,向第一提示詞模板中拼接的“當前思考記錄”為“思考:用戶需要查詢今天余杭區(qū)和西湖區(qū)的擁堵指數(shù),首先查詢余杭區(qū)的擁堵指數(shù);行動:[data]查詢今天余杭區(qū)的擁堵指數(shù);反饋:今天余杭區(qū)的擁堵指數(shù)是1.3”,所以此時生成的第一提示詞中將包含這個字段如上相關內(nèi)容。[0150]步驟2.3、LLM產(chǎn)生行動規(guī)劃。第一智能體將基于步驟2.2生成的第一提示詞發(fā)送給LLM,LLM以自然語言形式輸出“思考信息”和“行動信息”,作為第一智能體本輪要執(zhí)行的動[0151]以上文中“查詢今天余杭區(qū)和西湖區(qū)的擁堵指數(shù)”的示例來說,第一智能體在第一[0152]思考:用戶需要查詢今天余杭區(qū)和西湖區(qū)的擁堵指數(shù),首先查詢余杭區(qū)的擁堵指[0153]行動:[data]查詢今天余杭區(qū)的擁堵指數(shù);[0155]步驟2.4、第一智能體進行行動執(zhí)行。[0156]實際應用中,第一智能體可以對LLM連續(xù)輸出的上述求解任務信息中的內(nèi)容實時[0157]若步驟2.3返回的結(jié)果出現(xiàn)格式錯誤或字段缺失,導致解析失敗,則第一智能體將[0158]若步驟2.3返回的“行動信息”中調(diào)用的工具為“summary即[0159]若步驟2.3返回的“行動信息”中調(diào)用的工具為“askuser即向用戶提問”,則進入交互模塊流程中,交互模塊將該“行動信息”中包含的“行動輸入信息”作為向用戶提問的內(nèi)容。上述舉例中,該行動輸入信息為:查詢今天余杭區(qū)的擁堵指數(shù)。交互模塊獲取用戶輸入[0160]若步驟2.3返回的“行動信息”中調(diào)用的工具為“data即調(diào)用第二智能體”,則進入第二智能體的任務執(zhí)行流程中,第一智能體將本輪產(chǎn)生的“行動輸入信息”(比如查詢今天余杭區(qū)的擁堵指數(shù))作為輸入第二智能體的求解任務信息,或者將本輪產(chǎn)生的“思考信息”[0161]以上便是第一智能體的一輪“思考/行動/反饋”機制的執(zhí)行過程,下面介紹第二智[0162]步驟2.4.a1、第二智能體的初始化。第二智能體將記憶模塊中與第二智能體對應的當前思考記錄清空。[0163]步驟2.4.a2、LLM提示詞生成。第二智能體將第二智能體的輸入、第二智能體對應的當前思考記錄、可用API列表拼接到第二智能體對應的第二提示詞模版中,生成第二提示[0164]其中,可選地,作為第二工具集信息的上述可用API列表可以直接包含在第二提示詞模板中,此時無需拼接。其中,第二智能體的輸入即為第一智能體輸出的某個求解任務信息。與第一智能體對應的當前思考記錄相似地,首輪調(diào)用第二智能體時,第二智能體對應的當前思考記錄為空。[0165]實際上,第二智能體對應的當前思考記錄和第一智能體對應的當前思考記錄都用于存儲相應智能體每輪執(zhí)行“思考/行動/反饋”機制時產(chǎn)生的中間執(zhí)行結(jié)果的信息。[0166]第二提示詞模板與第一提示詞模板較為相似,現(xiàn)主要說明區(qū)別點:[0167]第一,需要拼接的內(nèi)容不同。第二提示詞模板中可以包括如下拼接字段:【拼接當[0168]第二,工具集信息不同。第二提示詞模板中包含的第二工具集信息可以是與應用服務器交互時需要使用的各種API信息,比如查詢擁堵指數(shù)的API1,查詢出行量的API2,查詢交通事故的API3。另外,在第二工具集中還可以包含一種特殊的APIx(返回最終答案),用于在第二智能體完成當前接收的求解任務信息的處理后向第一智能體反饋任務執(zhí)行結(jié)果。[0169]第三,行動信息的格式不同。第一提示詞模板中的行動信息格式為:[工具名稱]行動輸入信息,其中,行動輸入信息是自然語言文本形式,在第二提示詞模板中,行動輸入信[0170]步驟2.4.a3、LLM產(chǎn)生行動規(guī)劃。第二智能體將基于步驟2.4.a2生成的第二提示詞行的動作。[0171]步驟2.4.a4、第二智能體行動執(zhí)行。第二智能體解析步驟2.4.a3中輸出的“思考信[0172]若解析失敗,則第二智能體將相應的錯誤信息作為本輪的“反饋”結(jié)果,跳轉(zhuǎn)至步[0173]若步驟2.4.a3返回的“行動信息”中調(diào)用的工具為“APIx即返回最終答案”,則表示第二智能體已經(jīng)完成當前的求解任務信息的執(zhí)行,將該“行動信息”中包含的“行動輸入信息”作為第二智能體的輸出發(fā)送至第一智能體,并跳轉(zhuǎn)到步驟2.5;此時,“行動輸入信息”即為當前求解任務信息對應的任務執(zhí)行結(jié)果。[0174]若步驟2.4.a3返回的“行動信息”中調(diào)用的工具為其他的某個位于第二工具集中的API名稱,則在檢查確定“行動輸入信息”中的參數(shù)格式為該API的正確參數(shù)格式時,調(diào)用對應的API,調(diào)用參數(shù)為“行動輸入信息”中給出的參數(shù),將調(diào)用API返回的結(jié)果作為本輪的“反饋”結(jié)果,并將API查詢得到的原始數(shù)據(jù)存入記憶模塊中,跳轉(zhuǎn)至步驟2.4.a5;如果調(diào)用2.4.a5。[0175]步驟2.4.a5、第二智能體的中間步驟結(jié)果保存。[0176]將第二智能體本輪的“思考信息”、“行動信息”和“反饋信息”作為本輪的一組數(shù)據(jù),添加到第二智能體對應的當前思考記錄中。若第二智能體對應的當前思考記錄的數(shù)據(jù)組數(shù)量大于設定閾值,則認為第二智能體在循環(huán)多次后仍無法找到正確結(jié)果,將該錯誤信息作為第二智能體最終的輸出,發(fā)送至第一智能體,跳轉(zhuǎn)到步驟2.5;否則跳轉(zhuǎn)到步驟2.4.a2,執(zhí)行下一輪的迭代。[0177]其中,需要說明的是,此時跳轉(zhuǎn)到步驟2.4.a2,往往對應于第二智能體需要執(zhí)行多輪“思考/行動/反饋”機制才能完成當前接收到的求解任務信息的情形,如果執(zhí)行至“調(diào)用APIx”這個行動的時候,將不會再跳轉(zhuǎn)至步驟2.4.a2。[0178]步驟2.5、第一智能體的中間步驟結(jié)果保存。第一智能體將本輪的“思考信息”、“行動信息”和“反饋信息”作為本輪的一組數(shù)據(jù),添加到第一智能體對應的當前思考記錄中。若其當前思考記錄的數(shù)據(jù)組數(shù)量大于設定閾值,則認為第一智能體在循環(huán)多次后仍無法找到正確結(jié)果,跳轉(zhuǎn)到步驟3,否則跳轉(zhuǎn)到步驟2.2,執(zhí)行下一輪的迭代。[0179]步驟3、任務總結(jié)與返回結(jié)果[0180]第一智能體當執(zhí)行到某輪時,如果從相應“行動信息”中解析出的工具名稱為:summary(即總結(jié)),則確定用戶問題的求解任務已經(jīng)完成,此時會調(diào)用總結(jié)模塊對已獲取的各個中間步驟的執(zhí)行結(jié)果,即下發(fā)給第二智能體的多個求解任務信息的任務執(zhí)行結(jié)果,進行總結(jié)分析,以給出最終向用戶輸出的回復信息。[0181]步驟3.1、總結(jié)提示詞生成。第一智能體將用戶問題、步驟1.3中提取的背景知識、步驟2.5中存儲的各中間步驟的執(zhí)行結(jié)果,即第一智能體對應的當前思考記錄中存儲的各個求解任務信息對應的任務執(zhí)行結(jié)果,添加到第三提示詞模版中,生成引導LLM進行總結(jié)的第三提示詞。[0182]步驟3.2、最終結(jié)果生成。第一智能體將步驟3.1生成的第三提示詞發(fā)送給LLM,得到LLM輸出的回復信息,以輸出給用戶。另外,可選地,第一智能體還可以從記憶模塊中獲取從應用服務器中獲取的原始數(shù)據(jù),將該原始數(shù)據(jù)也一并反饋給用戶,或者以某種可視化圖形的方式對該原始數(shù)據(jù)進行可視化展示處理,以輸出給用戶。[0183]結(jié)合上述介紹可知,本發(fā)明實施例中的LLM主要起到規(guī)劃和決策的作用,在問題求解的每個步驟中,提供給LLM的信息包括:用戶提問、相關背景知識、可用的工具、已經(jīng)完成的求解步驟;LLM根據(jù)這些信息進行判斷,生成下一步的思考和行動。[0184]下面給出一種第三提示詞模板的示例,其可以有如下信息構成:[0185]你是一個基于大語言模型的機器人,可以對查詢結(jié)果進行整理,并回答用戶的提[0186]可能相關的背景知識(如果背景知識與原問題不相關,則忽略背景知識):【拼接背景知識】[0187]查詢結(jié)果(可能來自不同渠道和方法):【拼接每一步的反饋結(jié)果】[0189]現(xiàn)在,綜合上述結(jié)果,給出原問題的詳細回答,注意專業(yè)性與嚴謹性,不要偏離題意,忽略與問題不相關的結(jié)果。如果查詢結(jié)果中不含相關知識,使用模型本身的知識來回答。請使用中文回答。[0190]針對原問題的回答如下:。[0191]下面給出第二智能體的一輪“思考/行動/反饋”機制的執(zhí)行過程的兩種示例情形。[0192]第一種,假設從第一智能體接收到的求解任務信息簡化表示為:“查詢今天余杭區(qū)的擁堵指數(shù)”,LLM基于相應的第二提示詞輸出的任務執(zhí)行信息如下:[0193]思考:查詢今天余杭區(qū)的擁堵指數(shù);[0196]其中,假設API1是用于查詢擁堵指數(shù)的API。[0197]當?shù)诙悄荏w基于上述行動信息調(diào)用API1從應用服務器中查詢得到余杭區(qū)今天的擁堵指數(shù)后,得到反饋結(jié)果:今天余杭區(qū)的擁堵指數(shù)為1.3。[0198]在上述舉例的情形下,由于求解任務較為簡單,調(diào)用一次API即可完成相應數(shù)據(jù)的查詢,之后,在下一輪“思考/行動/反饋”機制的過程中會最終形成如下的任務執(zhí)行信息:[0199]思考:今天余杭區(qū)的擁堵指數(shù)已經(jīng)查詢到了,可以返回結(jié)果了;[0200]行動:[APIx]{今天余杭區(qū)的擁堵指數(shù)為1.3};[0201]反饋:今天余杭區(qū)的擁堵指數(shù)為1.3。[0202]第二種,假設從第一智能體接收到的求解任務信息簡化表示為:“查詢今天余杭區(qū)的擁堵指數(shù)和發(fā)生的交通事故”,那么此時第二智能體將需要執(zhí)行三輪“思考/行動/反饋”機制以得到最終結(jié)果,過程如下:[0203]1.思考:查詢今天余杭區(qū)的擁堵指數(shù);[0205]3.反饋:今天余杭區(qū)的擁堵指數(shù)為1.3;[0206]4.思考:已經(jīng)獲得了余杭區(qū)的擁堵指數(shù),現(xiàn)在需要查詢今天余杭區(qū)發(fā)生的交通事[0208]6.反饋:今天余杭區(qū)發(fā)生了3起交通事故;[0209]7.思考:已經(jīng)獲得了余杭區(qū)的擁堵指數(shù)和發(fā)生的交通事故,可以返回結(jié)果了;[0210]8.行動:[APIx]{今天余杭區(qū)的擁堵指數(shù)為1.3,今天余杭區(qū)發(fā)生了3起交通事故};[0211]9.反饋:今天余杭區(qū)的擁堵指數(shù)為1.3,今天余杭區(qū)發(fā)生了3起交通事故。[0212]其中,假設API2是用于查詢交通事故的API,APIx是用于返回最終答案的API。[0213]綜上,本發(fā)明實施例提供的問答處理方案中,通過對用戶問題逐級拆解,第一智能體負責規(guī)劃用戶問題的整體求解流程,根據(jù)用戶問題和當前已有數(shù)據(jù)情況,判斷需要繼續(xù)調(diào)用第二智能體完成子求解任務,或是調(diào)用總結(jié)模塊對已有子求解任務的執(zhí)行結(jié)果進行總結(jié)并得到回復信息,實際的任務執(zhí)行邏輯由第二智能體負責,降低LLM每一步思考的復雜的背景知識并插入提示詞中,背景知識可以是相關概念,或是求解問題的專家思路等,提升LLM分析問題、解決問題的能力。第二智能體可以根據(jù)需求設計處理流程,其獨立與LLM交互,有單獨的提示詞,同時可以共享第一智能體的歷史思考過程記錄(下發(fā)給第二智能體的求解任務信息中可以包括第一智能體的思考信息),可以輔助降低LLM的token限制對于復雜任務的影響。[0214]圖5為本發(fā)明實施例提供的一種問答處理方法的流程圖,該方法可以由上述第一[0216]502、將用戶問題拼接到第一智能體對應的第一提示詞模板中,以基于第一提示詞模板中包含的第一工具集信息和LLM,獲取LLM依次生成的需要調(diào)用第二智能體執(zhí)行的多個求解任務信息以及需要第一智能體執(zhí)行的匯總?cè)蝿招畔ⅰ0217]可選地,第一智能體還可以:從外部知識庫中獲取與用戶問題之間的相似度符合設定條件的背景知識信息,和/或,獲取與用戶問題對應的歷史對話記錄,將背景知識信息和/或歷史對話記錄拼接到第一提示詞模板中。其中,歷史對話記錄是同一用戶多輪對話中位于所述用戶問題之前的問題及對應的回復信息。[0218]503、將多個求解任務信息依次發(fā)送至第二智能體。[0219]504、獲取第二智能體發(fā)送的多個求解任務信息的任務執(zhí)行結(jié)果。[0220]其中,第二智能體基于第二智能體對應的第二提示詞模板、收到的當前求解任務信息和LLM,獲取LLM生成的與當前求解任務信息對應的任務執(zhí)行信息,根據(jù)任務執(zhí)行信息從用戶問題對應的應用服務器中獲取當前求解任務信息的任務執(zhí)行結(jié)果,將任務執(zhí)行結(jié)果發(fā)送至第一智能體,以使第一智能體在得到當前求解任務信息的任務執(zhí)行結(jié)果后通過LLM生成下一求解任務信息,第二提示詞模板中包含第二工具集信息。[0221]由此可知,第一智能體生成的多個求解任務信息并非同時生成的,而是在循環(huán)迭[0222]在得到當前求解任務信息的任務執(zhí)行結(jié)果后,將當前求解任務信息(比如思考信息和行動信息)和當前求解任務信息的任務執(zhí)行結(jié)果(比如上文的反饋結(jié)果),拼接到第一提示詞模板中以得到第一提示詞,將第一提示詞輸入LLM,以得到LLM生成的下一求解任務信息。[0223]505、基于匯總?cè)蝿招畔ⅲ瑓R總多個求解任務信息的任務執(zhí)行結(jié)果,以確定與用戶問題對應的回復信息。[0224]可選地,第一智能體可以直接將多個求解任務信息的任務執(zhí)行結(jié)果拼接在一起作為回復信息輸出給用戶。[0225]或者,可選地,確定與用戶問題對應的回復信息的過程,包括:[0226]將用戶問題、多個求解任務信息的任務執(zhí)行結(jié)果以及從外部知識庫中獲取的與用戶問題之間的相似度符合設定條件的背景知識信息,拼接到第三提示詞模板中以得到第三提示詞,將第三提示詞輸入LLM,以得到LLM輸出的回復信息。[0227]第一智能體的執(zhí)行流程可以參考前述其他實施例中的相關說明,在此不展開贅[0228]圖6為本發(fā)明實施例提供的一種問答處理方法的流程圖,該方法可以由上述第二智能體執(zhí)行,如圖6所示,該方法包括如下步驟:[0229]601、接收第一智能體發(fā)送的與用戶問題對應的當前求解任務信息。[0230]其中,第一智能體基于用戶問題、第一智能體對應的第一提示詞模板和LLM,獲取LLM依次生成的需要調(diào)用第二智能體執(zhí)行的多個求解任務信息以及需要第一智能體執(zhí)行的匯總?cè)蝿招畔ⅰ5谝惶崾驹~模板中包含第一工具集信息。當前求解任務信息是這多個求解任務信息中當前發(fā)送至第二智能體的求解任務信息。[0231]602、將當前求解任務信息拼接到第二智能體對應的第二提示詞模板中,以基于第二提示詞模板中包含的第二工具集信息和LLM,獲取LLM生成的與當前求解任務信息對應的任務執(zhí)行信息。[0232]603、根據(jù)任務執(zhí)行信息從用戶問題對應的應用服務

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論