llm-functions:构建强大的LLM工具与Agent的框架
项目简介
llm-functions是一个旨在简化LLM工具和Agent构建的开源项目。它允许开发者使用熟悉的编程语言(如Bash, JavaScript, Python)快速创建自定义工具和Agent,并通过Model Context Protocol (MCP) 将这些功能以标准化的方式提供给LLM客户端。核心在于利用函数调用机制,让LLM能够直接与外部代码互动,极大地扩展了LLM的应用场景。
主要功能点
- 工具 (Tools) 扩展: 支持使用Bash, JavaScript, Python等多种语言编写自定义工具,轻松集成系统命令、API交互、数据处理等功能。
- Agent (Agent) 构建: 支持组合Prompt、工具和文档(RAG)来构建智能Agent,类似于OpenAI的GPTs,可定制Agent的行为和能力。
- MCP服务器: 内置MCP服务器实现,遵循Model Context Protocol标准,使得集成的工具和Agent能够通过统一的JSON-RPC接口被任何兼容MCP协议的LLM客户端调用。
- 自动声明: 通过解析代码注释自动生成工具和Agent的JSON声明,简化配置过程。
- 灵活部署: 支持通过Stdio进行通信,易于集成到各种LLM应用环境中。
安装步骤
-
克隆仓库
git clone https://github.com/sigoden/llm-functions cd llm-functions -
构建工具和Agent
a. 创建 'tools.txt' 文件: 在项目根目录下创建 'tools.txt' 文件,每行写入一个工具文件名(例如 'get_current_weather.sh')。 b. 创建 'agents.txt' 文件: 如果需要使用Agent,创建 'agents.txt' 文件,每行写入一个Agent名称(例如 'coder')。 c. 执行构建命令: 运行 'argc build' 命令,构建工具和Agent的二进制文件和声明文件 'functions.json'。 d. 环境检查: 运行 'argc check' 命令,确保环境配置正确。
-
启动 MCP 服务器
使用以下命令启动 MCP 服务器,将 '[llm-functions-dir]' 替换为 llm-functions 仓库的路径:
node mcp/server/index.js [llm-functions-dir]或者,如果需要指定 Agent,可以添加 Agent 名称作为第二个参数:
node mcp/server/index.js [llm-functions-dir] [agent-name]
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下信息以连接到 llm-functions MCP 服务器。以下是一个 JSON 格式的配置示例,您可以根据实际情况进行调整。
{ "serverName": "llm-functions-server", // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node.js "args": [ // 传递给启动命令的参数 "mcp/server/index.js", // MCP 服务器入口文件路径 "[llm-functions-dir]" // llm-functions 仓库的绝对路径,请替换为实际路径 // "[agent-name]" // (可选) Agent 名称,如果需要指定 Agent,请取消注释并替换为 Agent 名称 ] }
基本使用方法
llm-functions 主要通过 AIChat 命令行工具进行演示和使用。您可以参考仓库的 README 文档,了解如何将 llm-functions 集成到 AIChat 中,并使用命令行调用工具和Agent。
对于 MCP 客户端,一旦配置好上述服务器信息并成功连接,客户端即可发送 MCP 请求 (例如 'ListToolsRequest', 'CallToolRequest') 与 llm-functions MCP 服务器进行交互,从而发现可用的工具并调用执行。具体 MCP 客户端的使用方法请参考相应的客户端文档。
注意:'[llm-functions-dir]' 和 '[agent-name]' 需要替换为实际的路径和名称。
信息
分类
开发者工具