Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 1326|Ответ: 3

[Источник] [AI] (16) Семантическое ядро основано на Qwen для тестирования вызова функций

[Скопировать ссылку]
Опубликовано 26.03.2025 17:46:52 | | | |
Требования: Используйте большие модели для получения информации в реальном времени, например, текущее время, сегодняшнюю погоду, проверку экспресс-доставки и т.д., или используйте большие модели для анализа бизнес-данных — необходимо использовать функцию вызова функций. Многие статьи в интернете о вызове функций очень расплывчаты и не объясняют чётко, и я понимаю эту функцию на основе информации запроса.

Давайте сначала посмотрим на рендеры и используем большую модельВозьмите текущее время, погоду в Шанхае и калькулятор, который помог мне включить компьютер, как показано на рисунке ниже:



Документация по интерфейсу 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"}
=============================================================================
----------------------- называем метод получения времени-----------------------
----------------------------------------------------------------
----------------------- называть способом получения погоды-----------------------
Параметр: Шанхай
----------------------------------------------------------------
----------------------- Открой компьютерный калькулятор-----------------------
=============================================================================
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, пожалуйста, не забудьте взять зонт.

Я открыл калькулятор для вас, и вы можете начать рассчитывать свой доход уже сегодня.

Ссылка:

Вход по гиперссылке виден.
Вход по гиперссылке виден.
Вход по гиперссылке виден.
Вход по гиперссылке виден.
Вход по гиперссылке виден.

Счёт

Количество участников1МБ+1 Коллапс причина
GoodTime + 1 Поддержите владельца в хорошем посте, и я тоже выложу хороший пост!

Смотреть все рейтинги





Предыдущий:toPlainString, toEngineeringString, toString for BigDecimal in Java
Следующий:Родительско-дочерние процессы .NET/C# взаимодействуют с помощью стандартных потоков ввода/вывода
 Хозяин| Опубликовано 27.03.2025 08:59:23 |
Код многоповоротного разговора:


секундаИнформация по инициированному запросу следующая:



 Хозяин| Опубликовано 27.03.2025 08:58:04 |
О стриминговом контенте

В режиме потока tool_calls также применимо, но есть несколько дополнительных моментов, которые перечислены ниже:

Во время потокового вывода, поскольку finish_reason появится в финальном блоке, рекомендуется использовать наличие или отсутствие поля delta.tool_calls для определения, содержит ли текущий ответ вызов инструмента;
Во время стриминга сначала будет выводиться delta.content, а затем delta.tool_calls, поэтому нужно дождаться завершения delta.content, прежде чем определить и определить tool_calls;
В процессе потокового вывода мы задаём имя tool_call.id и tool_call.function.name текущего вызова tool_calls в начальном блоке данных, а в следующем блоке данных будут выводиться только tool_call.function.arguments.
В процессе потокового вывода, если модель Кими возвращает сразу несколько tool_calls, мы используем дополнительное поле index для идентификации текущего tool_call индекса, чтобы правильно сшить параметр tool_call.function.arguments.

Вход по гиперссылке виден.

Пример потокового ответа следующий:

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]


 Хозяин| Опубликовано 2025-10-22 11:30:02 |
MCP (1) Вводный учебный материал по протоколу контекста модели
https://www.itsvse.com/thread-11104-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com