通义千问3-14B部署教程:支持函数调用的Agent配置

通义千问3-14B部署教程:支持函数调用的Agent配置

1. 为什么选择 Qwen3-14B?

如果你正在找一个性能接近30B级别、但单卡就能跑动的大模型,那 Qwen3-14B 很可能是目前最理想的选择。它不是 MoE 稀疏架构,而是全参数激活的 Dense 模型,148亿参数在 fp16 下占 28GB 显存,FP8 量化后仅需 14GB —— 这意味着 RTX 4090(24GB)可以轻松全速运行。

更关键的是,它支持两种推理模式:

  • Thinking 模式:显式输出<think>推理过程,在数学、代码和逻辑任务中表现接近 QwQ-32B;
  • Non-thinking 模式:隐藏中间步骤,响应速度提升一倍,适合日常对话、写作、翻译等高频交互场景。

再加上原生支持128k 上下文(实测可达131k),能一次性处理近40万汉字的长文档,无论是分析财报、读论文还是做摘要都游刃有余。

而且它是Apache 2.0 协议开源,允许商用,社区生态也成熟,已集成 vLLM、Ollama、LMStudio 等主流框架,一条命令就能启动服务。


2. 部署方案设计:Ollama + Ollama WebUI 双重加持

虽然 Qwen3-14B 支持多种部署方式,但我们推荐使用Ollama + Ollama WebUI的组合方案。这套组合有三大优势:

  1. 极简安装:无需手动下载模型权重,Ollama 自动拉取并管理;
  2. 开箱即用的可视化界面:Ollama WebUI 提供类 ChatGPT 的交互体验;
  3. 无缝支持函数调用与 Agent 扩展:通过自定义 Modelfile 可开启 JSON 输出、工具调用等功能。

更重要的是,这个组合形成了“双重缓冲”机制 —— Ollama 负责底层推理加速,WebUI 提供前端交互与会话管理,两者解耦清晰,稳定性高,适合本地开发测试或轻量级生产环境。


3. 环境准备与基础部署

3.1 系统要求

组件推荐配置
GPUNVIDIA RTX 3090 / 4090 或更高(≥24GB 显存)
显存FP16 模式需 28GB,建议使用 FP8 量化版(14GB)
内存≥32GB
存储≥50GB 可用空间(含缓存)
操作系统Ubuntu 20.04+ / macOS / Windows(WSL2)

提示:消费级显卡如 4090 在 FP8 模式下可实现约 80 token/s 的生成速度,完全满足实时对话需求。

3.2 安装 Ollama

打开终端,执行以下命令安装 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

安装完成后,启动服务:

ollama serve

保持该进程运行,另开一个终端进行后续操作。

3.3 拉取 Qwen3-14B 模型

Ollama 已官方支持qwen:14b模型,直接拉取即可:

ollama pull qwen:14b

如果你想使用 FP8 量化版本以节省显存,可以用:

ollama pull qwen:14b-fp8

拉取完成后,你可以先试运行一下:

ollama run qwen:14b

输入一段测试文本,比如:“请用中文写一首关于春天的五言绝句”,看看是否能正常响应。


4. 启用函数调用能力:构建你的第一个 Agent

Qwen3-14B 原生支持函数调用(Function Calling),这是实现 Agent 能力的核心功能。我们可以通过编写Modelfile来启用这一特性。

4.1 创建自定义 Modelfile

新建一个文件Modelfile.agent,内容如下:

FROM qwen:14b-fp8 # 启用工具调用和 JSON 输出 TEMPLATE """{{ if .Messages }} {{ range .Messages }}{{ if eq .Role "user" }} <|im_start|>user {{ .Content }}<|im_end|> {{ else }} <|im_start|>assistant {{ .Content }}<|im_end|> {{ end }}{{ end }} {{ else }} <|im_start|>user {{ .Prompt }}<|im_end|> {{ end }} <|im_start|>assistant """ # 设置停止词 STOP <|im_end|> STOP <|im_start|> # 允许 JSON 格式输出 PARAMETER num_ctx 131072 # 支持 128k 上下文 PARAMETER repeat_penalty 1.1 PARAMETER temperature 0.6

注意:目前 Ollama 尚未完全开放结构化输出控制,但 Qwen 官方模型内部已内置对<tool_call>和 JSON 的识别能力。

4.2 构建支持 Agent 的模型镜像

执行构建命令:

ollama create qwen-agent -f Modelfile.agent

构建成功后,你就可以用这个名字来运行具备 Agent 能力的模型:

ollama run qwen-agent

5. 实现函数调用:让模型“调用工具”

