Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 1326|Antwort: 3

[Quelle] [KI] (16) Semantic Kernel basiert auf Qwen, um Function Calling zu testen

[Link kopieren]
Veröffentlicht am 26.03.2025, 17:46:52 | | | |
Anforderungen: Verwenden Sie große Modelle, um Echtzeitinformationen wie aktuelle Zeit, heutiges Wetter, Schnellzustellung usw. zu erhalten, oder verwenden Sie große Modelle zur Analyse von Geschäftsdaten; Sie müssen die Funktion Function Calling verwenden. Viele Artikel im Internet über Function Calling sind sehr vage und erklären es nicht klar, und ich verstehe diese Funktion anhand der Anfrageinformationen.

Schauen wir uns zuerst die Renderings an und verwenden das große ModellDie aktuelle Uhrzeit, das Wetter in Shanghai und den Taschenrechner, der mir geholfen hat, meinen Computer einzuschalten, wie in der untenstehenden Abbildung dargestellt:



OpenAI-Schnittstellendokumentation:Der Hyperlink-Login ist sichtbar., wie in der untenstehenden Abbildung dargestellt:



Funktionsaufruf

Große Modelle sind möglicherweise nicht effektiv, wenn sie mit Echtzeitproblemen, mathematischen Berechnungen und anderen Problemen konfrontiert sind. Sie können die Funktion Function Calling nutzen, um große Modelle mit der Außenwelt interagieren zu lassen, indem Sie externe Werkzeuge einführen.

Function Calling ist eine neue Funktion, die große Modelle mit externen Werkzeugen und APIs verbindet, um große Modelle auf den Weg zur tatsächlichen industriellen Implementierung zu unterstützen. Function Calling ermöglicht es Entwicklern, strukturierte Daten aus Modellen zuverlässiger zu erhalten, ohne dass Benutzer komplexe Prompts eingeben müssen.

In Verwendung kann man die Funktionen und Definitionen einer Menge von Funktionen dem Modell in natürlicher Sprache beschreiben; Während des Gesprächs, wenn das große Modell das Gefühl hat, eine Funktion verwenden zu müssen, wählt es die Funktion intelligent aus und kehrt zurück, um die erforderlichen Parameter aufzurufen, um die spezifischen Bedürfnisse des Nutzers zu erfüllen. In anderen Fällen gibt das große Modell keine Funktion zurück und setzt die Diskussion fort. Das große Modell ruft die Funktion nicht direkt auf, sondern gibt die entsprechenden Eingabeparameter zurück, und du kannst die Funktions-/API-Schnittstelle selbst aufrufen.

Einfach ausgedrückt ist Function Calling ein "Übersetzer" zwischen natürlichen Sprach- und Informationsschnittstellen

Übersetze die natürliche Sprache in die erforderlichen Funktionen und Parameter und gebe sie an den großen Modellaufrufer zurück
Nachdem der Aufrufer des großen Modells die Funktion ausgeführt hat, wird das Ergebnis an das große Modell zurückgegeben, und das große Modell kann in natürlicher Sprache zusammengefasst oder weiterhin Teilaufgaben planen

Das Workflow-Diagramm ist unten dargestellt:



Semantischer Kernel

Der Semantic Kernel ist ein leichtes, quelloffenes Entwicklungskit, das verwendet werden kann, um KI-Agenten einfach zu generieren und die neuesten KI-Modelle in C#-, Python- oder Java-Codebasen zu integrieren. Sie fungiert als effiziente Middleware und ermöglicht eine schnelle Lieferung von Lösungen auf Unternehmensebene.

Dokumentation:Der Hyperlink-Login ist sichtbar.
Quelle:Der Hyperlink-Login ist sichtbar.

C# ruft Alibaba Cloud Tongyi Qianwen auf, um Function Calling auszuführen

Erstellen Sie ein neues .NET 8-Konsolenprojekt mit den folgenden Referenzen:

Der Code lautet wie folgt:

Führe das Programm aus, das am Anfang das Rendering zeigt, besorge dir die aktuelle Zeit und das Wetter in Shanghai und öffne den Rechner.

Ausführungsprotokoll:

