使用说明
带有本地大型语言模型的MCP(或:集成本地大型语言模型的MCP)
此项目展示了如何在搭载了增强型模型上下文协议(MCP)功能的骁龙Elite X NPU上本地运行Phi-3.5-mini-instruct大型语言模型(LLM)。
概述
MCP的实现展示了三种关键的交互模式:
- 工具执行MCP客户端从MCP服务器调用工具
- 基于人工智能的工具选择MCP客户端使用本地大型语言模型(LLM)来智能选择要调用的MCP服务器工具
- 抽样MCP服务器请求MCP客户端执行提示
先决条件
-
安装 Python 3.10
-
下载并安装QNN SDK
可在……获取 高通软件中心 -
下载Phi-3.5-Mini-Instruct上下文二进制文件
获取.bin来自(某处的)文件 高通AI中心 并将它们提取到您希望的文件夹中(例如。,C:\LLM\phi_3_5_mini_instruct)
设置
-
创建一个Python虚拟环境
-
验证 genie_bundle 文件
确保genie_config.json,htp_backend_ext_config.json,以及tokenizer.json处于/在……之中genie_bundle文件夹 -
配置模型路径
开放genie_config.json并修改ctx-bins(第50行)如有必要,需包含前提条件中下载的Phi-3模型二进制文件 -
复制QNN SDK文件
找到您的QNN SDK安装文件夹,并从以下目录中复制文件(SDK版本可能有所不同):<QNN-SDK ROOT>/qairt/2.34.0.250424/lib/hexagon-v73/unsigned <QNN-SDK ROOT>/qairt/2.34.0.250424/lib/aarch64-windows-msvc <QNN-SDK ROOT>/qairt/2.34.0.250424/bin/aarch64-windows-msvc将所有复制的文件粘贴到你的
genie_bundle文件夹 -
测试设置 从项目根目录执行:
./genie_bundle/genie-t2t-run.exe -c genie_bundle/genie_config.json -p "<|system|>\nYou are an assistant. Provide helpful and brief responses.\n<|user|>What is an NPU? \n<|end|>\n<|assistant|>\n"备选方案;替代品运行调用(某功能/某脚本)的Python脚本
genie-t2t-run.exe内部地:python call_llm.py -
验证NPU使用情况
大型语言模型(LLM)应作出响应,且神经处理单元(NPU)应显示计算活动
计算器示例
概述
这个计算器示例展示了模型上下文协议(MCP)的实际应用。计算器客户端连接到计算器服务器,并执行四种基本算术运算:
- 加法加两个数
- 减法两个数相减
- 乘法两个数相乘
- **除法(或“除”)**将两个数相除
该示例展示了两种工具调用模式:
- 直接工具调用客户端直接调用带有预定义参数的特定计算器工具
- 基于大型语言模型(LLM)的工具选择客户端利用本地大型语言模型(LLM)智能解析自然语言提示,并自动选择使用哪种计算器工具
运行计算器示例
步骤1:启动计算器服务器
打开终端并从项目根目录运行服务器脚本:
python server/calc_server.py
服务器将进行初始化并等待客户端连接。
步骤2:启动计算器客户端
打开一个新的终端,并从项目根目录运行客户端脚本:
python client/calc_client.py
客户将:
- 连接到正在运行的服务器
- 检索并显示可用资源、工具和资源模板
- 从服务器读取问候资源
- 执行直接算术运算
- 使用大型语言模型(LLM)解析自然语言提示,并自动执行相应的计算器工具
你应该能看到输出,显示所有操作及其结果。