下面我们演示如何让 Qwen3-14B 调用外部工具,比如获取天气、查询时间、执行计算等。

5.1 定义可用工具(Tools)

假设我们要提供两个工具:

  1. get_weather(location: str):根据城市名获取天气;
  2. get_current_time():返回当前时间。

我们将这些工具信息以 JSON Schema 形式传递给模型。

[ { "name": "get_weather", "description": "获取指定城市的天气情况", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "城市名称,例如北京、上海" } }, "required": ["location"] } }, { "name": "get_current_time", "description": "获取当前北京时间", "parameters": { "type": "object", "properties": {} } } ]

5.2 发送带工具定义的请求

使用 Ollama API 发起请求(需提前启动ollama serve):

import requests import json tools = [ { "name": "get_weather", "description": "获取指定城市的天气情况", "parameters": { "type": "object", "properties": { "location": {"type": "string", "description": "城市名称"} }, "required": ["location"] } }, { "name": "get_current_time", "description": "获取当前北京时间", "parameters": {"type": "object", "properties": {}} } ] data = { "model": "qwen-agent", "messages": [ {"role": "user", "content": "今天北京天气怎么样?现在几点了?"} ], "tools": tools, "format": "json" # 强制返回 JSON 结构 } response = requests.post('http://localhost:11434/api/chat', json=data, stream=False) result = response.json() print(json.dumps(result, indent=2, ensure_ascii=False))

5.3 解析模型输出并执行工具调用

模型可能会返回类似这样的响应:

{ "message": { "role": "assistant", "content": "", "tool_calls": [ { "function": { "name": "get_weather", "arguments": {"location": "北京"} } }, { "function": { "name": "get_current_time", "arguments": {} } } ] } }

此时你需要在代码中解析tool_calls,依次调用对应函数,并将结果回传给模型完成最终回复。

5.4 完整 Agent 流程示例

def get_weather(location): return f"{location}今天晴天,气温20℃" def get_current_time(): from datetime import datetime return datetime.now().strftime("北京时间 %Y-%m-%d %H:%M:%S") # 第一步:发送用户问题 + 工具列表 # (上面已完成) # 第二步:收到 tool_calls 后执行 tool_results = [] for call in result['message']['tool_calls']: name = call['function']['name'] args = call['function']['arguments'] if name == 'get_weather': res = get_weather(**args) elif name == 'get_current_time': res = get_current_time() tool_results.append({ "tool_call_id": call['id'], "role": "tool", "name": name, "content": res }) # 第三步:将工具结果追加到对话历史,再次请求模型生成最终回答 final_messages = data['messages'] + [result['message']] + tool_results final_response = requests.post( 'http://localhost:11434/api/generate', json={ "model": "qwen-agent", "prompt": final_messages[-1]['content'] } ).json() print("最终回答:", final_response.get('response'))

这样就完成了一个完整的Agent 工作流:理解意图 → 规划动作 → 调用工具 → 汇总输出。


6. 部署 Ollama WebUI:打造图形化交互界面

为了让非技术人员也能方便使用,我们可以部署Ollama WebUI,提供美观的聊天界面。

6.1 使用 Docker 快速部署

确保已安装 Docker 和 Docker Compose。

创建docker-compose.yml文件:

version: '3.8' services: ollama: image: ollama/ollama ports: - "11434:11434" volumes: - ollama:/root/.ollama webui: image: ghcr.io/open-webui/open-webui:main ports: - "3000:8080" environment: - OLLAMA_BASE_URL=http://ollama:11434 depends_on: - ollama volumes: - webui_data:/app/backend/data volumes: ollama: webui_data:

启动服务:

docker compose up -d

访问http://localhost:3000,注册账号后即可进入 WebUI 界面。

6.2 在 WebUI 中使用 qwen-agent

  1. 进入设置 → Model Management;
  2. 添加模型,输入qwen-agent
  3. 选择该模型作为默认对话模型;
  4. 开始聊天,输入:“帮我查一下上海的天气和现在的时间。”

你会发现模型自动触发工具调用逻辑(需配合后端拦截和扩展),你可以进一步集成自定义插件系统。


7. 性能优化与常见问题

7.1 如何切换 Thinking / Non-thinking 模式?

在调用时通过 prompt 控制:

  • 开启思考模式:在问题前加上[THINK]或引导语:“请一步步推理”;
  • 关闭思考模式:直接提问,或加[FAST]标识。

也可以通过 Modelfile 设置默认行为:

PARAMETER temperature 0.7 SYSTEM "你是一个高效助手,默认不展示推理过程。当用户要求‘详细解释’或包含‘[THINK]’时,才输出 <think>...</think> 推理链。"

7.2 显存不足怎么办?

  • 使用qwen:14b-fp8版本(14GB);
  • 启用num_gpu参数限制 GPU 数量;
  • 在 vLLM 中使用 PagedAttention 进一步降低显存占用。

7.3 函数调用不稳定?

  • 确保 prompt 中明确说明可用工具;
  • 使用format: json强制结构化输出;
  • 对低置信度的 tool_call 做二次校验。

8. 总结

Qwen3-14B 是当前开源社区中极具性价比的一款大模型。它凭借148亿全参数、双推理模式、128k上下文、多语言互译和原生函数调用能力,成为“单卡守门员”级别的存在。

通过Ollama + Ollama WebUI的组合部署方案,我们不仅实现了快速本地化运行,还构建了支持 Agent 功能的完整工作流。无论是用于个人知识库问答、自动化脚本调度,还是企业级轻量 AI 助手,这套方案都能快速落地。

更重要的是,它采用Apache 2.0 商用许可,没有法律风险,非常适合初创团队、独立开发者和教育项目使用。

下一步,你可以尝试:

  • 集成 RAG 实现文档智能问答;
  • 搭配 LangChain 或 LlamaIndex 构建复杂 Agent;
  • 将 WebUI 嵌入企业内部系统,打造专属 AI 助手。

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1203561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPEN CUDA不可用状态排查:驱动与环境检测六步法

GPEN CUDA不可用状态排查&#xff1a;驱动与环境检测六步法 1. 问题背景与现象描述 GPEN 图像肖像增强工具在处理人像修复和画质提升方面表现出色&#xff0c;尤其在启用 GPU 加速后&#xff0c;处理速度显著优于纯 CPU 模式。然而&#xff0c;在实际部署过程中&#xff0c;不…

MinerU输出路径怎么设?相对路径与结果查看步骤详解

MinerU输出路径怎么设&#xff1f;相对路径与结果查看步骤详解 1. 理解MinerU的输出机制&#xff1a;从命令行到文件落地 当你在使用MinerU进行PDF内容提取时&#xff0c;最关心的问题之一就是&#xff1a;“我运行完命令后&#xff0c;结果到底去了哪儿&#xff1f;”这个问…

Qwen镜像免配置部署教程:快速上手儿童向动物图片生成

Qwen镜像免配置部署教程&#xff1a;快速上手儿童向动物图片生成 你是不是也遇到过这样的情况&#xff1a;想给孩子准备一张可爱的动物插画&#xff0c;但不会画画、找不到合适版权图、用普通AI工具又容易生成过于写实甚至略带惊悚感的动物形象&#xff1f;别急——今天这篇教…

手把手教你运行Qwen3-Embedding-0.6B,无需GPU

手把手教你运行Qwen3-Embedding-0.6B&#xff0c;无需GPU 你是否也遇到过这样的困扰&#xff1a;想用最新的嵌入模型做文本检索、语义搜索或聚类分析&#xff0c;但手头只有一台普通笔记本——没有显卡&#xff0c;内存有限&#xff0c;连CUDA驱动都装不上&#xff1f;别急&am…

DevilutionX:经典游戏现代化移植与多平台适配指南

DevilutionX&#xff1a;经典游戏现代化移植与多平台适配指南 【免费下载链接】devilutionX Diablo build for modern operating systems 项目地址: https://gitcode.com/gh_mirrors/de/devilutionX DevilutionX是一个致力于将经典游戏在现代操作系统上重新焕发生机的开…

Qwen3-4B-Instruct低成本上线:中小企业快速部署实战

Qwen3-4B-Instruct低成本上线&#xff1a;中小企业快速部署实战 1. 为什么中小企业该关注Qwen3-4B-Instruct&#xff1f; 你是不是也遇到过这些情况&#xff1a; 客服团队每天重复回答几十条相似问题&#xff0c;人力成本高、响应慢&#xff1b;市场部要赶在活动前批量生成商…

Qwen1.5-0.5B微调潜力:后续定制化方向探讨

Qwen1.5-0.5B微调潜力&#xff1a;后续定制化方向探讨 1. 轻量级模型的多任务实践价值 你有没有遇到过这种情况&#xff1a;想在一台低配服务器甚至本地笔记本上跑个AI应用&#xff0c;结果光是下载模型就卡住了&#xff1f;或者部署了几个功能模块后&#xff0c;内存直接爆掉…

深度相机标定从入门到精通:专业工程师的实践指南

深度相机标定从入门到精通&#xff1a;专业工程师的实践指南 【免费下载链接】librealsense Intel RealSense™ SDK 项目地址: https://gitcode.com/GitHub_Trending/li/librealsense 深度相机标定是三维视觉精度优化的核心环节&#xff0c;直接影响三维重建、SLAM和机器…

如何用本地AI浏览器扩展重塑您的网页浏览体验?解锁隐私保护与高效智能的完美结合

如何用本地AI浏览器扩展重塑您的网页浏览体验&#xff1f;解锁隐私保护与高效智能的完美结合 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 在当…

5个核心优势让BabelDOC成为学术文档翻译的首选工具

5个核心优势让BabelDOC成为学术文档翻译的首选工具 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 当你需要将英文研究论文翻译成中文时&#xff0c;是否曾遇到公式排版错乱、表格结构变形、专…

NCM转换与音乐解密实用指南:告别加密音乐束缚全攻略

NCM转换与音乐解密实用指南&#xff1a;告别加密音乐束缚全攻略 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾遇到下载的音乐文件无法在普通播放器中打开&#xff1f;…

Qwen2.5-0.5B推理性能分析:CPU环境下吞吐量实测

Qwen2.5-0.5B推理性能分析&#xff1a;CPU环境下吞吐量实测 1. 为什么0.5B模型值得认真对待 很多人看到“0.5B”这个参数量&#xff0c;第一反应是&#xff1a;这能干啥&#xff1f;不就是个玩具模型吗&#xff1f; 但实际用过Qwen2.5-0.5B-Instruct的人很快会发现——它不是…

IQuest-Coder-V1部署加速:FlashAttention-2集成实操教程

IQuest-Coder-V1部署加速&#xff1a;FlashAttention-2集成实操教程 IQuest-Coder-V1-40B-Instruct 是一款面向软件工程和竞技编程的新一代代码大语言模型。该模型不仅在多个权威编码基准测试中表现卓越&#xff0c;还通过创新的训练范式和架构设计&#xff0c;显著提升了实际…

零代码掌握AI智能抠图:效率提升指南

零代码掌握AI智能抠图&#xff1a;效率提升指南 【免费下载链接】rembg Rembg is a tool to remove images background 项目地址: https://gitcode.com/GitHub_Trending/re/rembg 图像背景移除是现代内容创作与商业运营中的关键环节&#xff0c;而AI抠图工具正以前所未有…

cv_unet_image-matting如何粘贴剪贴板图片?快捷操作实战教学

cv_unet_image-matting如何粘贴剪贴板图片&#xff1f;快捷操作实战教学 1. 快速上手&#xff1a;为什么剪贴板粘贴这么重要&#xff1f; 你是不是也遇到过这些场景&#xff1a; 刚截图完一张产品图&#xff0c;想立刻抠图&#xff0c;却要先保存到桌面再点上传&#xff1f;…

解锁本地AI的隐私安全:从部署到应用的完整探索指南

解锁本地AI的隐私安全&#xff1a;从部署到应用的完整探索指南 【免费下载链接】ollama Get up and running with Llama 2 and other large language models locally 项目地址: https://gitcode.com/gh_mirrors/ol/ollama 在数据隐私日益受到重视的今天&#xff0c;如何…

三步构建个人流媒体备份系统:N_m3u8DL-RE全场景应用指南

三步构建个人流媒体备份系统&#xff1a;N_m3u8DL-RE全场景应用指南 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器&#xff0c;支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE…

NVIDIA Isaac Sim:从零搭建AI机器人仿真开发环境完整指南

NVIDIA Isaac Sim&#xff1a;从零搭建AI机器人仿真开发环境完整指南 【免费下载链接】IsaacSim NVIDIA Isaac Sim™ is an open-source application on NVIDIA Omniverse for developing, simulating, and testing AI-driven robots in realistic virtual environments. 项目…

小白也能懂:Fun-ASR语音识别快速入门指南

小白也能懂&#xff1a;Fun-ASR语音识别快速入门指南 你是不是也遇到过这样的问题&#xff1a;手头有一堆录音&#xff0c;想转成文字却不知道从哪下手&#xff1f;找人听写太贵&#xff0c;用软件又怕不准&#xff0c;尤其是方言、歌词或者背景嘈杂的录音&#xff0c;更是难上…

本地AI与云端模型的混合部署方案 | 3个维度破解企业AI成本困境

本地AI与云端模型的混合部署方案 | 3个维度破解企业AI成本困境 【免费下载链接】claude-code-router Use Claude Code without an Anthropics account and route it to another LLM provider 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router 当你…