原贴链接

此为https://node-llama - cpp.withcat.ai/blog/v3.6 - deepseek - r1的相关内容(未明确具体内容)

讨论总结

该讨论主要聚焦于DeepSeek R1的函数调用功能。从函数调用的基础概念,如它是生成可被解析以调用函数的结构化输出,到其在不同模型中的实现方式,如很多模型无需针对函数调用训练就可实现、API中的函数调用会应用语法确保输出结构等。还探讨了在实际应用中的情况,像在代理系统中使用推理模型存在延迟问题,以及在云服务中寻找支持函数调用功能的情况。同时也有对函数调用相关概念的质疑和技术分享等内容,整体氛围偏向于技术交流探讨。

主要观点

  1. 👍 函数调用从一开始就能在DeepSeek R1上实现,很多模型都可做到
    • 支持理由:多位评论者提到多种模型存在函数调用功能
    • 反对声音:无
  2. 🔥 函数调用是生成可被解析以调用函数的结构化输出
    • 正方观点:这是一种基本的对函数调用功能的理解
    • 反方观点:无
  3. 💡 API中的函数调用会对预测过程应用语法确保输出结构
    • 解释:MikeFromTheVineyard提到此点,是函数调用在API中的实现方式相关内容
  4. 💡 对“函数调用”这个名称的合理性存疑
    • 解释:nrkishere提出名称应叫“函数调度”等不同观点
  5. 💡 在代理系统中使用推理模型存在延迟问题
    • 解释:评论者指出每次调用进行多次大型语言模型(LLM)调用会带来显著的延迟

金句与有趣评论

  1. “😂 function calling is not this magical thing, it’s just asking a model to generate a structured output you can parse reliable to call a function.”
    • 亮点:以简洁的语言解释函数调用并非神秘之事
  2. “🤔 While this is true, a lot of actual “function calling” built into APIs apply a specific grammar to the token prediction process to force predictions to conform to valid structures for the output.”
    • 亮点:阐述API中函数调用确保输出结构的方式
  3. “👀 I still can’t digest why it is called function “calling”. It should be called function “scheduling”, because the calling/invocation part is always done by a external system”
    • 亮点:对函数调用名称提出新颖质疑
  4. “🤔 Now it is easy to do it.”
    • 亮点:表明现在进行函数调用变得容易的观点
  5. “👀 You wouldn’t use a reasoning model in an agentic system (where function calling and structured outputs are required) due to the significant latency you’re introducing over multiple LLM calls per invocation…unless you can do inference significantly faster.”
    • 亮点:阐述代理系统中使用推理模型存在的延迟问题

情感分析

总体情感倾向为中性积极,大家主要在积极探讨技术相关的内容。主要分歧点在于对“函数调用”名称的看法以及在代理系统中使用推理模型是否可行等方面。可能的原因是大家从不同的技术理解角度出发,并且对于新技术概念的定义和应用场景有着不同的预期。

趋势与预测

  • 新兴话题:带有推理模型的代理模式系统可能是新的SOTA解决方案,这可能会引发后续关于这种解决方案的更多探讨。
  • 潜在影响:对人工智能领域中模型开发、应用场景的选择和优化可能产生影响,比如在代理系统构建时会更多考虑推理模型的使用和函数调用的实现方式。

详细内容:

标题:关于 DeepSeek R1 函数调用的热门讨论

在 Reddit 上,一则关于“现在可以使用 DeepSeek R1 进行函数调用”的帖子引起了广泛关注。该帖子提供了相关链接 https://node-llama-cpp.withcat.ai/blog/v3.6-deepseek-r1 ,收获了众多的点赞和大量的评论。

帖子引发的主要讨论方向包括对函数调用概念的理解、其在不同模型中的应用、相关的个人经历以及不同模型实现函数调用的方式等。

讨论的焦点观点多样。有人认为从一开始就能用 DeepSeek R1 进行函数调用,且很多模型即便未针对函数调用训练也能做到,函数调用并非神奇之事,只是让模型生成可解析的结构化输出以调用函数,但自己不会在推理模型中进行函数调用。也有人指出,许多内置到 API 中的实际“函数调用”会对令牌预测过程应用特定语法,以强制预测符合有效输出结构,否则存在解析错误风险,这最好在 API 层下应用。还有人觉得“函数调用”这个称呼不准确,应叫“函数调度”。

有用户分享了个人经历,称 Windsurf 早就允许 DeepSeek R1 模型的函数调用,但在该 IDE 中编码体验不佳,期望此次改变能有所改善。

有趣的观点也不少,有人认为函数调用就像是 AI 调用系统的函数,系统给出答案;有人觉得这个名称糟糕,系统臃肿。

对于如何实现函数调用,有人通过在提示中要求模型按照模式生成输出来实现,认为 API 只是一种更好的处理方式,背后原理并不神奇;也有人认为存在一定的特殊性,比如工具调用模型经过微调以提高调用工具的技能,提示格式在微调期间就已使用,使得提示更有效。还有人提到可以使用 Toolio 来实现,也有人指出不同的提供方实现函数调用的方式未明确。

讨论中的共识在于都认可函数调用在模型中的重要性和复杂性,但对于如何更好地实现和应用存在不同看法。

特别有见地的观点如,有人认为在代理系统与推理模型之间存在新的问题,推理模型在代理系统中的应用因显著的延迟而受限,除非能大幅提高推理速度。也有人认为在适当间隔时,推理模型应验证进展并审查计划。

总之,关于 DeepSeek R1 的函数调用讨论丰富多样,反映了人们对这一技术的深入思考和探索。