本說(shuō)明書(shū)一個(gè)或多個(gè)實(shí)施例涉及計(jì)算機(jī),尤其涉及一種大模型的工具調(diào)用執(zhí)行方法及裝置。
背景技術(shù):
1、近年來(lái),諸如gpt-4、llama3、通義千問(wèn)和百靈等大模型的發(fā)展,極大地推動(dòng)了各種ai代理(如autogpt和swe-agent)的出現(xiàn)。這些ai代理能夠利用單個(gè)或協(xié)調(diào)多個(gè)大模型的能力,解決各類(lèi)復(fù)雜任務(wù),例如在處理編程任務(wù)、科學(xué)計(jì)算、蛋白質(zhì)工程及細(xì)胞研究等現(xiàn)實(shí)世界挑戰(zhàn)方面表現(xiàn)出色。大模型驅(qū)動(dòng)的ai代理廣泛依賴(lài)外部工具,以擴(kuò)展其能力邊界。同時(shí),將大模型的內(nèi)在能力與外部的工具調(diào)用(function?calling)能力結(jié)合起來(lái),使得大模型能夠連接到多個(gè)外部函數(shù)和工具,擴(kuò)展了大模型的能力邊界。在工具調(diào)用過(guò)程中,當(dāng)存在隱私數(shù)據(jù)時(shí),還需要采取相應(yīng)的保密措施對(duì)隱私數(shù)據(jù)進(jìn)行隱私保護(hù)。當(dāng)前,工具調(diào)用已成為大模型的一項(xiàng)基本能力。當(dāng)對(duì)多個(gè)工具進(jìn)行調(diào)用時(shí),更高效地對(duì)工具調(diào)用進(jìn)行編排就成為了當(dāng)前需要解決的一個(gè)主要問(wèn)題。
2、因此,希望能有改進(jìn)的方案,可以?xún)?yōu)化大模型的工具調(diào)用性能。
技術(shù)實(shí)現(xiàn)思路
1、本說(shuō)明書(shū)一個(gè)或多個(gè)實(shí)施例描述了一種大模型的工具調(diào)用執(zhí)行方法及裝置,以?xún)?yōu)化大模型的工具調(diào)用性能。具體的技術(shù)方案如下。
2、第一方面,實(shí)施例提供了一種大模型的工具調(diào)用執(zhí)行方法,所述方法包括:
3、通過(guò)大模型,獲取用于確定用戶(hù)查詢(xún)的應(yīng)答而需要執(zhí)行的多個(gè)工具調(diào)用;
4、確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用,其中包括計(jì)算資源非密集型的第一工具調(diào)用和計(jì)算資源密集型的第二工具調(diào)用;
5、將可用計(jì)算資源優(yōu)先分配給所述第一工具調(diào)用,利用分配的計(jì)算資源執(zhí)行所述第一工具調(diào)用;
6、將剩余可用計(jì)算資源分配給所述第二工具調(diào)用,利用分配的計(jì)算資源執(zhí)行所述第二工具調(diào)用。
7、在一種實(shí)施方式中,所述可用計(jì)算資源包括若干處理器;當(dāng)存在若干第一工具調(diào)用時(shí),所述將可用計(jì)算資源優(yōu)先分配給所述第一工具調(diào)用的步驟,包括:
8、向所述若干第一工具調(diào)用分配一個(gè)可用處理器。
9、在一種實(shí)施方式中,當(dāng)存在若干第二工具調(diào)用時(shí),所述將剩余可用計(jì)算資源分配給所述第二工具調(diào)用的步驟,包括:
10、當(dāng)若干剩余可用處理器的第一數(shù)量不小于所述若干第二工具調(diào)用的第二數(shù)量時(shí),向所述若干第二工具調(diào)用分配不同的剩余可用處理器。
11、在一種實(shí)施方式中,所述將剩余可用計(jì)算資源分配給第二工具調(diào)用的步驟,還包括:
12、當(dāng)所述第一數(shù)量小于所述第二數(shù)量時(shí),從所述若干第二工具調(diào)用中選出所述第一數(shù)量個(gè)第二工具調(diào)用,向選出的所述第一數(shù)量個(gè)第二工具調(diào)用分配不同的剩余可用處理器;
13、所述方法還包括:
14、當(dāng)檢測(cè)到出現(xiàn)新可用處理器時(shí),向剩余的第二工具調(diào)用分配所述新可用處理器,利用分配的新可用處理器執(zhí)行剩余的第二工具調(diào)用。
15、在一種實(shí)施方式中,向若干第二工具調(diào)用分配不同的剩余可用處理器的步驟,包括:
16、當(dāng)所述若干第二工具調(diào)用存在互斥關(guān)系時(shí),向所述若干第二工具調(diào)用分配不同的剩余可用處理器。
17、在一種實(shí)施方式中,所述若干第二工具調(diào)用的互斥關(guān)系是在以下條件滿(mǎn)足時(shí)標(biāo)注的:所述若干第二工具調(diào)用需要使用相同類(lèi)型的處理器執(zhí)行。
18、在一種實(shí)施方式中,確定多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用的步驟,包括:
19、基于需要執(zhí)行的多個(gè)工具調(diào)用之間的數(shù)據(jù)流關(guān)系,構(gòu)建數(shù)據(jù)依賴(lài)圖;所述數(shù)據(jù)依賴(lài)圖中包含代表工具調(diào)用的節(jié)點(diǎn)和代表工具調(diào)用之間數(shù)據(jù)使用關(guān)系的邊;
20、基于所述數(shù)據(jù)依賴(lài)圖確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用。
21、在一種實(shí)施方式中,所述基于所述數(shù)據(jù)依賴(lài)圖確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用的步驟,包括:
22、基于所述數(shù)據(jù)依賴(lài)圖的拓?fù)漤樞驗(yàn)槊總€(gè)工具調(diào)用分配調(diào)用序號(hào);其中,具有相同調(diào)用序號(hào)的工具調(diào)用能夠被并行調(diào)度;
23、將所述調(diào)用序號(hào)和工具調(diào)用的計(jì)算資源類(lèi)型加入所述數(shù)據(jù)依賴(lài)圖的節(jié)點(diǎn)中,得到工具調(diào)用關(guān)系圖;所述計(jì)算資源類(lèi)型包括所述計(jì)算資源非密集型和所述計(jì)算資源密集型;
24、按照所述工具調(diào)用關(guān)系圖中的調(diào)用序號(hào)和數(shù)據(jù)使用關(guān)系,對(duì)所述多個(gè)工具調(diào)用進(jìn)行調(diào)度,其中包括對(duì)若干工具調(diào)用的并行調(diào)度。
25、在一種實(shí)施方式中,該方法還包括:
26、針對(duì)所述工具調(diào)度關(guān)系圖中任意一組具有相同調(diào)用序號(hào)的工具調(diào)用,將其中需要使用相同類(lèi)型的計(jì)算資源的計(jì)算資源密集型工具調(diào)度設(shè)置為具有互斥關(guān)系。
27、第二方面,實(shí)施例提供了一種大模型的工具調(diào)用執(zhí)行裝置,所述裝置包括:
28、工具調(diào)用獲取模塊,配置為通過(guò)大模型,獲取用于確定用戶(hù)查詢(xún)的應(yīng)答而需要執(zhí)行的多個(gè)工具調(diào)用;
29、并行調(diào)度確定模塊,配置為確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用,其中包括計(jì)算資源非密集型的第一工具調(diào)用和計(jì)算資源密集型的第二工具調(diào)用;
30、第一資源分配模塊,配置為將可用計(jì)算資源優(yōu)先分配給所述第一工具調(diào)用,利用分配的計(jì)算資源執(zhí)行所述第一工具調(diào)用;
31、第二資源分配模塊,配置為將剩余可用計(jì)算資源分配給所述第二工具調(diào)用,利用分配的計(jì)算資源執(zhí)行所述第二工具調(diào)用。
32、第三方面,實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行第一方面中任一項(xiàng)所述的方法。
33、第四方面,實(shí)施例提供了一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)第一方面中任一項(xiàng)所述的方法。
34、本說(shuō)明書(shū)實(shí)施例提供的方法及裝置中,對(duì)于多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用,優(yōu)先將可用計(jì)算資源分配給計(jì)算資源非密集型的工具調(diào)用,將剩余可用計(jì)算資源分配給計(jì)算資源密集型工具調(diào)用,從而快速并優(yōu)先執(zhí)行對(duì)計(jì)算資源占用時(shí)間短的工具調(diào)用,當(dāng)有剩余計(jì)算資源時(shí)執(zhí)行對(duì)計(jì)算資源占用時(shí)間長(zhǎng)的工具調(diào)用,從而縮短了多個(gè)工具調(diào)用的總執(zhí)行時(shí)間,提高了大模型工具調(diào)用的整體性能。
1.一種大模型的工具調(diào)用執(zhí)行方法,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,所述可用計(jì)算資源包括若干處理器;當(dāng)存在若干第一工具調(diào)用時(shí),所述將可用計(jì)算資源優(yōu)先分配給所述第一工具調(diào)用的步驟,包括:
3.根據(jù)權(quán)利要求2所述的方法,當(dāng)存在若干第二工具調(diào)用時(shí),所述將剩余可用計(jì)算資源分配給所述第二工具調(diào)用的步驟,包括:
4.根據(jù)權(quán)利要求3所述的方法,所述將剩余可用計(jì)算資源分配給所述第二工具調(diào)用的步驟,還包括:
5.根據(jù)權(quán)利要求3所述的方法,所述向所述若干第二工具調(diào)用分配不同的剩余可用處理器的步驟,包括:
6.根據(jù)權(quán)利要求5所述的方法,所述若干第二工具調(diào)用的互斥關(guān)系是在以下條件滿(mǎn)足時(shí)標(biāo)注的:所述若干第二工具調(diào)用需要使用相同類(lèi)型的處理器執(zhí)行。
7.根據(jù)權(quán)利要求1所述的方法,所述確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用的步驟,包括:
8.根據(jù)權(quán)利要求7所述的方法,所述基于所述數(shù)據(jù)依賴(lài)圖確定所述多個(gè)工具調(diào)用中被并行調(diào)度的若干工具調(diào)用的步驟,包括:
9.根據(jù)權(quán)利要求8所述的方法,其中還包括:
10.一種大模型的工具調(diào)用執(zhí)行裝置,所述裝置包括:
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行權(quán)利要求1-9中任一項(xiàng)所述的方法。
12.一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)權(quán)利要求1-9中任一項(xiàng)所述的方法。