Zahteve: Uporabljajte velike modele za pridobivanje informacij v realnem času, kot so trenutni čas, današnje vreme, preverjanje ekspresne dostave itd., ali uporabite velike modele za analizo poslovnih podatkov, pri čemer morate uporabiti funkcijo klicanja funkcij. Veliko člankov na internetu o klicanju funkcij je zelo nejasnih in ne pojasnjuje jasno, funkcijo pa razumem na podlagi informacij o zahtevah.
Najprej si poglejmo upodobitve in uporabimo velik modelPridobite trenutni čas, vreme v Šanghaju in kalkulator, ki mi je pomagal vklopiti računalnik, kot je prikazano na spodnji sliki:
Dokumentacija vmesnika OpenAI:Prijava do hiperpovezave je vidna., kot je prikazano na spodnji sliki:
Klicanje funkcij
Veliki modeli morda niso učinkoviti pri soočanju s problemi v realnem času, matematičnih izračunov in drugih problemov. Funkcijo Function Calling lahko uporabite za omogočanje interakcije velikih modelov z zunanjim svetom z uvedbo zunanjih orodij.
Klicanje funkcij je nova funkcija, ki povezuje velike modele z zunanjimi orodji in API-ji, da pomaga velikim modelom pri prehodu v dejansko industrijsko implementacijo. Klicanje funkcij omogoča razvijalcem zanesljivejši pridobivanje strukturiranih podatkov iz modelov, brez potrebe po vnosu zapletenih pozivov.
Ko se uporablja, lahko funkcije in definicije nabora funkcij opišete modelu v naravnem jeziku; Med pogovorom, ko velik model začuti, da mora uporabiti funkcijo, jo inteligentno izbere in se vrne ter pokliče potrebne parametre, ki ustrezajo specifičnim potrebam uporabnika. V drugih primerih veliki model ne bo vrnil funkcije in bo nadaljeval pogovor. Velik model funkcije ne kliče neposredno, ampak vrne ustrezne vhodne parametre, funkcijo/API vmesnik pa lahko pokličete sami.
Preprosto povedano, klicanje funkcij je "prevajalec" med vmesniki naravnega jezika in informacij
Naravni jezik prevedite v zahtevane funkcije in parametre ter ga vrnite velikemu klicatelju modela Ko velik klicatelj modela izvede funkcijo, se rezultat vrne v velik model, ki ga je mogoče povzeti v naravni jezik ali nadaljevati načrtovanje podnalog
Diagram delovnega toka je prikazan spodaj:
Semantično jedro
Semantic Kernel je lahek, odprtokodni razvojni komplet, ki ga je mogoče enostavno uporabiti za generiranje AI agentov in integracijo najnovejših AI modelov v kode v C#, Pythonu ali Javi. Deluje kot učinkovita vmesna programska oprema, ki omogoča hitro dostavo rešitev na ravni podjetja.
Dokumentacija:Prijava do hiperpovezave je vidna. Izvir:Prijava do hiperpovezave je vidna.
C# pokliče Alibaba Cloud Tongyi Qianwen, da izvede klicanje funkcije
Ustvarite nov .NET 8 konzolni projekt z naslednjimi referencami:
Koda je naslednja:
Zaženi program, ki je upodobitev na začetku, pridobi trenutni čas in vreme v Šanghaju ter odpri kalkulator.
Dnevnik izvedbe:
=============================================================================
Request:
Method: POST
Uri: Prijava do hiperpovezave je vidna. Zahteva vsebino: {"tools":[{"function":{"description":"Zelo uporabno, ko želite vedeti, koliko je ura." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je uporabno, ko želite danes preveriti vreme za določeno mesto. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"mesto ali okrožje, kot so Peking, Šanghaj, Mesto Hangzhou, okrožje Yuhang itd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je zelo uporabno, ko želite poizvedovati po določenih ekspresnih logističnih informacijah." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Številke za sledenje kurirja, npr. številke za sledenje pošiljkam SF, ZTO in Postal courier so sprejemljive." ","type":"string"}}}},"type":"function"},{"function":{"description":"Zelo uporabno, ko želite odpreti kalkulator." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Pozdravljeni, prosim, pomagajte mi preveriti trenutni čas in današnje vreme v Šanghaju." Potem mi pomagajte z kalkulatorjem za prijavo, želim izračunati današnji dohodek. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Statusna koda: 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"} ============================================================================= ----------------------- način pridobivanja časa----------------------- ---------------------------------------------------------------- ----------------------- imenujemo metoda pridobivanja vremena----------------------- Parameter: Šanghaj ---------------------------------------------------------------- ----------------------- Odpri računalniški kalkulator----------------------- =============================================================================
Request:
Method: POST
Uri: Prijava do hiperpovezave je vidna. Zahteva vsebino: {"tools":[{"function":{"description":"Zelo uporabno, ko želite vedeti, koliko je ura." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je uporabno, ko želite danes preveriti vreme za določeno mesto. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"mesto ali okrožje, kot so Peking, Šanghaj, Mesto Hangzhou, okrožje Yuhang itd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je zelo uporabno, ko želite poizvedovati po določenih ekspresnih logističnih informacijah." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Številke za sledenje kurirja, npr. številke za sledenje pošiljkam SF, ZTO in Postal courier so sprejemljive." ","type":"string"}}}},"type":"function"},{"function":{"description":"Zelo uporabno, ko želite odpreti kalkulator." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Pozdravljeni, prosim, pomagajte mi preveriti trenutni čas in današnje vreme v Šanghaju." Potem mi pomagajte z kalkulatorjem za prijavo, želim izračunati današnji dohodek. "},{"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":"Vremenske razmere v Šanghaju so naslednje: oblačno z nevihtami, temperature med 10°C in 20°C"},{" vloga":"orodje","tool_call_id":"call_6023df74d7bd48c789e876","vsebina":"Kalkulator odprt." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Statusna koda: 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"} ============================================================================= Pomočnik > je zdaj ob 17:19:40, 26. marec 2025.
Današnje vremenske razmere v Šanghaju so naslednje: oblačno do nevihte, temperature med 10°C in 20°C, prosimo, da prinesete dežnik.
Odprl sem ti kalkulator in danes lahko začneš računati svoj zaslužek. Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna. |