Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 1326|Răspunde: 3

[Sursă] [AI] (16) Nucleul semantic se bazează pe Qwen pentru a testa apelarea funcțiilor

[Copiază linkul]
Postat la 26-03-2025 17:46:52 | | | |
Cerințe: Folosește modele mari pentru a obține informații în timp real, cum ar fi ora curentă, vremea de azi, verificarea livrării expres etc., sau folosește modele mari pentru a analiza datele de afaceri, trebuie să folosești funcția Function Calling. Multe articole de pe Internet despre Function Calling sunt foarte vagi și nu explică clar, iar eu înțeleg această funcție bazându-mă pe informațiile solicitate.

Hai să aruncăm o privire mai întâi la randări și să folosim modelul mareIa ora actuală, vremea din Shanghai și calculatorul care m-a ajutat să-mi pornesc calculatorul, așa cum se arată în figura de mai jos:



Documentația interfeței OpenAI:Autentificarea cu hyperlink este vizibilă., așa cum se arată în figura de mai jos:



Apelarea funcțiilor

Modelele mari pot să nu fie eficiente atunci când se confruntă cu probleme în timp real, calcule matematice și alte probleme. Poți folosi funcția Function Calling pentru a permite modelelor mari să interacționeze cu lumea exterioară prin introducerea unor instrumente externe.

Function Calling este o funcție nouă care conectează modelele mari cu unelte și API-uri externe pentru a ajuta modelele mari să avanseze către implementarea industrială reală. Function Calling permite dezvoltatorilor să obțină date structurate din modele mai fiabil, fără a fi nevoie ca utilizatorii să introducă prompturi complexe.

Când este folosită, poți descrie funcțiile și definițiile unui set de funcții modelului în limbaj natural; În timpul conversației, când modelul mare simte că trebuie să folosească o funcție, va selecta inteligent funcția și va reveni să apeleze parametrii necesari pentru a răspunde nevoilor specifice ale utilizatorului. În alte cazuri, modelul mare nu va returna o funcție și va continua conversația. Modelul mare nu apelează direct funcția, ci returnează parametrii de intrare corespunzători, iar tu poți apela funcția și interfața API.

Pe scurt, Apelarea Funcțiilor este un "traducător" între interfețele de limbaj natural și cele de informație

Traduce limbajul natural în funcțiile și parametrii necesari și returnează-l apelantului model mare
După ce apelantul modelului mare execută funcția, rezultatul este returnat modelului mare, iar modelul mare poate fi rezumat în limbaj natural sau poate continua să planifice subsarcini

Diagrama fluxului de lucru este prezentată mai jos:



Nucleu semantic

Semantic Kernel este un kit de dezvoltare open-source ușor care poate fi folosit pentru a genera cu ușurință agenți AI și a integra cele mai noi modele AI în baze de cod C#, Python sau Java. Acționează ca un middleware eficient, permițând livrarea rapidă a soluțiilor la nivel enterprise.

Documentație:Autentificarea cu hyperlink este vizibilă.
Sursă:Autentificarea cu hyperlink este vizibilă.

C# apelează Alibaba Cloud Tongyi Qianwen pentru a executa Function Calling

Creează un nou proiect de consolă .NET 8 cu următoarele referințe:

Codul este următorul:

Rulează programul, care este randarea de la început, obține ora curentă și vremea din Shanghai și deschide calculatorul.

Jurnal de execuție:

=============================================================================
Request:
Method: POST
Uri: Autentificarea cu hyperlink este vizibilă.
Solicită conținut: {"tools":[{{"function":{"description":"Foarte util când vrei să știi ce oră este." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Acest lucru este util atunci când vrei să verifici vremea pentru un anumit oraș astăzi. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Oraș sau județ, cum ar fi Beijing, Shanghai, Orașul Hangzhou, districtul Yuhang etc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Aceasta este foarte utilă atunci când doriți să interogați informațiile logistice explicite specificate." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Numărul de urmărire al curierului, de exemplu, numerele de urmărire SF, ZTO și poștal sunt acceptabile." ","type":"string"}}}},"type":"function"},{"function":{"description":"Foarte util când vrei să deschizi calculatorul." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Bună, vă rog să mă ajutați să verific ora actuală și vremea de azi în Shanghai." Apoi, ajută-mă cu calculatorul de pontaj, vreau să calculez venitul de azi. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":adevărat}
Response:
Cod de stare: 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"}
=============================================================================
----------------------- numește metoda de a obține timp-----------------------
----------------------------------------------------------------
----------------------- numește metoda de a obține vremea-----------------------
Parametru: Shanghai
----------------------------------------------------------------
----------------------- Deschide calculatorul-----------------------
=============================================================================
Request:
Method: POST
Uri: Autentificarea cu hyperlink este vizibilă.
Solicită conținut: {"tools":[{{"function":{"description":"Foarte util când vrei să știi ce oră este." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Acest lucru este util atunci când vrei să verifici vremea pentru un anumit oraș astăzi. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Oraș sau județ, cum ar fi Beijing, Shanghai, Orașul Hangzhou, districtul Yuhang etc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Aceasta este foarte utilă atunci când doriți să interogați informațiile logistice explicite specificate." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Numărul de urmărire al curierului, de exemplu, numerele de urmărire SF, ZTO și poștal sunt acceptabile." ","type":"string"}}}},"type":"function"},{"function":{"description":"Foarte util când vrei să deschizi calculatorul." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Bună, vă rog să mă ajutați să verific ora actuală și vremea de azi în Shanghai." Apoi, ajută-mă cu calculatorul de pontaj, vreau să calculez venitul de azi. "},{"rol":"asistent","conținut":"","tool_calls":[{"id":"call_6e6cade782f54c9ca87186","funcție":{"nume":"itsvse-get_current_time","argumente":"{}"},"tip":"funcție" ","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":"Condițiile meteo în Shanghai sunt următoarele: înnorat cu furtuni, temperaturi între 10°C și 20°C"},{" rol":"unealta","tool_call_id""call_6023df74d7bd48c789e876","conținut":"Calculator deschis." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Cod de stare: 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"}
=============================================================================
Asistentul > are acum 17:19:40, 26 martie 2025.

Condițiile meteo din Shanghai astăzi sunt următoarele: noroți până la furtuni, temperaturi între 10°C și 20°C, vă rugăm să aduceți o umbrelă.

Ți-am deschis calculatorul și poți începe să-ți calculezi câștigurile chiar azi.

Referință:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

Scor

Numărul participanților1MB+1 Colaps rațiune
GoodTime + 1 Susțineți proprietarul să posteze o postare bună și voi posta și eu o postare bună!

Vezi toate ratingurile





Precedent:toPlainString, toEngineeringString, toString pentru BigDecimal în Java
Următor:Procesele părinte-copil .NET/C# comunică folosind fluxuri standard de intrare/ieșire
 Proprietarul| Postat la 2025-3-27 08:59:23 |
Cod de conversație cu mai multe roti:


secundăInformațiile pentru cererea inițiată sunt următoarele:



 Proprietarul| Postat la 2025-03-27 08:58:04 |
Despre producția de streaming

În modul flux, tool_calls se aplică de asemenea, dar există câteva puncte suplimentare de remarcat, enumerate mai jos:

În timpul ieșirii de streaming, deoarece finish_reason vor apărea în ultimul fragment, se recomandă folosirea prezenței sau absenței câmpului delta.tool_calls pentru a determina dacă răspunsul curent conține un apel de unealta;
În timpul ieșirii de streaming, delta.content va fi primul, apoi delta.tool_calls, așa că trebuie să aștepți ca rezultatul delta.content să se finalizeze înainte de a putea judeca și identifica tool_calls;
În procesul de streaming output, vom specifica tool_call.id și tool_call.function.name ale apelului curent tool_calls în blocul de date inițial, iar doar tool_call.function.arguments vor fi generate în blocul de date următor.
În timpul procesului de streaming output, dacă modelul Kimi returnează mai multe tool_calls simultan, vom folosi un câmp suplimentar numit index pentru a identifica indexul tool_call curent, astfel încât să poți îmbina corect parametrul tool_call.function.arguments.

Autentificarea cu hyperlink este vizibilă.

Un exemplu de răspuns de streaming este următorul:

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]


 Proprietarul| Postat la 2025-10-22 11:30:02 |
MCP (1) Tutorial introductiv pentru protocolul de context model
https://www.itsvse.com/thread-11104-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com