除了对所有模型的通用支持之外,它还支持8种以上模型的原生格式:
- Llama 3.x
- Functionary 3
- Hermes 2/3
- Qwen 2.5
- Mistral Nemo
- Firefunction 2
- DeepSeek R1(开发中)
可在任何地方本地运行(包括树莓派5),例如在Mac上:
brew install
llama.cpp llama - server --jinja -fa -hf bartowski/Qwen2.5 - 7B - Instruct - GGUF:Q4_K_M
仍然是新的/还有很多漏洞有待发现:欢迎反馈!
讨论总结
这个讨论围绕llama.cpp现在支持工具调用(与OpenAI兼容)展开。评论者从不同角度参与讨论,包括对技术成果的肯定、提出技术疑问、分享测试经验、表达对某些功能或模型支持的疑惑等,整体氛围积极向上,大家积极交流,推动对llama.cpp相关知识的深入探讨。
主要观点
- 👍 对llama.cpp的工作成果表示肯定
- 支持理由:许多评论者表达了赞赏,如toothpastespiders称看起来非常不错
- 反对声音:无
- 🔥 部分GGUF元数据已含Jinja模板无需额外文件
- 正方观点:Federal_Discipline_4解释有些GGUF元数据已内置正确的Jinja聊天模板,无需额外文件
- 反方观点:无
- 💡 从新手角度询问技术更新在实际中的意义
- 解释:新手提问技术更新在实际中的意义,其他评论者进行了解释说明
- 💡 对llama.cpp仅支持nemo模型表示疑惑并认为其他模型也应支持
- 解释:segmond疑惑为何只支持nemo模型,认为像smol等其他模型也应被支持并提出建议
- 💡 不理解llama.cpp支持相关功能的必要性
- 解释:Enough - Meringue4745认为仅用代码就能处理,不需要llama.cpp支持相关功能
金句与有趣评论
- “🤔 Awesome work. I was following it. I wonder if it would have been possible to extract the Jinja template from gguf metadata instead of creating separate template files in the repo.”
- 亮点:首先表达对工作的赞赏,然后提出一个关于Jinja模板提取的有深度的疑问
- “👍 Yes some GGUFs have the right jinja chat template baked in in the metadata and there’s no need for an extra file.”
- 亮点:直接解答了上一个疑问,提供了有用信息
- “👀 Yeah them avoiding Jinja templates made me stop contributing to their API side of the code.”
- 亮点:表明项目避开Jinja模板对个人贡献行为的影响
- “🤔 Wasn’t this possible on ollama for a while now? Or am I mistakened.”
- 亮点:对llama.cpp与ollama功能进行对比提问
- “💡 It says "Enable experimental Jinja templating engine (required for tool use)". "
- 亮点:明确回答了关于“–jinja”选项含义的疑问
情感分析
总体情感倾向为积极正面,大部分评论者对llama.cpp支持工具调用这一成果表示肯定、赞赏或对相关话题感兴趣。主要分歧点在于部分人不理解某些功能的必要性以及对模型支持情况的疑惑,可能的原因是不同的技术背景和使用需求导致大家对llama.cpp的期望和理解有所不同。
趋势与预测
- 新兴话题:不同模型与llama.cpp的兼容性以及更多模型支持的可能性可能会引发后续讨论。
- 潜在影响:如果llama.cpp在更多模型支持和功能优化上取得进展,可能会在相关技术领域提高效率,影响类似项目的发展方向。
详细内容:
标题:llama.cpp 现支持工具调用(与 OpenAI 兼容)
在 Reddit 上,一篇关于 llama.cpp 支持工具调用(与 OpenAI 兼容)的帖子引发了热烈讨论。该帖子获得了众多关注,包含了丰富的技术细节和用户的各种观点。
原帖主要介绍了 llama.cpp 对多种模型格式的支持,包括 Llama 3.x、Functionary 3 等,并提供了在不同设备上的运行示例。还提到了当前仍存在一些待发现的问题,欢迎大家反馈。此帖链接为:https://github.com/ggerganov/llama.cpp/pull/9639
讨论焦点主要集中在以下几个方面:
有人称赞了这项工作的出色,并对 Jinja 模板的提取方式提出了疑问。有人表示某些 GGUF 已经在元数据中包含了正确的 Jinja 聊天模板,无需额外文件。还有人认为即使没有模板覆盖,对于所有模型来说,通用的回退机制也应该能工作,但要使用模型的原生调用风格,需要确保获得正确的 GGUF 或提供正确的覆盖。有人指出解析可能存在问题,需要找到方法在模板已经添加时禁用前置的 bos 令牌。
有人介绍了工具调用的原理,即聊天机器人可以通过函数调用回答训练数据之外的问题,如天气、股票价格等。但目前公共权重模型在这方面表现不佳,存在调用错误或不恰当的情况。有人尝试了 Mistral Nemo 模型,虽然能输出有效的 JSON,但不能恰当使用。有人通过 Qwen 2.5 7B Instruct 让其编写 Python 程序,但效果不稳定。有人提出或许可以让 LLM 决定是否需要工具调用,并在对话开始时反馈。
有人对 –jinja 选项表示疑问,得到回复称其为启用实验性 Jinja 模板引擎(工具使用所需)。
有人惊讶为何只支持 Mistral Nemo 而未涵盖其他 Mistral 模型,认为应该支持更多。而有人表示由于个人笔记本电脑的限制,无法测试太多模型。
有人认为 llama-server 现在更像是 OpenAI 聊天完成 API 的替代品,甚至适用于代理代码。有人对 llama.cpp 支持工具调用表示赞赏,也有人表示不理解其必要性。
总的来说,这次关于 llama.cpp 支持工具调用的讨论,展示了用户对新技术的关注和思考,同时也反映了目前在实际应用中存在的一些问题和挑战。
感谢您的耐心阅读!来选个表情,或者留个评论吧!