=============================================================================
Request:
Method: POST
Uri: Der Hyperlink-Login ist sichtbar.
Inhalt anfordern: {"tools":{{"function":{"description":"Sehr nützlich, wenn man wissen möchte, wie spät es ist." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Das ist nützlich, wenn Sie heute das Wetter einer bestimmten Stadt überprüfen möchten. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Stadt oder Landkreis, wie Peking, Shanghai, Stadt Hangzhou, Yuhang-Bezirk usw. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dies ist sehr nützlich, wenn Sie die angegebenen Express-Logistikinformationen absuchen möchten." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Courier-Tracking-Nummern, z.B. SF, ZTO, und Postkurier-Sendungsnummern sind akzeptabel." ","type":"string"}}}},"type":"function"},{"function":{"description":"Sehr nützlich, wenn man den Taschenrechner öffnen möchte." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{"role":"user","content" "Hallo, bitte helfen Sie mir, die aktuelle Zeit und das heutige Wetter in Shanghai zu überprüfen." Dann hilf mir mit dem Einstempelrechner, ich möchte das heutige Einkommen berechnen. "}],"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"}
=============================================================================
----------------------- die Methode, Zeit zu bekommen-----------------------
----------------------------------------------------------------
----------------------- die Methode, das Wetter zu bekommen, so genannt-----------------------
Parameter: Shanghai
----------------------------------------------------------------
----------------------- Öffne den Computerrechner-----------------------
=============================================================================
Request:
Method: POST
Uri: Der Hyperlink-Login ist sichtbar.
Inhalt anfordern: {"tools":{{"function":{"description":"Sehr nützlich, wenn man wissen möchte, wie spät es ist." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Das ist nützlich, wenn Sie heute das Wetter einer bestimmten Stadt überprüfen möchten. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"Stadt oder Landkreis, wie Peking, Shanghai, Stadt Hangzhou, Yuhang-Bezirk usw. ","type":"string"}}}},"type":"function"},{"function":{"description":"Dies ist sehr nützlich, wenn Sie die angegebenen Express-Logistikinformationen absuchen möchten." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Courier-Tracking-Nummern, z.B. SF, ZTO, und Postkurier-Sendungsnummern sind akzeptabel." ","type":"string"}}}},"type":"function"},{"function":{"description":"Sehr nützlich, wenn man den Taschenrechner öffnen möchte." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":{"role":"user","content" "Hallo, bitte helfen Sie mir, die aktuelle Zeit und das heutige Wetter in Shanghai zu überprüfen." Dann hilf mir mit dem Einstempelrechner, ich möchte das heutige Einkommen berechnen. "},{"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":"Die Wetterbedingungen in Shanghai sind wie folgt: bewölkt mit Gewittern, Temperaturen zwischen 10°C und 20°C"},{" role":"Werkzeug","tool_call_id":"call_6023df74d7bd48c789e876","Inhalt":"Taschenrechner geöffnet." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
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"}
=============================================================================
Assistant > ist jetzt um 17:19:40 Uhr am 26. März 2025.

Die heutigen Wetterbedingungen in Shanghai sind wie folgt: bewölkt bis Gewitter, Temperaturen zwischen 10°C und 20°C, bitte denken Sie daran, einen Regenschirm mitzubringen.

Ich habe den Taschenrechner für Sie geöffnet und Sie können heute mit der Berechnung Ihres Einkommens beginnen.

Referenz:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.

Punktzahl

Anzahl der Teilnehmer1MB+1 Zusammenbruch Grund
GoodTime + 1 Unterstütze den Inhaber, einen guten Beitrag zu posten, und ich werde auch einen guten Beitrag posten!

Alle Bewertungen sehen





Vorhergehend:toPlainString, toEngineeringString, toString für BigDecimal in Java
Nächster:.NET/C#-Eltern-Kind-Prozesse kommunizieren über Standard-Eingabe-/Ausgabeströme
 Vermieter| Veröffentlicht am 27.03.2025, 08:59:23 |
Mehr-Runden-Gesprächscode:


SekundeDie Informationen für die eingeleitete Anfrage sind wie folgt:



 Vermieter| Veröffentlicht am 27.03.2025, 08:58:04 |
Über Streaming-Ausgaben

Im Stream-Modus gilt tool_calls ebenfalls, aber es gibt einige weitere Punkte zu beachten, wie unten aufgelistet:

Während der Streaming-Ausgabe, da finish_reason im letzten Chunk erscheinen wird, wird empfohlen, das Vorhandensein oder Fehlen des delta.tool_calls-Feldes zu verwenden, um zu bestimmen, ob die aktuelle Antwort einen Werkzeugaufruf enthält;
Während des Streaming-Outputs wird delta.content zuerst ausgegeben und dann der delta.tool_calls, daher müssen Sie warten, bis der delta.content-Output abgeschlossen ist, bevor Sie tool_calls beurteilen und identifizieren können;
Im Prozess des Streaming-Outputs geben wir die tool_call.id und tool_call.function.name des aktuellen Aufrufs tool_calls im Anfangsdatenblock an, und im folgenden Datenblock werden nur tool_call.function.arguments ausgegeben.
Während des Streaming-Ausgabeprozesses, wenn das Kimi-Modell mehrere tool_calls gleichzeitig zurückgibt, verwenden wir ein zusätzliches Feld namens Index, um den aktuellen tool_call-Index zu identifizieren, sodass Sie den Parameter tool_call.function.arguments korrekt zusammenfügen können.

Der Hyperlink-Login ist sichtbar.

Ein Beispiel für eine Streaming-Antwort ist wie folgt:

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]


 Vermieter| Veröffentlicht am 22.10.2025, 11:30:02 |
MCP (1) Model Context Protocol Einführungstutorial
https://www.itsvse.com/thread-11104-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com