Požadavky: Používejte velké modely k získání informací v reálném čase, jako je aktuální čas, dnešní počasí, kontrola expresního doručení atd., nebo použijte velké modely k analýze obchodních dat, musíte použít funkci volání funkcí. Mnoho článků na internetu o volání funkcí je velmi vágních a nevysvětluje to jasně, a tuto funkci chápu na základě informací o požadavcích.
Nejprve se podívejme na vizualizace a použijeme velký modelZískejte aktuální čas, počasí v Šanghaji a kalkulačku, která mi pomohla zapnout počítač, jak je znázorněno na obrázku níže:
Dokumentace rozhraní OpenAI:Přihlášení k hypertextovému odkazu je viditelné., jak je znázorněno na obrázku níže:
Volání funkcí
Velké modely nemusí být účinné při řešení problémů v reálném čase, matematických výpočtů a dalších problémů. Funkci volání funkcí můžete použít k umožnění velkým modelům interakce s vnějším světem zavedením externích nástrojů.
Volání funkcí je nová funkce, která propojuje velké modely s externími nástroji a API, aby pomohla velkým modelům přejít k reálné průmyslové implementaci. Volání funkcí umožňuje vývojářům spolehlivěji získávat strukturovaná data z modelů bez nutnosti zadávat složité výzvy.
Při použití lze funkce a definice množiny funkcí popsat modelu v přirozeném jazyce; Během konverzace, když velký model cítí, že musí použít funkci, inteligentně ji vybere a vrátí se, aby vyvolal požadované parametry odpovídající specifickým potřebám uživatele. V jiných případech velký model nevrátí funkci a pokračuje v konverzaci. Velký model nevolá přímo funkci, ale vrací její odpovídající vstupní parametry a můžete si funkci/API rozhraní volat sami.
Jednoduše řečeno, volání funkcí je "překladatel" mezi přirozeným jazykem a informačními rozhraními
Přeložte přirozený jazyk do požadovaných funkcí a parametrů a vraťte jej velkému volajícímu modelu Po vykonání funkce velkým volajícím modelu je výsledek vrácen velkému modelu a velký model lze shrnout do přirozeného jazyka nebo pokračovat v plánování podúkolů
Diagram workflow je zobrazen níže:
Sémantické jádro
Semantic Kernel je lehký, open-source vývojový kit, který lze snadno použít k generování AI agentů a integraci nejnovějších AI modelů do kódových základen v C#, Pythonu nebo Javě. Funguje jako efektivní middleware, který umožňuje rychlé dodávání podnikových řešení.
Dokumentace:Přihlášení k hypertextovému odkazu je viditelné. Zdroj:Přihlášení k hypertextovému odkazu je viditelné.
C# volá Alibaba Cloud Tongyi Qianwen k vykonání volání funkce
Vytvořte nový .NET 8 konzolový projekt s následujícími referencemi:
Kód je následující:
Spusť program, což je renderování na začátku, zjisti aktuální čas a počasí v Šanghaji a otevři kalkulačku.
Záznam o realizaci:
=============================================================================
Request:
Method: POST
Uri: Přihlášení k hypertextovému odkazu je viditelné. Obsah požadavku: {"tools":[{"function":{"description":"Velmi užitečné, když chcete vědět, kolik je hodin." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je užitečné, když chcete dnes zkontrolovat počasí pro dané město. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"město nebo okres, jako Peking, Šanghaj, Město Hangzhou, okres Yuhang atd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je velmi užitečné, když chcete dotazovat na specifikované expresní logistické informace." ","name":"itsvse-get_current_test", "strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger number (sledovací čísla kurýra", např. SF, ZTO a poštovní čísla kurýrů jsou přijatelná." ","type":"string"}}}},"type":"function"},{"function":{"description":"Velmi užitečné, když chcete otevřít kalkulačku." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Dobrý den, prosím, pomozte mi zkontrolovat aktuální čas a dnešní počasí v Šanghaji." Pak mi pomoz s kalkulačkou odchodu, chci spočítat dnešní pří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"} ============================================================================= ----------------------- tomu říkat metoda získávání času----------------------- ---------------------------------------------------------------- ----------------------- tomu říkat způsob, jak získat počasí----------------------- Parametr: Šanghaj ---------------------------------------------------------------- ----------------------- Otevři počítačovou kalkulačku----------------------- =============================================================================
Request:
Method: POST
Uri: Přihlášení k hypertextovému odkazu je viditelné. Obsah požadavku: {"tools":[{"function":{"description":"Velmi užitečné, když chcete vědět, kolik je hodin." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To je užitečné, když chcete dnes zkontrolovat počasí pro dané město. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"město nebo okres, jako Peking, Šanghaj, Město Hangzhou, okres Yuhang atd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To je velmi užitečné, když chcete dotazovat na specifikované expresní logistické informace." ","name":"itsvse-get_current_test", "strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger number (sledovací čísla kurýra", např. SF, ZTO a poštovní čísla kurýrů jsou přijatelná." ","type":"string"}}}},"type":"function"},{"function":{"description":"Velmi užitečné, když chcete otevřít kalkulačku." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Dobrý den, prosím, pomozte mi zkontrolovat aktuální čas a dnešní počasí v Šanghaji." Pak mi pomoz s kalkulačkou odchodu, chci spočítat dnešní pří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":"Počasí v Šanghaji je následující: zataženo s bouřkami, teploty mezi 10°C a 20°C"},{" role":"nástroj","tool_call_id":"call_6023df74d7bd48c789e876","obsah":"Kalkulačka otevřena." }],"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 nyní 26. března 2025 v 17:19:40.
Počasí v Šanghaji je dnes následující: zataženo až bouřky, teploty mezi 10°C a 20°C, nezapomeňte si vzít deštník.
Otevřel jsem ti kalkulačku a můžeš začít počítat své výdělky už dnes. Odkaz:
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné. |