Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 1326|Svare: 3

[Kilde] [AI] (16) Semantic Kernel er basert på Qwen for å teste funksjonskall

[Kopier lenke]
Publisert 26.03.2025 kl. 17:46:52 | | | |
Krav: Bruk store modeller for å hente sanntidsinformasjon, som nåværende tid, dagens vær, sjekk ekspresslevering osv., eller bruk store modeller for å analysere forretningsdata, du må bruke funksjonen Function Calling. Mange artikler på Internett om funksjonskalling er veldig vage og forklarer ikke klart, og jeg forstår denne funksjonen basert på forespørselsinformasjonen.

La oss først se på renderingene og bruke den store modellenFå tak i nåværende tid, været i Shanghai og kalkulatoren som hjalp meg å slå på datamaskinen, som vist i figuren nedenfor:



Dokumentasjon for OpenAI-grensesnittet:Innloggingen med hyperkoblingen er synlig., som vist i figuren nedenfor:



Funksjonskall

Store modeller er kanskje ikke effektive når de står overfor sanntidsproblemer, matematiske beregninger og andre utfordringer. Du kan bruke funksjonen Function Calling for å gjøre det mulig for store modeller å samhandle med omverdenen ved å introdusere eksterne verktøy.

Function Calling er en ny funksjon som kobler store modeller med eksterne verktøy og API-er for å hjelpe store modeller mot faktisk industriell implementering. Function Calling gjør det mulig for utviklere å hente strukturerte data fra modeller mer pålitelig uten at brukerne må legge inn komplekse prompts.

Når det brukes, kan du beskrive funksjonene og definisjonene av et sett med funksjoner til modellen i naturlig språk; Under samtalen, når den store modellen føler at den må bruke en funksjon, vil den intelligent velge funksjonen og komme tilbake for å kalle de nødvendige parameterne for å møte brukerens spesifikke behov. I andre tilfeller vil ikke den store modellen returnere en funksjon og vil fortsette samtalen. Den store modellen kaller ikke funksjonen direkte, men returnerer tilsvarende inputparametere, og du kan selv kalle funksjonen/API-grensesnittet.

Enkelt sagt er Function Calling en «oversetter» mellom naturlige språk- og informasjonsgrensesnitt

Oversett det naturlige språket til nødvendige funksjoner og parametere, og returner det til den store modellkalleren
Etter at den store modellkalleren har utført funksjonen, returneres resultatet til den store modellen, og den store modellen kan oppsummeres i naturlig språk eller fortsette å planlegge deloppgaver

Arbeidsflytdiagrammet vises nedenfor:



Semantisk kjerne

Semantic Kernel er et lett, åpen kildekode-utviklingssett som kan brukes til enkelt å generere AI-agenter og integrere de nyeste AI-modellene i C#-, Python- eller Java-kodebaser. Den fungerer som en effektiv mellomvare som muliggjør rask levering av løsninger på bedriftsnivå.

Dokumentasjon:Innloggingen med hyperkoblingen er synlig.
Kilde:Innloggingen med hyperkoblingen er synlig.

C# kaller Alibaba Cloud Tongyi Qianwen for å utføre funksjonskall

Lag et nytt .NET 8-konsollprosjekt med følgende referanser:

Koden er som følger:

Kjør programmet, som er gjengivelsen i starten, hent gjeldende tid og været i Shanghai, og åpne kalkulatoren.

Utførelseslogg:

