Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 1326|Odpowiedź: 3

[Źródło] [AI] (16) Jądro semantyczne opiera się na Qwen do testowania wywoływania funkcji

[Skopiuj link]
Opublikowano 2025-3-26 17:46:52 | | | |
Wymagania: Używaj dużych modeli do uzyskania informacji w czasie rzeczywistym, takich jak aktualny czas, dzisiejsza pogoda, kontrola ekspresowej dostawy itp., lub używaj dużych modeli do analizy danych biznesowych, musisz użyć funkcji Wywoływania Funkcji. Wiele artykułów w Internecie o Function Calling jest bardzo niejasnych i nie wyjaśnia jasno, a tę funkcję rozumiem na podstawie informacji o żądaniu.

Najpierw przyjrzyjmy się wizualizacjom i użyjmy dużego modeluSprawdź aktualny czas, pogodę w Szanghaju oraz kalkulator, który pomógł mi włączyć komputer, jak pokazano na poniższym rysunku:



Dokumentacja interfejsu OpenAI:Logowanie do linku jest widoczne., jak pokazano na poniższym rysunku:



Wywoływanie funkcji

Duże modele mogą nie być skuteczne przy problemach czasu rzeczywistego, obliczeniach matematycznych i innych problemach. Możesz użyć funkcji wywoływania funkcji, aby umożliwić dużym modelom interakcję ze światem zewnętrznym, wprowadzając zewnętrzne narzędzia.

Function Calling to nowa funkcja, która łączy duże modele z zewnętrznymi narzędziami i API, aby pomóc dużym modelom przejść do rzeczywistej implementacji przemysłowej. Wywoływanie funkcji pozwala programistom na bardziej niezawodne pozyskiwanie danych strukturalnych z modeli bez konieczności wprowadzania złożonych promptów.

Gdy jest używana, można opisać funkcje i definicje zestawu funkcji modelu językiem naturalnym; Podczas rozmowy, gdy duży model uzna, że musi użyć funkcji, inteligentnie wybiera tę funkcję i wraca, aby wywołać wymagane parametry spełniające specyficzne potrzeby użytkownika. W innych przypadkach duży model nie zwraca funkcji i kontynuuje rozmowę. Duży model nie wywołuje bezpośrednio funkcji, lecz zwraca jej odpowiednie parametry wejściowe, a interfejs funkcji/API możesz wywołać samodzielnie.

Mówiąc prosto, wywoływanie funkcji to "tłumacz" pomiędzy interfejsami języka naturalnego a informacji

Przetłumacz język naturalny na wymagane funkcje i parametry i zwróć go do dużego wywołującego model
Po wykonaniu funkcji przez wywołującego model, wynik wraca do dużego modelu, a duży model może być podsumowany w języku naturalnym lub kontynuować planowanie podzadań

Diagram przepływu pracy przedstawiono poniżej:



Jądro semantyczne

Semantic Kernel to lekki, open-source zestaw programiski, który można łatwo wykorzystać do generowania agentów AI oraz integracji najnowszych modeli AI z kodami C#, Python lub Java. Działa jako wydajne oprogramowanie pośredniczące, umożliwiając szybkie dostarczanie rozwiązań na poziomie korporacyjnym.

Dokumentacja:Logowanie do linku jest widoczne.
Źródło:Logowanie do linku jest widoczne.

C# wywołuje Alibaba Cloud Tongyi Qianwen, aby wykonać wywołanie funkcji

Stwórz nowy projekt konsolowy .NET 8 z następującymi odniesieniami:

Kod jest następujący:

Uruchom program, czyli renderowanie na początku, uzyskaj aktualną godzinę i pogodę w Szanghaju, a potem otwórz kalkulator.

Dziennik egzekucji:

=============================================================================
Request:
Method: POST
Uri: Logowanie do linku jest widoczne.
Zawartość żądania: {"tools":[{"function":{"description":"Bardzo przydatne, gdy chcesz wiedzieć, która jest godzina." ,"name":"itsvse-get_current_time", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To przydatne, gdy chcesz dziś sprawdzić pogodę dla danego miasta. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"city lub county, takie jak Beijing, Shanghai, Miasto Hangzhou, dzielnica Yuhang itd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To jest bardzo przydatne, gdy chcesz zapytać o określone ekspresowe informacje logistyczne." ","name":"itsvse-get_current_test", "strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Numer śledzenia kurierów, np. numery śledzące SF, ZTO oraz Postal courier Courier są akceptowalne." ","type":"string"}}}},"type":"function"},{"function":{"description":"Bardzo przydatne, gdy chcesz otworzyć kalkulator." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Cześć, proszę pomóc mi sprawdzić aktualną godzinę i dzisiejszą pogodę w Szanghaju." A potem pomóż mi z kalkulatorem odejścia na pracę, chcę obliczyć dzisiejszy dochód. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Kod statusu: 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"}
=============================================================================
----------------------- nazywamy metodą zdobywania czasu-----------------------
----------------------------------------------------------------
----------------------- nazywamy metodą uzyskiwania pogody-----------------------
Parametr: Szanghaj
----------------------------------------------------------------
----------------------- Otwórz kalkulator komputerowy-----------------------
=============================================================================
Request:
Method: POST
Uri: Logowanie do linku jest widoczne.
Zawartość żądania: {"tools":[{"function":{"description":"Bardzo przydatne, gdy chcesz wiedzieć, która jest godzina." ,"name":"itsvse-get_current_time", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" To przydatne, gdy chcesz dziś sprawdzić pogodę dla danego miasta. ","name":"itsvse-get_current_weather", "strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"city lub county, takie jak Beijing, Shanghai, Miasto Hangzhou, dzielnica Yuhang itd. ","type":"string"}}}},"type":"function"},{"function":{"description":"To jest bardzo przydatne, gdy chcesz zapytać o określone ekspresowe informacje logistyczne." ","name":"itsvse-get_current_test", "strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Numer śledzenia kurierów, np. numery śledzące SF, ZTO oraz Postal courier Courier są akceptowalne." ","type":"string"}}}},"type":"function"},{"function":{"description":"Bardzo przydatne, gdy chcesz otworzyć kalkulator." ,"name":"itsvse-open_calculator", "strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Cześć, proszę pomóc mi sprawdzić aktualną godzinę i dzisiejszą pogodę w Szanghaju." A potem pomóż mi z kalkulatorem odejścia na pracę, chcę obliczyć dzisiejszy dochód. "},{"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":"Warunki pogodowe w Szanghaju są następujące: pochmurno z burzami, temperatury między 10°C a 20°C"},{" rola":"narzędzie","tool_call_id":"call_6023df74d7bd48c789e876","treść":"Kalkulator otwarty." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Kod statusu: 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"}
=============================================================================
Asystent > jest teraz o 17:19:40, 26 marca 2025.

Warunki pogodowe w Szanghaju są dziś następujące: pochmurno do burz, temperatury od 10°C do 20°C, prosimy pamiętać o zabraniu parasola.

Otworzyłem dla ciebie kalkulator i możesz zacząć już dziś obliczać swoje zarobki.

Odniesienie:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.

Wynik

Liczba uczestników1MB+1 Zapaść powód
GoodTime + 1 Wesprzyj właściciela w opublikowaniu dobrego posta, a ja też opublikuję dobry post!

Zobacz wszystkie oceny





Poprzedni:toPlainString, toEngineeringString, toString for BigDecimal in Java
Następny:Procesy rodzic-dziecko .NET/C# komunikują się za pomocą standardowych strumieni wejścia/wyjścia
 Ziemianin| Opublikowano 27.03.2025 08:59:23 |
Kod rozmowy wieloturowej:


sekundaInformacje dotyczące inicjowanego wniosku są następujące:



 Ziemianin| Opublikowano 2025-3-27 08:58:04 |
O wynikach streamingowych

W trybie strumieniowym również tool_calls obowiązuje, ale jest kilka dodatkowych punktów do zwrócenia uwagi, jak wymieniono poniżej:

Podczas wyjścia strumieniowego, ponieważ finish_reason pojawi się w końcowym bloku, zaleca się użycie obecności lub braku pola delta.tool_calls, aby sprawdzić, czy bieżąca odpowiedź zawiera wywołanie narzędzia;
Podczas wyjścia strumieniowego najpierw zostanie wyprowadzony delta.content, a potem delta.tool_calls, więc musisz poczekać na zakończenie wyjścia delta.content, zanim będziesz mógł ocenić i zidentyfikować tool_calls;
W procesie strumieniowania wyjścia określimy tool_call.id oraz tool_call.function.name bieżącego tool_calls wywołań w początkowym bloku danych, a w kolejnym bloku danych zostaną wygenerowane tylko tool_call.function.arguments.
Podczas procesu przesyłania danych wyjściowych, jeśli model Kimi zwraca wiele tool_calls jednocześnie, użyjemy dodatkowego pola o nazwie index, aby zidentyfikować aktualny tool_call indeksu, abyś mógł poprawnie zszyć parametr tool_call.function.arguments.

Logowanie do linku jest widoczne.

Przykładem odpowiedzi streamingowej jest następująca:

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]


 Ziemianin| Opublikowano 2025-10-22 11:30:02 |
Wprowadzający samouczek MCP (1) Wprowadzenie do protokołu kontekstowego MCP
https://www.itsvse.com/thread-11104-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com