Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 1326|Risposta: 3

[Fonte] [AI] (16) Il kernel semantico si basa su Qwen per testare la chiamata di funzioni

[Copiato link]
Pubblicato il 26-03-2025 17:46:52 | | | |
Requisiti: Usa modelli grandi per ottenere informazioni in tempo reale, come l'ora attuale, il meteo di oggi, verifica la consegna espressa, ecc., oppure usa modelli grandi per analizzare i dati aziendali, devi usare la funzione Function Calling. Molti articoli su Internet riguardo al Function Calling sono molto vaghi e non spiegano chiaramente, e capisco questa funzione basandomi sulle informazioni della richiesta.

Diamo prima un'occhiata ai rendering e usiamo il modello grandePrendi l'ora attuale, il meteo a Shanghai e la calcolatrice che mi ha aiutato ad accendere il computer, come mostrato nella figura sottostante:



Documentazione dell'interfaccia OpenAI:Il login del link ipertestuale è visibile., come mostrato nella figura sottostante:



Chiamata di funzione

I modelli di grandi dimensioni potrebbero non essere efficaci quando si affrontano problemi in tempo reale, calcoli matematici e altri problemi. Puoi usare la funzione Function Calling per permettere ai grandi modelli di interagire con il mondo esterno introducendo strumenti esterni.

Function Calling è una nuova funzione che collega grandi modelli con strumenti esterni e API per aiutare i grandi modelli a avanzare verso una vera implementazione industriale. La Function Calling consente agli sviluppatori di ottenere dati strutturati dai modelli in modo più affidabile senza la necessità degli utenti di inserire prompt complessi.

Quando usate, si possono descrivere le funzioni e le definizioni di un insieme di funzioni al modello in linguaggio naturale; Durante la conversazione, quando il modello grande ritiene di dover usare una funzione, selezionerà intelligentemente la funzione e tornerà a chiamare i parametri necessari per soddisfare le esigenze specifiche dell'utente. In altri casi, il modello grande non restituirà una funzione e continuerà la conversazione. Il modello grande non chiama direttamente la funzione, ma restituisce i corrispondenti parametri di input, e puoi chiamare tu stesso l'interfaccia funzione/API.

In termini semplici, la Chiamata di Funzione è un "traduttore" tra interfacce di linguaggio naturale e informazioni

Traduci il linguaggio naturale nelle funzioni e parametri richiesti, e restituiscilo al grande chiamante del modello
Dopo che il chiamante del modello grande ha eseguito la funzione, il risultato viene restituito al modello grande e il modello grande può essere riassunto in linguaggio naturale o continuare a pianificare sottocompiti

Il diagramma del flusso di lavoro è mostrato di seguito:



Kernel Semantico

Il Semantic Kernel è un kit di sviluppo leggero e open-source che può essere utilizzato per generare facilmente agenti AI e integrare gli ultimi modelli di IA in codici C#, Python o Java. Agisce come un middleware efficiente, consentendo una rapida consegna di soluzioni a livello enterprise.

Documentazione:Il login del link ipertestuale è visibile.
Fonte:Il login del link ipertestuale è visibile.

C# chiama Alibaba Cloud Tongyi Qianwen per eseguire Function Calling

Crea un nuovo progetto console .NET 8 con i seguenti riferimenti:

Il codice è il seguente:

Esegui il programma, che è il rendering all'inizio, ottieni l'ora attuale e il meteo di Shanghai, e apri la calcolatrice.

Registro di esecuzione:

