Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 1326|Antwoord: 3

[Bron] [AI] (16) Semantic Kernel is gebaseerd op Qwen om Function Calling te testen

[Link kopiëren]
Geplaatst op 26-3-2025 17:46:52 | | | |
Vereisten: Gebruik grote modellen om realtime informatie te verkrijgen, zoals actuele tijd, het weer van vandaag, check express delivery, enzovoort, of gebruik grote modellen om bedrijfsgegevens te analyseren; je moet de functie Function Calling gebruiken. Veel artikelen op internet over Function Calling zijn erg vaag en leggen het niet duidelijk uit, en ik begrijp deze functie op basis van de verzoekinformatie.

Laten we eerst naar de renderings kijken en het grote model gebruikenKrijg de huidige tijd, het weer in Shanghai en de rekenmachine die me hielp mijn computer aan te zetten, zoals getoond in de onderstaande figuur:



OpenAI Interface Documentatie:De hyperlink-login is zichtbaar., zoals getoond in de onderstaande figuur:



Functie-aanroep

Grote modellen zijn mogelijk niet effectief bij realtime problemen, wiskundige berekeningen en andere problemen. Je kunt de functie Function Calling gebruiken om grote modellen te laten interageren met de buitenwereld door externe tools te introduceren.

Function Calling is een nieuwe functie die grote modellen verbindt met externe tools en API's om grote modellen te helpen overstappen naar daadwerkelijke industriële implementatie. Function Calling stelt ontwikkelaars in staat om betrouwbaarder gestructureerde data uit modellen te verkrijgen zonder dat gebruikers complexe prompts hoeven in te voeren.

Wanneer gebruikt, kun je de functies en definities van een set functies aan het model in natuurlijke taal beschrijven; Tijdens het gesprek, wanneer het grote model vindt dat het een functie moet gebruiken, selecteert het die functie intelligent en keert terug om de benodigde parameters aan te roepen om aan de specifieke behoeften van de gebruiker te voldoen. In andere gevallen geeft het grote model geen functie terug en gaat het gesprek voort. Het grote model roept de functie niet direct aan, maar geeft de bijbehorende invoerparameters terug, en je kunt de functie/API-interface zelf aanroepen.

In eenvoudige termen is Function Calling een "vertaler" tussen natuurlijke taal- en informatie-interfaces

Vertaal de natuurlijke taal naar de vereiste functies en parameters, en stuur deze terug naar de grote modelcaller
Nadat de grote modelaanroeper de functie heeft uitgevoerd, wordt het resultaat teruggegeven aan het grote model, en kan het grote model worden samengevat in natuurlijke taal of doorgaan met het plannen van subtaken

Het workflowdiagram wordt hieronder weergegeven:



Semantische kern

De Semantic Kernel is een lichtgewicht, open-source ontwikkelpakket dat eenvoudig AI-agenten kan genereren en de nieuwste AI-modellen kan integreren in C#-, Python- of Java-codebases. Het fungeert als een efficiënte middleware, waardoor snelle levering van oplossingen op ondernemingsniveau mogelijk is.

Documentatie:De hyperlink-login is zichtbaar.
Bron:De hyperlink-login is zichtbaar.

C# roept Alibaba Cloud Tongyi Qianwen aan om Function Calling uit te voeren

Maak een nieuw .NET 8-consoleproject aan met de volgende referenties:

De code is als volgt:

Voer het programma uit, dat de rendering aan het begin is, krijg de huidige tijd en het weer in Shanghai en open de calculator.

Uitvoeringslogboek:

=============================================================================
Request:
Method: POST
Uri: De hyperlink-login is zichtbaar.
Verzoekinhoud: {"tools":{{"function":{"description":"Zeer handig als je wilt weten hoe laat het is." ,"naam":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description"::" Dit is handig als je vandaag het weer van een bepaalde stad wilt controleren. ","naam":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","vereist":["locatie"],"properties":{"location":{"description":"Stad/provincie, zoals Beijing, Shanghai, Hangzhou City, Yuhang District, enzovoort. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dit is erg handig wanneer je de gespecificeerde express logistics informatie wilt opvragen." ","naam":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","vereist":["no"],"properties":{"no":{"description":"Verzendertrackingnummer, bijvoorbeeld SF, ZTO, en postkoerierstrackingnummers zijn acceptabel." ","type":"string"}}}},"type":"function"},{"function":{"description":"Zeer handig als je de rekenmachine wilt openen." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{{"role":"user","content" "Hallo, help me alsjeblieft de huidige tijd en het weer van vandaag in Shanghai te controleren." Help me dan met de klokcalculator, ik wil het inkomen van vandaag berekenen. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Statuscode: 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"}
=============================================================================
----------------------- noem de methode van tijd krijgen-----------------------
----------------------------------------------------------------
----------------------- noem het de methode om het weer te krijgen-----------------------
Parameter: Shanghai
----------------------------------------------------------------
----------------------- Open de rekenmachine-----------------------
=============================================================================
Request:
Method: POST
Uri: De hyperlink-login is zichtbaar.
Verzoekinhoud: {"tools":{{"function":{"description":"Zeer handig als je wilt weten hoe laat het is." ,"naam":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description"::" Dit is handig als je vandaag het weer van een bepaalde stad wilt controleren. ","naam":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","vereist":["locatie"],"properties":{"location":{"description":"Stad/provincie, zoals Beijing, Shanghai, Hangzhou City, Yuhang District, enzovoort. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dit is erg handig wanneer je de gespecificeerde express logistics informatie wilt opvragen." ","naam":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","vereist":["no"],"properties":{"no":{"description":"Verzendertrackingnummer, bijvoorbeeld SF, ZTO, en postkoerierstrackingnummers zijn acceptabel." ","type":"string"}}}},"type":"function"},{"function":{"description":"Zeer handig als je de rekenmachine wilt openen." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{{"role":"user","content" "Hallo, help me alsjeblieft de huidige tijd en het weer van vandaag in Shanghai te controleren." Help me dan met de klokcalculator, ik wil het inkomen van vandaag berekenen. "},{"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":"De weersomstandigheden in Shanghai zijn als volgt: bewolkt met onweersbuien, temperaturen tussen 10°C en 20°C"},{" rol":"gereedschap","tool_call_id":"call_6023df74d7bd48c789e876","inhoud":"Rekenmachine geopend." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":waar}
Response:
Statuscode: 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"}
=============================================================================
Assistent-> is nu 17:19:40, 26 maart 2025.

De weersomstandigheden in Shanghai vandaag zijn als volgt: bewolkt tot onweer, temperaturen tussen 10°C en 20°C, vergeet niet een paraplu mee te nemen.

Ik heb de calculator voor je geopend en je kunt vandaag beginnen met het berekenen van je inkomsten.

Referentie:

De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.

Partituur

Aantal deelnemers1MB+1 Instorting reden
GoodTime + 1 Steun de eigenaar om een goed bericht te plaatsen, en ik zal ook een goed bericht plaatsen!

Bekijk alle beoordelingen





Vorig:toPlainString, toEngineeringString, toString voor BigDecimal in Java
Volgend:.NET/C# ouder-kindprocessen communiceren met standaard input/output-stromen
 Huisbaas| Geplaatst op 27-3-2025 08:59:23 |
Meervoudige beurten conversiecode:


tweedeDe informatie voor het geïnitieerde verzoek is als volgt:



 Huisbaas| Geplaatst op 27-3-2025 08:58:04 |
Over streaming-output

In de streammodus geldt tool_calls ook, maar er zijn nog een paar extra punten om op te merken, zoals hieronder opgesomd:

Tijdens de streaming-uitvoer, aangezien finish_reason in het laatste stuk zal verschijnen, wordt aanbevolen om de aanwezigheid of afwezigheid van het delta.tool_calls-veld te gebruiken om te bepalen of het huidige antwoord een tool-aanroep bevat;
Tijdens de streaming-output wordt delta.content eerst uitgevoerd, en daarna de delta.tool_calls, dus je moet wachten tot de delta.content-output klaar is voordat je kunt beoordelen en tool_calls;
Tijdens het streamen van output specificeren we de tool_call.id en tool_call.function.name van de huidige aanroep tool_calls in het initiële datablok, en alleen tool_call.function.arguments worden uitgevoerd in het volgende datablok.
Tijdens het streaming-uitvoerproces, als het Kimi-model meerdere tool_calls tegelijk teruggeeft, gebruiken we een extra veld genaamd index om de huidige tool_call index te identificeren, zodat je de parameter tool_call.function.arguments correct kunt stitchen.

De hyperlink-login is zichtbaar.

Een voorbeeld van een streaming-respons is als volgt:

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{"name":"itsvse-get_current_time","arguments":""},"index":0,"id":"call_deb0063d315441b18b50d8","type":"function"}],"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{"arguments":"{}"},"index":0,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":0,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":0,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":0,"id":"","type":"function"},{"function":{"name":"itsvse-get_current_weather","arguments":""},"index":1,"id":"call_9790fb45e2b7419097d578","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{"arguments":"{\"location\": \""},"index":1,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{"arguments":"上海市\"}"},"index":1,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":1,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":1,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"content":null,"tool_calls":[{"function":{},"index":1,"id":"","type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"delta":{"tool_calls":[{"function":{"arguments":null},"index":1,"id":"","type":"function"},{"function":{"arguments":"{}","name":"itsvse-open_calculator"},"index":2,"id":"call_3ad6478075f04021ab9ea1","type":"function"}]},"index":0}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[{"finish_reason":"tool_calls","delta":{},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":500,"completion_tokens":53,"total_tokens":553,"prompt_tokens_details":{"cached_tokens":0}},"created":1743037194,"system_fingerprint":null,"model":"qwen-max","id":"chatcmpl-c4e2a989-10a3-9604-bdae-0b58b4f876a7"}

data: [DONE]


 Huisbaas| Geplaatst op 22-10-2025 11:30:02 |
MCP (1) Model Context Protocol Inleidende Tutorial
https://www.itsvse.com/thread-11104-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com