=============================================================================
Request:
Method: POST
Uri: Innloggingen med hyperkoblingen er synlig.
Forespørselsinnhold: {"tools":[{"function":{"description":"Veldig nyttig når du vil vite hva klokken er." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Dette er nyttig når du vil sjekke været i en gitt by i dag. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"By eller fylke, som Beijing, Shanghai, Hangzhou by, Yuhang-distriktet, osv. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dette er veldig nyttig når du vil spørre i den spesifiserte express logistics-informasjonen." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, f.eks. SF, ZTO og postens budsporingsnumre er akseptable." ","type":"string"}}}},"type":"function"},{"function":{"description":"Veldig nyttig når du vil åpne kalkulatoren." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Hallo, vær så snill og hjelp meg å sjekke nåværende tid og dagens vær i Shanghai." Så hjelp meg med klokkeklokke-kalkulatoren, jeg vil regne ut dagens inntekt. "}],"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"}
=============================================================================
----------------------- kaller det metoden for å få tid-----------------------
----------------------------------------------------------------
----------------------- kaller det metoden for å få været-----------------------
Parameter: Shanghai
----------------------------------------------------------------
----------------------- Åpne kalkulatoren-----------------------
=============================================================================
Request:
Method: POST
Uri: Innloggingen med hyperkoblingen er synlig.
Forespørselsinnhold: {"tools":[{"function":{"description":"Veldig nyttig når du vil vite hva klokken er." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Dette er nyttig når du vil sjekke været i en gitt by i dag. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"By eller fylke, som Beijing, Shanghai, Hangzhou by, Yuhang-distriktet, osv. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dette er veldig nyttig når du vil spørre i den spesifiserte express logistics-informasjonen." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Messenger tracking number, f.eks. SF, ZTO og postens budsporingsnumre er akseptable." ","type":"string"}}}},"type":"function"},{"function":{"description":"Veldig nyttig når du vil åpne kalkulatoren." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Hallo, vær så snill og hjelp meg å sjekke nåværende tid og dagens vær i Shanghai." Så hjelp meg med klokkeklokke-kalkulatoren, jeg vil regne ut dagens inntekt. "},{"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","innhold":"2025/3/26 17:19:40"},{"rolle":"verktøy","tool_call_id":"call_cc957be34f5741f4b2a969","innhold":"Værforholdene i Shanghai er som følger: skyet med tordenvær, temperaturer mellom 10°C og 20°C"},{" rolle":"verktøy","tool_call_id":"call_6023df74d7bd48c789e876","innhold":"Kalkulator åpnet." }],"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"}
=============================================================================
Assisterende > er nå 17:19:40, 26. mars 2025.

Værforholdene i Shanghai i dag er som følger: skyet til tordenvær, temperaturer mellom 10°C og 20°C, vennligst husk å ta med paraply.

Jeg har åpnet kalkulatoren for deg, og du kan begynne å regne ut inntektene dine i dag.

Referanse:

Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.

Score

Antall deltakere1MB+1 Sammenbrudd grunn
GoodTime + 1 Støtt eieren til å poste et godt innlegg, og jeg vil også poste et godt innlegg!

Se alle vurderinger





Foregående:toPlainString, toEngineeringString, toString for BigDecimal i Java
Neste:.NET/C#-foreldre-barn-prosesser kommuniserer ved bruk av standard input/output-strømmer
 Vert| Publisert 27.03.2025 08:59:23 |
Fler-omgangs samtalekode:


andreInformasjonen for den initierte forespørselen er som følger:



 Vert| Publisert 27.03.2025 08:58:04 |
Om strømming av innhold

I stream-modus gjelder tool_calls også, men det er noen ekstra punkter å merke seg, som listet opp nedenfor:

Under strømmeutdata, siden finish_reason vil dukke opp i den siste delen, anbefales det å bruke tilstedeværelsen eller fraværet av delta.tool_calls-feltet for å avgjøre om det nåværende svaret inneholder et verktøykall;
Under strømmeutgangen vil delta.content bli sendt ut først, og deretter delta.tool_calls, så du må vente til delta.content-utdata er ferdig før du kan vurdere og identifisere tool_calls;
I prosessen med å strømme utdata, vil vi spesifisere tool_call.id og tool_call.function.name til det nåværende kallet tool_calls i den opprinnelige datablokken, og kun tool_call.function.arguments vil bli skrevet ut i den påfølgende datablokken.
Under streaming-utgangsprosessen, hvis Kimi-modellen returnerer flere tool_calls samtidig, vil vi bruke et ekstra felt kalt indeks for å identifisere den nåværende tool_call-indeksen, slik at du kan sømme parameteren tool_call.function.arguments korrekt.

Innloggingen med hyperkoblingen er synlig.

Et eksempel på en strømmingsrespons 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]


 Vert| Publisert 2025-10-22 11:30:02 |
MCP (1) Model Context Protocol Introduksjonsveiledning
https://www.itsvse.com/thread-11104-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com