Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 1326|Respuesta: 3

[Fuente] [IA] (16) El Núcleo Semántico se basa en Qwen para probar la Llamada de Funciones

[Copiar enlace]
Publicado el 26-3-2025 17:46:52 | | | |
Requisitos: Utiliza modelos grandes para obtener información en tiempo real, como la hora actual, el tiempo actual, la entrega exprés, etc., o usa modelos grandes para analizar datos empresariales; necesitas usar la función de Llamada de Función. Muchos artículos en Internet sobre Function Calling son muy vagos y no explican claramente, y entiendo esta función basándome en la información de la solicitud.

Vamos a echar un vistazo primero a los renders y usar el modelo grandeConsigue la hora actual, el tiempo en Shanghái y la calculadora que me ayudó a encender el ordenador, como se muestra en la figura siguiente:



Documentación de la interfaz OpenAI:El inicio de sesión del hipervínculo es visible., como se muestra en la figura siguiente:



Llamada de función

Los modelos grandes pueden no ser efectivos cuando se enfrentan a problemas en tiempo real, cálculos matemáticos y otros problemas. Puedes usar la función de Llamada de Función para permitir que los modelos grandes interactúen con el mundo exterior introduciendo herramientas externas.

La llamada de funciones es una nueva función que conecta grandes modelos con herramientas externas y APIs para ayudar a que los grandes modelos avancen hacia una implementación industrial real. La llamada a funciones permite a los desarrolladores obtener datos estructurados de modelos de forma más fiable sin necesidad de que los usuarios introduzcan prompts complejos.

Cuando se utiliza, se pueden describir las funciones y definiciones de un conjunto de funciones al modelo en lenguaje natural; Durante la conversación, cuando el modelo grande considere que necesita usar una función, seleccionará inteligentemente la función y volverá a llamar a los parámetros requeridos para satisfacer las necesidades específicas del usuario. En otros casos, el modelo grande no devolverá una función y continuará la conversación. El modelo grande no llama directamente a la función, sino que devuelve sus parámetros de entrada correspondientes, y puedes llamar tú mismo a la interfaz función/API.

En términos sencillos, la llamada de funciones es un "traductor" entre las interfaces de lenguaje natural e información

Traduce el lenguaje natural en las funciones y parámetros requeridos, y devuelvo al llamador del modelo grande
Después de que el llamador del modelo grande ejecuta la función, el resultado se devuelve al modelo grande, y este puede resumirse en lenguaje natural o continuar planificando subtareas

El diagrama del flujo de trabajo se muestra a continuación:



Núcleo semántico

El Núcleo Semántico es un kit de desarrollo ligero y de código abierto que puede usarse para generar fácilmente agentes de IA e integrar los últimos modelos de IA en bases de código en C#, Python o Java. Actúa como un middleware eficiente, permitiendo la entrega rápida de soluciones a nivel empresarial.

Documentación:El inicio de sesión del hipervínculo es visible.
Fuente:El inicio de sesión del hipervínculo es visible.

C# llama a Alibaba Cloud Tongyi Qianwen para ejecutar Function Calling

Crea un nuevo proyecto de consola .NET 8 con las siguientes referencias:

El código es el siguiente:

Ejecuta el programa, que es el renderizado al principio, obtén la hora actual y el tiempo de Shanghái, y abre la calculadora.

Registro de ejecución:

