Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 1326|Svar: 3

[Kilde] [AI] (16) Semantic Kernel er baseret på Qwen for at teste Function Calling

[Kopier link]
Opslået den 26-3-2025 kl. 17:46:52 | | | |
Krav: Brug store modeller til at indhente realtidsinformation, såsom aktuel tid, dagens vejr, tjek ekspreslevering osv., eller brug store modeller til at analysere forretningsdata, du skal bruge funktionen Function Calling. Mange artikler på internettet om Function Calling er meget vage og forklarer ikke klart, og jeg forstår denne funktion ud fra anmodningsoplysningerne.

Lad os først se på renderingerne og bruge den store modelFå det aktuelle tidspunkt, vejret i Shanghai og lommeregneren, der hjalp mig med at tænde min computer, som vist i figuren nedenfor:



OpenAI Interface Dokumentation:Hyperlink-login er synlig., som vist i figuren nedenfor:



Funktionskald

Store modeller er muligvis ikke effektive, når de står over for realtidsproblemer, matematiske beregninger og andre problemer. Du kan bruge funktionen Function Calling til at gøre det muligt for store modeller at interagere med omverdenen ved at introducere eksterne værktøjer.

Function Calling er en ny funktion, der forbinder store modeller med eksterne værktøjer og API'er for at hjælpe store modeller med at bevæge sig mod faktisk industriel implementering. Function Calling gør det muligt for udviklere mere pålideligt at hente strukturerede data fra modeller uden behov for, at brugerne indtaster komplekse prompts.

Når det bruges, kan man beskrive funktionerne og definitionerne af et sæt funktioner til modellen i naturligt sprog; Under samtalen, når den store model føler, at den skal bruge en funktion, vil den intelligent vælge funktionen og vende tilbage for at kalde de nødvendige parametre for at opfylde brugerens specifikke behov. I andre tilfælde vil den store model ikke returnere en funktion og vil fortsætte samtalen. Den store model kalder ikke funktionen direkte, men returnerer dens tilsvarende inputparametre, og du kan selv kalde funktions-/API-grænsefladen.

Kort sagt er Function Calling en "oversætter" mellem naturligt sprog og informationsgrænseflader

Oversæt det naturlige sprog til de nødvendige funktioner og parametre, og returnér det til den store modelkalder
Efter at den store modelkalder har udført funktionen, returneres resultatet til den store model, og den store model kan opsummeres i naturligt sprog eller fortsætte med at planlægge delopgaver

Workflow-diagrammet vises nedenfor:



Semantisk kerne

Semantic Kernel er et letvægts, open source udviklingskit, der kan bruges til nemt at generere AI-agenter og integrere de nyeste AI-modeller i C#-, Python- eller Java-kodebaser. Det fungerer som en effektiv middleware, der muliggør hurtig levering af løsninger på virksomhedsniveau.

Dokumentation:Hyperlink-login er synlig.
Kilde:Hyperlink-login er synlig.

C# kalder Alibaba Cloud Tongyi Qianwen for at udføre Function Calling

Opret et nyt .NET 8-konsolprojekt med følgende referencer:

Koden er som følger:

Kør programmet, som er renderingen i starten, få det aktuelle tidspunkt og vejret i Shanghai, og åbn lommeregneren.

Udførelseslog:

=============================================================================
Request:
Method: POST
Uri: Hyperlink-login er synlig.
Anmodningsindhold: {"tools":[{"function":{"description":"Meget nyttigt, når du vil vide, hvad klokken er." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Dette er nyttigt, når du vil tjekke vejret i en given by i dag. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"By eller amt, såsom Beijing, Shanghai, Hangzhou by, Yuhang-distriktet osv. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dette er meget nyttigt, når du vil forespørge den specificerede express logistics-information." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, f.eks. SF, ZTO og postens kurérsporingsnumre er acceptable." ","type":"string"}}}},"type":"function"},{"function":{"description":"Meget nyttigt, når du vil åbne lommeregneren." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{{"role":"user","content" "Hej, hjælp mig venligst med at tjekke det aktuelle tidspunkt og dagens vejr i Shanghai." Hjælp mig så med klokke-ind-beregneren, jeg vil regne dagens indkomst ud. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Statuskode: 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"}
=============================================================================
----------------------- kalder det metoden til at få tid-----------------------
----------------------------------------------------------------
----------------------- kalder det metoden til at få vejret-----------------------
Parameter: Shanghai
----------------------------------------------------------------
----------------------- Åbn computerens lommeregner-----------------------
=============================================================================
Request:
Method: POST
Uri: Hyperlink-login er synlig.
Anmodningsindhold: {"tools":[{"function":{"description":"Meget nyttigt, når du vil vide, hvad klokken er." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Dette er nyttigt, når du vil tjekke vejret i en given by i dag. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"By eller amt, såsom Beijing, Shanghai, Hangzhou by, Yuhang-distriktet osv. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dette er meget nyttigt, når du vil forespørge den specificerede express logistics-information." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, f.eks. SF, ZTO og postens kurérsporingsnumre er acceptable." ","type":"string"}}}},"type":"function"},{"function":{"description":"Meget nyttigt, når du vil åbne lommeregneren." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{{"role":"user","content" "Hej, hjælp mig venligst med at tjekke det aktuelle tidspunkt og dagens vejr i Shanghai." Hjælp mig så med klokke-ind-beregneren, jeg vil regne dagens indkomst ud. "},{"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","Funktion":{"Navn":"ItSVSE-open_calculator","Argumenter":"{}"}},"Type":"Funktion","Index":2}]},{"Rolle":"Værktøj","tool_call_id":"call_ 6e6cade782f54c9ca87186","content":"2025/3/26 17:19:40"},{"role":"tool","tool_call_id":"call_cc957be34f5741f4b2a969","content":"Vejrforholdene i Shanghai er som følger: skyet med tordenvejr, temperaturer mellem 10°C og 20°C",{" rolle":"værktøj","tool_call_id":"call_6023df74d7bd48c789e876","indhold":"Lommeregner åbnet." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Statuskode: 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 > er nu 17:19:40, 26. marts 2025.

Vejrforholdene i Shanghai i dag er som følger: skyet til tordenvejr, temperaturer mellem 10°C og 20°C, husk venligst at medbringe en paraply.

Jeg har åbnet lommeregneren for dig, og du kan begynde at regne dine indtægter ud i dag.

Henvisning:

Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.

Score

Antal deltagere1MB+1 Sammenbrud årsag
GoodTime + 1 Støt ejeren i at poste et godt indlæg, og jeg vil også lave et godt indlæg!

Se alle vurderinger





Tidligere:toPlainString, toEngineeringString, toString for BigDecimal i Java
Næste:.NET/C# forældre-barn processer kommunikerer ved brug af standard input/output-strømme
 Udlejer| Opslået den 27-3-2025 08:59:23 |
Fler-omgangs samtalekode:


andenOplysningerne for den indledte anmodning er som følger:



 Udlejer| Opslået den 27-3-2025 08:58:04 |
Om streaming-output

I stream-tilstand gælder tool_calls også, men der er et par yderligere punkter at bemærke, som nævnt nedenfor:

Under streaming-outputtet, da finish_reason vil optræde i den sidste chunk, anbefales det at bruge tilstedeværelsen eller fraværet af delta.tool_calls-feltet til at afgøre, om det aktuelle svar indeholder et værktøjskald;
Under streaming-outputtet vil delta.content blive outputtet først, og derefter delta.tool_calls, så du skal vente på, at delta.content-outputtet er færdigt, før du kan vurdere og identificere tool_calls;
I processen med at streame output vil vi specificere tool_call.id og tool_call.function.name for det aktuelle kald tool_calls i den oprindelige datablok, og kun tool_call.function.arguments vil blive outputtet i den efterfølgende datablok.
Under streaming-outputprocessen, hvis Kimi-modellen returnerer flere tool_calls på én gang, vil vi bruge et ekstra felt kaldet indeks til at identificere det aktuelle tool_call-indeks, så du korrekt kan sammensætte parameteren tool_call.function.arguments.

Hyperlink-login er synlig.

Et eksempel på et streaming-svar er som følger:

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]


 Udlejer| Opslået den 22-10-2025 11:30:02 |
MCP (1) Model Context Protocol introduktionsvejledning
https://www.itsvse.com/thread-11104-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com