Вимоги: Використовуйте великі моделі для отримання інформації в реальному часі, таку як поточний час, сучасну погоду, перевірку експрес-доставки тощо, або використовуйте великі моделі для аналізу бізнес-даних — потрібно використовувати функцію виклику функцій. Багато статей в Інтернеті про виклик функцій дуже розпливчасті і не пояснюють чітко, і я розумію цю функцію на основі інформації про запит.
Давайте спочатку подивимось на рендеринги і використаємо велику модельОтримайте поточний час, погоду в Шанхаї та калькулятор, який допоміг мені увімкнути комп'ютер, як показано на рисунку нижче:
Документація інтерфейсу OpenAI:Вхід за гіперпосиланням видно., як показано на рисунку нижче:
Виклик функцій
Великі моделі можуть бути неефективними при вирішенні задач у реальному часі, математичних розрахунках та інших задачах. Функцію виклику функцій можна використати, щоб великі моделі взаємодіяли із зовнішнім світом, вводячи зовнішні інструменти.
Виклик функцій — це нова функція, яка з'єднує великі моделі з зовнішніми інструментами та API, щоб допомогти великим моделям перейти до реального промислового впровадження. Виклик функцій дозволяє розробникам більш надійно отримувати структуровані дані з моделей без необхідності вводити складні запити.
При використанні ви можете описувати функції та визначення набору функцій для моделі природною мовою; Під час розмови, коли велика модель відчуває, що їй потрібно використати функцію, вона розумно обирає цю функцію і повертається, щоб викликати потрібні параметри відповідно до конкретних потреб користувача. В інших випадках велика модель не повертає функцію і продовжує розмову. Велика модель не викликає функцію напряму, а повертає відповідні вхідні параметри, і ви можете самостійно викликати інтерфейс функції/API.
Простими словами, виклик функцій — це «транслятор» між інтерфейсами природної мови та інформації
Перекладіть природну мову у необхідні функції та параметри та поверніть її великому виклику моделі Після того, як викликач великої моделі виконує функцію, результат повертається до великої моделі, і велику модель можна узагальнювати природною мовою або продовжувати планувати підзавдання
Діаграма робочого процесу наведена нижче:
Семантичне ядро
Semantic Kernel — це легкий, відкритий набір для розробки, який дозволяє легко генерувати агенти ШІ та інтегрувати найновіші моделі ШІ в кодові бази C#, Python або Java. Він виступає ефективним проміжним програмним забезпеченням, що дозволяє швидко доставляти рішення на корпоративному рівні.
Документації:Вхід за гіперпосиланням видно. Джерело:Вхід за гіперпосиланням видно.
C# викликає Alibaba Cloud Tongyi Qianwen для виконання виклику функцій
Створіть новий проєкт консолі .NET 8 з такими посиланнями:
Код виглядає так:
Запусти програму, яка є рендерингом на початку, отримай поточний час і погоду в Шанхаї, і відкрий калькулятор.
Журнал виконання:
=============================================================================
Request:
Method: POST
Uri: Вхід за гіперпосиланням видно. Запит на контент: {"tools":[{"function":{"description":"Дуже корисно, коли хочеш знати, котра година." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Це корисно, коли ви хочете перевірити погоду для певного міста сьогодні. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"місто або повіт, такі як Пекін, Шанхай, Місто Ханчжоу, район Юхан тощо. ","type":"string"}}}},"type":"function"},{"function":{"description":"Це дуже корисно, коли ви хочете запитати вказану експрес-логістичну інформацію." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Номер відстеження кур'єра, наприклад, SF, ZTO та номери відстеження поштових кур'єрів прийнятні." ","type":"string"}}}},"type":"function"},{"function":{"description":"Дуже корисно, коли хочете відкрити калькулятор." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Привіт, будь ласка, допоможіть перевірити поточний час і сьогоднішню погоду в Шанхаї." Потім допоможіть мені з калькулятором відкладення, я хочу порахувати сьогоднішній дохід. "}],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Статус коду: ОК
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"} ============================================================================= ----------------------- називають методом отримання часу----------------------- ---------------------------------------------------------------- ----------------------- називаємо метод отримання погоди----------------------- Параметр: Shanghai ---------------------------------------------------------------- ----------------------- Відкрий комп'ютерний калькулятор----------------------- =============================================================================
Request:
Method: POST
Uri: Вхід за гіперпосиланням видно. Запит на контент: {"tools":[{"function":{"description":"Дуже корисно, коли хочеш знати, котра година." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Це корисно, коли ви хочете перевірити погоду для певного міста сьогодні. ","name":"itsvse-get_current_weather","strict":false,"parameters":{"type":"object","required":["location"],"properties":{"location":{"description":"місто або повіт, такі як Пекін, Шанхай, Місто Ханчжоу, район Юхан тощо. ","type":"string"}}}},"type":"function"},{"function":{"description":"Це дуже корисно, коли ви хочете запитати вказану експрес-логістичну інформацію." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":"Номер відстеження кур'єра, наприклад, SF, ZTO та номери відстеження поштових кур'єрів прийнятні." ","type":"string"}}}},"type":"function"},{"function":{"description":"Дуже корисно, коли хочете відкрити калькулятор." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Привіт, будь ласка, допоможіть перевірити поточний час і сьогоднішню погоду в Шанхаї." Потім допоможіть мені з калькулятором відкладення, я хочу порахувати сьогоднішній дохід. "},{"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":"Погодні умови в Шанхаї такі: хмарно з грозами, температура від 10°C до 20°C"},{" role":"tool","tool_call_id":"call_6023df74d7bd48c789e876","content":"Калькулятор відкрито." }],"model":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response: Статус коду: ОК
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"} ============================================================================= Асистент > зараз 17:19:40, 26 березня 2025 року.
Погодні умови в Шанхаї сьогодні такі: від хмарності до гроз, температура від 10°C до 20°C, будь ласка, не забудьте взяти парасольку.
Я відкрив калькулятор для вас, і ви можете починати розрахунок своїх доходів вже сьогодні. Посилання:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно. |