=============================================================================
Request:
Method: POST
Uri: El inicio de sesión del hipervínculo es visible.
Solicitar contenido: {"tools":[{"function":{"description":"Muy útil cuando quieres saber qué hora es." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Esto es útil cuando quieres consultar el tiempo de una ciudad determinada hoy. ","nombre":"itsvse-get_current_weather","estricto":falso,"parámetros":{"tipo":"objeto","requerido":["ubicación"],"propiedades":{"ubicación":{"descripción":"ciudad o condado, como Pekín, Shanghái, Ciudad de Hangzhou, distrito de Yuhang, etc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Esto es muy útil cuando quieres consultar la información logística expresa especificada." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":""numbers de seguimiento del mensajero, por ejemplo, SF, ZTO y postal de mensajería son aceptables." ","type":"string"}}},"type":"function"},{"function":{"description":"Muy útil cuando quieres abrir la calculadora." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Hola, por favor ayúdame a comprobar la hora actual y el tiempo de hoy en Shanghái." Luego, ayúdame con la calculadora de fichaje, quiero calcular los ingresos de hoy. "}],"modelo":"qwen-max","tool_choice":"auto", "parallel_tool_calls":true}
Response:
Código de estado: 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"}
=============================================================================
----------------------- llama al método de conseguir tiempo-----------------------
----------------------------------------------------------------
----------------------- llama al método para conseguir el clima-----------------------
Parámetro: Shanghái
----------------------------------------------------------------
----------------------- Abre la calculadora del ordenador-----------------------
=============================================================================
Request:
Method: POST
Uri: El inicio de sesión del hipervínculo es visible.
Solicitar contenido: {"tools":[{"function":{"description":"Muy útil cuando quieres saber qué hora es." ,"name":"itsvse-get_current_time","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"},{"function":{"description":" Esto es útil cuando quieres consultar el tiempo de una ciudad determinada hoy. ","nombre":"itsvse-get_current_weather","estricto":falso,"parámetros":{"tipo":"objeto","requerido":["ubicación"],"propiedades":{"ubicación":{"descripción":"ciudad o condado, como Pekín, Shanghái, Ciudad de Hangzhou, distrito de Yuhang, etc. ","type":"string"}}}},"type":"function"},{"function":{"description":"Esto es muy útil cuando quieres consultar la información logística expresa especificada." ","name":"itsvse-get_current_test","strict":false,"parameters":{"type":"object","required":["no"],"properties":{"no":{"description":""numbers de seguimiento del mensajero, por ejemplo, SF, ZTO y postal de mensajería son aceptables." ","type":"string"}}},"type":"function"},{"function":{"description":"Muy útil cuando quieres abrir la calculadora." ,"name":"itsvse-open_calculator","strict":false,"parameters":{"type":"object","required":[],"properties":{}}},"type":"function"}],"messages":[{"role":"user","content" "Hola, por favor ayúdame a comprobar la hora actual y el tiempo de hoy en Shanghái." Luego, ayúdame con la calculadora de fichaje, quiero calcular los ingresos de hoy. "},{"rol":"asistente","contenido":"","tool_calls":[{"id":"call_6e6cade782f54c9ca87186","función":{"nombre":"itsvse-get_current_time","argumentos":"{}"},"tipo":"función" ","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":"Las condiciones meteorológicas en Shanghái son las siguientes: nublado con tormentas, temperaturas entre 10°C y 20°C"},{" rol":"herramienta","tool_call_id""call_6023df74d7bd48c789e876","contenido":"Calculadora abierta." }],"modelo":"qwen-max","tool_choice":"auto","parallel_tool_calls":true}
Response:
Código de estado: 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"}
=============================================================================
Asistente > es ahora a las 17:19:40, 26 de marzo de 2025.

Las condiciones meteorológicas en Shanghái hoy son las siguientes: nublado a tormentas, temperaturas entre 10°C y 20°C; por favor, recuerde llevar un paraguas.

He abierto la calculadora para ti y puedes empezar a calcular tus ganancias hoy.

Referencia:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.

Puntuación

Número de participantes1MB+1 Colapso razón
GoodTime + 1 Apoya al propietario para que publique una buena publicación, ¡y yo también publicaré una buena publicación!

Ver todas las valoraciones





Anterior:toPlainString, toEngineeringString, toString para BigDecimal en Java
Próximo:Los procesos padre-hijo .NET/C# se comunican mediante flujos estándar de entrada/salida
 Propietario| Publicado el 27-03-2025 08:59:23 |
Código de conversación multi-turno:


segundoLa información para la solicitud iniciada es la siguiente:



 Propietario| Publicado el 27-3-2025 08:58:04 |
Sobre la producción en streaming

En modo stream, también se aplica tool_calls, pero hay algunos puntos adicionales a tener en cuenta, como se enumera a continuación:

Durante la salida en streaming, dado que aparecerá finish_reason en el bloque final, se recomienda usar la presencia o ausencia del campo delta.tool_calls para determinar si la respuesta actual contiene una llamada a herramienta;
Durante la salida en streaming, delta.content se emitirá primero y luego el delta.tool_calls, así que debes esperar a que la salida delta.content se complete antes de poder juzgar e identificar tool_calls;
En el proceso de salida en streaming, especificaremos el tool_call.id y tool_call.function.name del tool_calls de llamada actual en el bloque de datos inicial, y solo se generarán argumentos tool_call.function.en el bloque de datos siguiente.
Durante el proceso de salida en streaming, si el modelo Kimi devuelve varios tool_calls a la vez, usaremos un campo adicional llamado índice para identificar el índice de tool_call actual, de modo que puedas unir correctamente el parámetro tool_call.function.arguments.

El inicio de sesión del hipervínculo es visible.

Un ejemplo de respuesta en streaming es el siguiente:

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]


 Propietario| Publicado el 2025-10-22 11:30:02 |
MCP (1) Tutorial introductorio al Protocolo de Contexto de Modelos
https://www.itsvse.com/thread-11104-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com