使用说明
项目简介
'macop' 是一个开源的后端服务项目,旨在以标准化的方式管理和提供大型语言模型(LLM)所需的上下文、功能和模型资源。它受到MCP协议核心理念的启发,支持模型的打包、分发和加载,并允许通过灵活的提示词模板和参数配置来定制LLM的行为。
主要功能点
- 模型管理: 支持拉取(Pull)、推送(Push)和创建(Create)自定义模型配置。模型文件(blob)和配置信息(manifest)存储在本地缓存中。
- 模型加载与运行: 管理模型的生命周期,根据客户端请求加载和卸载模型二进制文件。
- 上下文与模板: 通过Prompt模板控制LLM的输入格式和交互模式,支持注入系统指令、用户消息、历史对话等,实现灵活的对话流程。
- 参数配置: 允许细粒度地调整模型的运行参数,如推理温度、Top-K、Top-P等。
- 工具定义 (潜在支持): 代码结构中包含对LLM可调用外部工具(Tool)的定义支持。
- 跨平台兼容: 支持根据不同的操作系统和架构(如Linux/AMD64, Darwin/ARM64等)打包和管理模型二进制文件。
安装步骤
- 确保你的系统已经安装了Go语言环境 (版本 1.21 或更高)。
- 从GitHub仓库克隆项目到本地:
git clone https://github.com/macophub/macop.git - 进入项目目录:
cd macop - 编译项目生成可执行文件:
这将在当前目录生成一个名为 'macop' (或 'macop.exe' on Windows) 的可执行文件。go build .
服务器配置
'macop' MCP服务器是为LLM客户端提供服务的后端。LLM客户端(或其他兼容的工具)需要知道服务器的地址和API端点才能进行交互。
一个典型的LLM客户端连接'macop' MCP服务器的配置信息大致如下所示(这是一个JSON格式的示例,具体的参数名称和结构取决于你的LLM客户端实现):
{ "server_name": "local_macop_instance", "description": "连接到本地macop服务器", "protocol": "http", // 服务器使用的协议,macop当前通过HTTP提供API "host": "127.0.0.1", // macop服务器监听的IP地址 "port": 21434, // macop服务器监听的端口,默认21434 "api_endpoints": { "pull": "/api/pull", // 拉取模型的API路径 "push": "/api/push", // 推送模型的API路径 "create": "/api/create" // 创建模型的API路径 // 注意:与模型的实际推理(如chat/generate)相关的API路径可能需要参考macop的完整实现或客户端约定 }, "authentication": { "required": false // 根据macop服务器配置,是否需要认证(如通过密钥对) // "public_key": "...", // 如果需要,这里可能需要配置用于认证的公钥信息 }, "supported_capabilities": ["model_management", "template_rendering", "parameter_tuning"] // 客户端可以根据这些信息了解服务器支持的功能 }
启动'macop'服务器时,你可以通过设置环境变量来配置其行为:
- 'MACOP_HOST': 设置服务器监听的地址和端口。例如:
- 'MACOP_HOST=127.0.0.1:21434' (默认配置,只监听本地连接)
- 'MACOP_HOST=0.0.0.0:8000' (监听所有网络接口,使用8000端口)
- 'MACOP_MCPS': 设置模型文件和配置的存储路径。例如:
- 'MACOP_MCPS=/path/to/your/model/storage' (默认路径为 '$HOME/.macop/mcp_servers')
- 'MACOP_DEBUG': 设置为'1'开启调试日志。
- 其他更多配置选项可以通过运行 './macop serve --help' 查看环境变最说明(对应OLLAMA_前缀的环境变量)。
基本使用方法
-
启动macop服务器: 打开终端,进入项目目录,运行:
./macop serve # 或者如果你没有编译,可以直接运行: # go run main.go serve服务器将开始监听配置的地址和端口。
-
与服务器交互: 使用兼容的LLM客户端或自定义脚本,通过HTTP协议向服务器的API端点发送请求。例如,可以使用'/api/create'上传模型二进制文件和配置来创建新的模型。
注意: 提供的代码片段侧重于模型的管理接口 ('/api/pull', '/api/push', '/api/create')。与实际LLM推理交互(如发送聊天消息或生成文本)相关的API端点和使用方法,需要参考macop的完整实现或其客户端库的文档。
信息
分类
AI与计算