=============================================================================
Request:
Method: POST
Uri: Il login del link ipertestuale è visibile.
Richiedi contenuto: {"tools":[{{"function":{"description":"Molto utile quando vuoi sapere che ora è." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Questo è utile quando vuoi controllare il meteo di una determinata città oggi. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"proprietà":{"location":{"description":"città o contea, come Pechino, Shanghai, Città di Hangzhou, Distretto di Yuhang, ecc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Quest'è molto utile quando vuoi interrogare le informazioni logistiche espresse specificate." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":""Numero di tracciamento corriere, ad esempio SF, ZTO e corriere postale sono accettabili." ","type":"string"}}}},"type":"function"},{"function":{"description":"Molto utile quando vuoi aprire la calcolatrice." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"proprietà":{}}},"type":"function"}],"messages":[{"ruolo":"utente","content" "Ciao, per favore aiutami a controllare l'ora attuale e il meteo di oggi a Shanghai." Poi, aiutami con il calcolatore di timbraggio, voglio calcolare il reddito di oggi. "}],"modell":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Codice di stato: 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"}
=============================================================================
----------------------- chiamare il metodo per ottenere tempo-----------------------
----------------------------------------------------------------
----------------------- chiami il metodo per ottenere il meteo-----------------------
Parametro: Shanghai
----------------------------------------------------------------
----------------------- Apri la calcolatrice del computer-----------------------
=============================================================================
Request:
Method: POST
Uri: Il login del link ipertestuale è visibile.
Richiedi contenuto: {"tools":[{{"function":{"description":"Molto utile quando vuoi sapere che ora è." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Questo è utile quando vuoi controllare il meteo di una determinata città oggi. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"proprietà":{"location":{"description":"città o contea, come Pechino, Shanghai, Città di Hangzhou, Distretto di Yuhang, ecc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Quest'è molto utile quando vuoi interrogare le informazioni logistiche espresse specificate." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":""Numero di tracciamento corriere, ad esempio SF, ZTO e corriere postale sono accettabili." ","type":"string"}}}},"type":"function"},{"function":{"description":"Molto utile quando vuoi aprire la calcolatrice." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"proprietà":{}}},"type":"function"}],"messages":[{"ruolo":"utente","content" "Ciao, per favore aiutami a controllare l'ora attuale e il meteo di oggi a Shanghai." Poi, aiutami con il calcolatore di timbraggio, voglio calcolare il reddito di oggi. "},{"ruolo":"assistente","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":"content":"Le condizioni meteorologiche a Shanghai sono le seguenti: nuvolose con temporali, temperature tra 10°C e 20°C"},{" ruolo":"strumento","tool_call_id":"call_6023df74d7bd48c789e876","contenuto":"Calcolatrice aperta." }],"modell":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Codice di stato: 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"}
=============================================================================
Assistente > ora è alle 17:19:40, 26 marzo 2025.

Le condizioni meteorologiche a Shanghai oggi sono le seguenti: nuvolose a temporali, temperature tra 10°C e 20°C, si prega di ricordare di portare un ombrello.

Ho aperto la calcolatrice per te e puoi iniziare a calcolare i tuoi guadagni oggi.

Riferimento:

Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.

Punteggio

Numero di partecipanti1MB+1 Collasso ragione
GoodTime + 1 Supporta il proprietario per pubblicare un buon post, e pubblicherò anche io un buon post!

Vedi tutte le valutazioni





Precedente:toPlainString, toEngineeringString, toString per BigDecimal in Java
Prossimo:I processi padre-figlio .NET/C# comunicano utilizzando flussi standard di input/output
 Padrone di casa| Pubblicato il 27-03-2025 08:59:23 |
Codice di conversazione a più turni:


secondoLe informazioni per la richiesta avviata sono le seguenti:



 Padrone di casa| Pubblicato il 27-03-2025 08:58:04 |
Informazioni sulla produzione streaming

In modalità stream, tool_calls vale anche, ma ci sono alcuni punti aggiuntivi da notare, come elencato di seguito:

Durante l'output in streaming, poiché finish_reason appariranno nell'ultimo chunk, si consiglia di utilizzare la presenza o l'assenza del campo delta.tool_calls per determinare se la risposta corrente contiene una chiamata a uno strumento;
Durante l'output in streaming, delta.content verrà prima outputato, poi il delta.tool_calls, quindi devi aspettare che l'output delta.content si completi prima di poter giudicare e identificare tool_calls;
Nel processo di streaming output, specificheremo il tool_call.id e tool_call.function.name della chiamata corrente tool_calls nel blocco dati iniziale, e solo tool_call.function.arguments saranno prodotti nel blocco dati successivo.
Durante il processo di uscita in streaming, se il modello Kimi restituisce più tool_calls contemporaneamente, useremo un campo aggiuntivo chiamato indice per identificare l'indice tool_call corrente, così da poter unire correttamente il parametro tool_call.function.arguments.

Il login del link ipertestuale è visibile.

Un esempio di risposta streaming è il seguente:

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]


 Padrone di casa| Pubblicato il 22-10-2025 11:30:02 |
MCP (1) Tutorial introduttivo sul protocollo di contesto modello
https://www.itsvse.com/thread-11104-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com