ai-agent-book 如何用 Ollama 或 vLLM 部署本地 LLM 服务并完成工具调用

ai-agent-book 如何用 Ollama 或 vLLM 部署本地 LLM 服务并完成工具调用 ai-agent-book 如何用 Ollama 或 vLLM 部署本地 LLM 服务并完成工具调用【免费下载链接】ai-agent-book《深入理解 AI Agent设计原理与工程实践》李博杰 著开源主仓库全书正文、编译版 PDF 与按章配套代码项目地址: https://gitcode.com/GitHub_Trending/ai/ai-agent-book在 ai-agent-book 仓库的第 2 章配套项目chapter2/local_llm_serving中目标是把一个小模型跑在本地并通过 OpenAI 兼容的工具调用格式让它调用天气、时间、汇率、PDF 解析、代码解释器等内置工具。两条部署路径Linux/WSL2 NVIDIA GPU 走 vLLMmacOS、原生 Windows 和无 GPU 的 Linux 走 Ollama。无论哪条路径统一入口都是main.py需要显式传入--backend参数避免程序仅因检测到 CUDA 就选择你没有安装的后端。选择后端先看你的平台两条路径的适用条件在 README 中是明确的平台后端前提Linux/WSL2 NVIDIA GPUvLLM额外安装vllmextramacOSOllama安装 Ollama 服务原生 Windows即使装有 NVIDIA GPUOllama从 Ollama 官网安装无 GPU 的 LinuxOllama安装 Ollama 服务vLLM 官方 GPU 执行环境要求 Linux。想在 Windows 机器上使用 vLLM需要在支持 CUDA 的 WSL2 或 Linux 容器中运行本项目社区维护的原生 Windows 移植版不在项目支持的配置之内。准备 Python 环境全平台统一要求 Python 3.12并在仓库根目录安装第 2 章环境ch2extra# 仓库根目录安装共享的第 2 章环境 uv sync --locked --python 3.12 --extra ch2 # 仅 Linux/WSL 走 vLLM 路径时才加 --extra vllm会拉取 Linux/GPU vLLM 栈 # uv sync --locked --python 3.12 --extra ch2 --extra vllm # 未安装 uv 时的 pip 兜底 # python -m pip install -e .[ch2] # vLLM 路径的 pip 兜底python -m pip install -e .[ch2,vllm]默认ch2安装不含 vLLM 依赖保留 Ollama 路径可用。切换目录前先激活环境# macOS/Linux source .venv/bin/activate # Windows PowerShell.venv\Scripts\Activate.ps1 # Windows cmd.venv\Scripts\activate.bat # 进入项目目录 cd chapter2/local_llm_serving迁移期间仍支持单项目兼容路径python -m pip install -r requirements.txt。Ollama 路径安装、拉取模型并启动按平台安装 Ollama 服务并拉取默认模型# macOS brew install ollama ollama serve # 在另一个终端运行 ollama pull qwen3:0.6b# 无 GPU 的 Linux安装脚本会写入系统需要 sh 执行权限 curl -fsSL https://ollama.com/install.sh | sh systemctl start ollama ollama pull qwen3:0.6b原生 Windows 从 Ollama 官网下载安装包安装后同样执行ollama pull qwen3:0.6b。vLLM 路径兼容性检查与服务启动先安装带vllmextra 的环境上一步已给出命令然后运行兼容性检查它会报告 OS、架构、nvidia-smi查询到的 GPU、PyTorch CUDA 可用性并根据结果给出该走 vLLM 还是 Ollama 的建议python check_compatibility.py注意check_compatibility.py仅用于 Linux/WSL2 vLLM 路径原生 Windows 应直接使用 Ollama 后端。vLLM 服务的启动有两种方式由main.py自动拉起运行时先探测http://localhost:8000/health不可达则自动启动 server.py 中的VLLMServer轮询/health直到返回 200再请求/v1/models确认模型可用超时上限 120 秒日志写入logs/vllm_server.log。手动启动python server.py直接启动 vLLM 服务进程可选参数--download先从 ModelScope 下载模型、--model、--port、--host覆盖 config.py 中的配置。实际拼出的 vLLM 启动命令形如python -m vllm.entrypoints.openai.api_server \ --model Qwen/Qwen3-0.6B --port 8000 --host localhost \ --enable-auto-tool-choice --tool-call-parser hermes \ --max-model-len 8192 --gpu-memory-utilization 0.9 --dtype auto如需自定义连接参数把env.example复制为.envMODEL_NAMEQwen/Qwen3-0.6B VLLM_HOSTlocalhost VLLM_PORT8000 LOG_LEVELINFO运行工具调用任务并验证结果在chapter2/local_llm_serving目录下执行。单任务模式是最短验证路径——以--backend ollama为例vLLM 路径只需把参数换成--backend vllm# 单任务模式验证模型是否真的调用了工具 python main.py --backend ollama --mode single --task Whats the weather in Tokyo? # 交互模式 python main.py --backend ollama --mode interactive # 查看系统信息平台、Python、CUDA、ollama 包是否安装 python main.py --backend ollama --info判断部署成功的依据来自输出本身启动日志先出现✅ Agent ready! Using ollama backend或vllm。Ollama 路径会检查已安装模型列表如果qwen3:0.6b不在其中程序会提示ollama pull qwen3:0.6b并回退到第一个可用模型。单任务模式默认流式输出依次出现思考内容thinking、工具调用tool_call含工具名与参数、工具结果tool_result、最终回复content。看到工具名与参数被实际执行再得到整合了工具结果的最终答案即说明工具调用链路打通。交互模式启动时会列出可用工具清单支持/tools查看工具、/sample n运行内置示例任务如多城市天气对比、复利计算、/reset重置会话、/stream切换流式。内置工具及其数据源get_current_temperatureOpen-Meteo无需 API Key、get_current_time多时区、convert_currency模拟汇率、parse_pdfURL 或本地文件、code_interpreter执行 Python。模型输出的工具调用为标准 OpenAI 兼容格式工具结果回灌给模型后生成最终回复同一轮多个工具调用会并行执行。vLLM 侧的连通性也可独立核对服务就绪后/health返回 200/v1/models列出Qwen/Qwen3-0.6B。服务默认地址与模型名对应关系为vLLMQwen3-0.6B:8000/v1Ollamaqwen3:0.6b:11434/v1。模型选择与常见问题默认模型为 Qwen3 0.6B小、工具调用表现尚可。文档中列出工具调用表现较好的还有 Qwen3 8B、Llama 3.1/3.2 8B、Mistral NemovLLM 默认Qwen/Qwen3-0.6B可配置任意 vLLM 支持的模型。故障排除按 README 的条目处理找不到 Ollama按上文平台对应的安装方式装好并启动服务macOS 可brew services start ollama或ollama serveLinux 用systemctl start ollamaWindows 从系统托盘启动。没有模型ollama pull qwen3:0.6b。CUDA 不可用走 vLLM 路径需为 vLLM 安装驱动/CUDA不想处理就改用python main.py --backend ollama。原生 Windows 检测到 CUDA原生 Windows 固定使用 OllamavLLM 请用 WSL2 或 Linux 容器。流式输出可通过--no-stream关闭交互会话中用/stream切换。项目结构见 README 项目结构一节核心文件为 main.py统一入口、agent.pyvLLM 端 ReAct 循环、ollama_native.pyOllama 原生工具调用、tools.py工具实现。【免费下载链接】ai-agent-book《深入理解 AI Agent设计原理与工程实践》李博杰 著开源主仓库全书正文、编译版 PDF 与按章配套代码项目地址: https://gitcode.com/GitHub_Trending/ai/ai-agent-book创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考