Požiadavky: Používajte veľké modely na získavanie informácií v reálnom čase, ako je aktuálny čas, dnešné počasie, kontrola expresného doručenia a podobne, alebo použite veľké modely na analýzu obchodných dát, musíte použiť funkciu Volania funkcií. Mnohé články na internete o volaní funkcií sú veľmi nejasné a nevysvetľujú to jasne, a túto funkciu chápem na základe informácií o požiadavke.
Najprv sa pozrime na vizualizácie a použijme veľký modelZískajte aktuálny čas, počasie v Šanghaji a kalkulačku, ktorá mi pomohla zapnúť počítač, ako je znázornené na obrázku nižšie:
Dokumentácia rozhrania OpenAI:Prihlásenie na hypertextový odkaz je viditeľné., ako je znázornené na obrázku nižšie:
Volanie funkcií
Veľké modely nemusia byť efektívne pri riešení problémov v reálnom čase, matematických výpočtov a iných problémov. Funkciu volania funkcií môžete použiť na umožnenie veľkým modelom interakcie s vonkajším svetom zavedením externých nástrojov.
Volanie funkcií je nová funkcia, ktorá spája veľké modely s externými nástrojmi a API, aby pomohla veľkým modelom prejsť k skutočnej priemyselnej implementácii. Volanie funkcií umožňuje vývojárom spoľahlivejšie získavať štruktúrované dáta z modelov bez potreby zadávať zložité výzvy.
Pri použití môžete opísať funkcie a definície množiny funkcií modelu v prirodzenom jazyku; Počas konverzácie, keď veľký model cíti, že potrebuje použiť nejakú funkciu, inteligentne ju vyberie a vráti sa, aby vyvolal požadované parametre na uspokojenie špecifických potrieb používateľa. V iných prípadoch veľký model nevráti funkciu a bude pokračovať v konverzácii. Veľký model priamo nevolá funkciu, ale vracia jej zodpovedajúce vstupné parametre a rozhranie funkcie/API si môžete volať sami.
Jednoducho povedané, volanie funkcií je "prekladateľ" medzi rozhraniami prirodzeného jazyka a informácií
Preložte prirodzený jazyk do požadovaných funkcií a parametrov a vráťte ho veľkému volajúcemu modelu Po vykonaní funkcie veľkým volajúcim modelu sa výsledok vráti veľkému modelu a veľký model môže byť zhrnutý do prirodzeného jazyka alebo pokračovať v plánovaní podúloh
Diagram pracovného postupu je zobrazený nižšie:
Sémantické jadro
Sémantické jadro je ľahký, open-source vývojový kit, ktorý možno použiť na jednoduché generovanie AI agentov a integráciu najnovších AI modelov do kódových základní v C#, Pythone alebo Jave. Funguje ako efektívny middleware, ktorý umožňuje rýchle dodávanie podnikových riešení.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné. Zdroj:Prihlásenie na hypertextový odkaz je viditeľné.
C# volá Alibaba Cloud Tongyi Qianwena na vykonanie volania funkcie
Vytvorte nový .NET 8 konzolový projekt s nasledujúcimi referenciami:
Kód je nasledovný:
Spusti program, ktorý je renderovaním na začiatku, získaj aktuálny čas a počasie v Šanghaji, a otvor kalkulačku.
Záznam vykonávania:
=============================================================================
Request:
Method: POST
Uri: Prihlásenie na hypertextový odkaz je viditeľné. Obsah požiadavky: {"tools":[{"function":{"description":"Veľmi užitočné, keď chcete vedieť, koľko je hodín." ,"name":"itsvse-get_current_time", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je užitočné, keď chcete dnes skontrolovať počasie pre dané mesto. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"mesto alebo okres, ako Peking, Šanghaj, Mesto Hangzhou, okres Yuhang a podobne. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je veľmi užitočné, keď chcete dotazovať na špecifikované expresné logistické informácie." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, napr. SF, ZTO a poštové kuriérske čísla sú akceptovateľné." ","type":"string"}}}},"type":"function"},{"function":{"description":"Veľmi užitočné, keď chcete otvoriť kalkulačku." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Dobrý deň, prosím, pomôžte mi skontrolovať aktuálny čas a dnešné počasie v Šanghaji." Potom mi pomôžte s kalkulačkou odchodu, chcem vypočítať dnešný príjem. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Kód stavu: OK
Body: {"choices":[{"message":{"content":"","role":"assistant","tool_calls":[{"function":{"name":"itsvse-get_current_time","arguments":"{}"},"index":0,"id":"call_6e6cade782f54c9ca87186","type":"function"},{"function":{"name":"itsvse-get_current_weather","arguments":"{\"location\": \"上海市\"}"},"index":1,"id":"call_cc957be34f5741f4b2a969","type":"function"},{"function":{"name":"itsvse-open_calculator","arguments":"{}"},"index":2,"id":"call_6023df74d7bd48c789e876","type":"function"}]},"finish_reason":"tool_calls","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":500,"completion_tokens":53,"total_tokens":553,"prompt_tokens_details":{"cached_tokens":256}},"created":1742980780,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-1761acb9-717a-997c-9f17-7284e82fd121"} ============================================================================= ----------------------- nazývať metódou získavania času----------------------- ---------------------------------------------------------------- ----------------------- nazývať metódou získavania počasia----------------------- Parametre: Šanghaj ---------------------------------------------------------------- ----------------------- Otvor počítačovú kalkulačku----------------------- =============================================================================
Request:
Method: POST
Uri: Prihlásenie na hypertextový odkaz je viditeľné. Obsah požiadavky: {"tools":[{"function":{"description":"Veľmi užitočné, keď chcete vedieť, koľko je hodín." ,"name":"itsvse-get_current_time", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je užitočné, keď chcete dnes skontrolovať počasie pre dané mesto. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"mesto alebo okres, ako Peking, Šanghaj, Mesto Hangzhou, okres Yuhang a podobne. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je veľmi užitočné, keď chcete dotazovať na špecifikované expresné logistické informácie." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, napr. SF, ZTO a poštové kuriérske čísla sú akceptovateľné." ","type":"string"}}}},"type":"function"},{"function":{"description":"Veľmi užitočné, keď chcete otvoriť kalkulačku." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Dobrý deň, prosím, pomôžte mi skontrolovať aktuálny čas a dnešné počasie v Šanghaji." Potom mi pomôžte s kalkulačkou odchodu, chcem vypočítať dnešný príjem. "},{"role":"assistant","content":","tool_calls":[{"id":"call_6e6cade782f54c9ca87186","function":{"name":"itsvse-get_current_time","arguments":"{}"},"type":"function" ","index":0},{"id":"call_cc957be34f5741f4b2a969","function":{"name":"itsvse-get_current_weather","arguments":"{\"location\": \"Shanghai\"}"},"type":"function","index":1},{" id":"call_6023df74d7bd48c789e876","function":{"name":"itsvse-open_calculator","arguments":"{}"},"type":"function","index":2}]},{"role":"tool","tool_call_id":"call_ 6e6cade782f54c9ca87186","content":"2025/3/26 17:19:40"},{"role":"tool","tool_call_id":"call_cc957be34f5741f4b2a969","content":"Poveternostné podmienky v Šanghaji sú nasledovné: zamračené s búrkami, teploty medzi 10°C a 20°C"},{" úloha":"nástroj","tool_call_id":"call_6023df74d7bd48c789e876","obsah":"Kalkulačka otvorená." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Kód stavu: OK
Body: {"choices":[{"message":{"content":"现在的时间是2025年3月26日17点19分40秒。\n\n今天上海市的天气情况如下:多云转雷阵雨,气温介于10°C到20°C之间,请记得带伞哦。\n\n我已经 帮你打开了计算器,你可以开始计算今天的收入了。","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":621,"completion_tokens":70,"total_tokens":691,"prompt_tokens_details":{"cached_tokens":0}},"created":1742980783,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-b0bd149e-3f5b-9a53-91d7-7bb26487d822"} ============================================================================= Asistent > je teraz o 17:19:40, 26. marca 2025.
Počasie v Šanghaji je dnes nasledovné: oblačno až búrky, teploty medzi 10°C a 20°C, nezabudnite si priniesť dáždnik.
Otvoril som ti kalkulačku a dnes môžeš začať počítať svoje zárobky. Referencia:
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné. |