llama.cpp server 现已内置原生工具(exec_shell、edit_file 等)

Reddit r/LocalLLaMA 工具

摘要

llama.cpp server 现通过实验性标志内置了原生工具,支持文件操作、shell 命令等功能,无需外部包装器。

https://preview.redd.it/24uvk7o4sy2h1.png?width=1440&format=png&auto=webp&s=542570e3057b6f44c1e7e8d92130f575fb69cfa2 https://preview.redd.it/l4bbm7o4sy2h1.png?width=1440&format=png&auto=webp&s=3dc0edd978da23fecf81e86a269a06de643247d1 我最近在捣鼓本地模型,翻阅 llama.cpp server 文档时,偶然发现了这个实验性标志:`--tools TOOL1,TOOL2,...`。它原生支持 `read_file`、`file_glob_search`、`grep_search`、`exec_shell_command`、`write_file`、`edit_file`、`apply_diff` 和 `get_datetime`。这一套工具基本上把 `llama-server` 变成了一个小型智能体框架。你只需要一个可靠的 `.gguf` 文件和 llama.cpp 二进制文件,就能为你的项目提供基本的 AI 协助。请注意,文件操作是相对于你启动服务器的文件夹而言的。目前还没有安全沙箱机制,比如允许命令的白名单或严格禁止对原始文件夹之外的文件进行操作。因此,请对暴露的内容格外谨慎!不过,我仍然非常惊讶 llama.cpp 能够原生获得这些能力。这完全消除了为获取当前日期/时间或读取文件内容而搭建 MCP 或复杂包装器的必要。
查看原文

相似文章

在脚本的 shebang 行中使用 LLM

Simon Willison's Blog

Simon Willison 演示了如何在脚本的 shebang 行中使用 llm CLI 工具,从而直接从可执行文件执行 LLM 提示词与工具调用。