首页 > 教程攻略 > ai资讯 >基于 Qwen-Agent 与 OpenVINO™ 构建本地 AI 智能体

基于 Qwen-Agent 与 OpenVINO™ 构建本地 AI 智能体

来源:互联网 时间:2026-08-18 14:31:08

Qwen2 是阿里 Qwen 团队打造的大语言模型和大型多模态模型系列。说实话,这不仅仅是一个普通的文本模型——它具备了自然语言理解、文本生成、视觉理解、音频理解、工具使用、角色扮演,甚至能作为 AI Agent 进行互动。能力覆盖面相当广。

图:智能体中工具使用执行逻辑

这时候,Qwen-Agent 就登场了。它是一个专门用来构建 AI 智能体的开发框架。你可以基于它来开发 Agent 应用,充分利用通义千问(Qwen)在指令遵循、工具使用、规划、记忆这些方面的能力。而且,框架里已经内置了浏览器助手、代码解释器、自定义助手这些现成的示例应用。值得一提的是,OpenVINO™ 工具套件最近也作为 Qwen-Agent 的 LLM 推理后端,被集成到了 llm 组件中。那么,问题来了:既然 OpenVINO™ 已经入了局,在 Intel 硬件平台上,怎么用 OpenVINO™ 和 Qwen2 搭一个纯本地运行的 AI 智能体?下面就来拆解整个过程。


转化压缩 Qwen2 模型

模型转化是第一步。怎么操作?你需要先安装 Optimum-intel 组件,然后用它来导出并量化原始的 Qwen2 模型。具体的命令参考下面这个示例:

pip install optimum[openvino]optimum-cli export openvino --model Qwen/Qwen2-7B-Instruct--task text-generation-with-past --trust-remote-code --weight-format int4 {model_path}

这步做完,模型就被压缩成了适合本地部署的格式,接下来的工作才有基础。


构建工具

Qwen-Agent 提供了一个很方便的注册工具机制。打个比方,如果你想自己加一个图片生成工具,可以按下面这个路子来:

  • 先指定工具的 namedescriptionparameters。这里有个小细节需要注意:@register_tool('my_image_gen') 中的 'my_image_gen' 会自动被添加为这个类的 .name 属性,成为工具的唯一标识。
  • 然后实现 call(...) 函数就行。

举个例子,下面这段代码定义了一个调用云端 API 的工具,用来根据输入请求生成图片:

@register_tool("image_generation")class ImageGeneration(BaseTool):    description = "AI painting (image generation) service, input text description, and return the image URL drawn based on text information."    parameters = [{"name": "prompt", "type": "string", "description": "Detailed description of the desired image content, in English", "required": True}]
def call(self, params: str, **kwargs) -> str: prompt = json5.loads(params)["prompt"] prompt = urllib.parse.quote(prompt) return json5.dumps({"image_url": f"https://image.pollinations.ai/prompt/{prompt}"}, ensure_ascii=False)

工具注册好,接下来就是把它挂到 Agent 上了。


创建基于 OpenVINO™ 的 AI 智能体

Qwen-Agent 里所有的 LLM 都通过统一的接口 get_chat_model(cfg: Optional[Dict] = None) -> BaseChatModel 来调用。传入一个 LLM 配置文件就行。目前 OpenVINO™ 的 LLM 配置文件格式长这样:

llm_cfg = {    "ov_model_dir": model_path,    "model_type": "openvino",    "device": device.value,    "ov_config": ov_config,    "generate_cfg": {"top_p": 0.8},}

参数含义很明确:

  • ov_model_dir

    :就是第一步转化出来的 OpenVINO™ 模型路径。
  • model_type

    :指定为 "openvino"。
  • device

    :Intel 设备名称,目前支持 "cpu" 或 "gpu"。
  • ov_config

    :OpenVINO infer request 里的可配置项。
  • generate_cfg

    :模型生成时的参数。

框架已经提供了现成的智能体实现,比如 class Assistant。开发者只需要把定义好的 OpenVINO™ LLM 配置文件传进去,就能快速构建一个智能体应用:

bot = Assistant(llm=llm_cfg, function_list=tools, name="OpenVINO Agent")

代码量不大,但效果很关键。


完整示例和实现效果

基于上面这套流程,OpenVINO Notebook 仓库里备了完整示例,可以直接拿来测试。这个示例会理解用户意图,并调用多种预定义工具来完成任务——包括 Wikipedia 查询工具、天气查询工具、绘图工具。下面的截图就是在 Intel AIPC 上本地部署时的效果:

图:Qwen-Agent 与 OpenVINO™ 智能体示例

可以看到,在这个例子中,智能体首先会把用户的请求按任务拆解开,然后分别调用不同的工具来获取输出结果,最后把这些结果合并,作为最终答案反馈给用户。整个过程很清晰,也很符合人类的思维逻辑。


总结

AI 智能体作为通用人工智能的核心载体,本质上是模仿人类的思维逻辑,把复杂任务拆解,再借助外部工具逐个解决。通过 OpenVINO™ 和 Qwen-Agent,我们可以非常快捷地在本地构建一个 AI 智能体应用。这么做的好处很直接:一方面保护了用户数据隐私,另一方面响应速度更快。简单任务可以调本地工具处理,复杂任务则可以灵活调用云端资源处理。本地与云端的配合,让整套方案既有实用性,也有扩展性。