范例与应用

本章节用于说明 VIRobotics/AI Agent 目录下常用范例 VI 的具体用法。
建议阅读顺序:

  1. 先看基础对话与流式对话

  2. 再看工具调用与视觉理解

  3. 最后运行完整 Agent 范例


范例入口

  • 路径方式:LabVIEW install path\examples\VIRobotics\AI Agent

  • 菜单方式:Help -> Find Examples -> Directory Structure -> VIRobotics -> AI Agent

当前范例按大模型厂家分文件夹组织:

  • Aliyun

  • Baidu

  • Deepseek

  • Doubao

  • Kimi

  • Ollama

  • Silliconflow

  • Zhipu

  • tools

说明:

  • 各厂家文件夹下通常都包含:基础对话类 VI、流式输出类 VI、工具调用类 VI、完整 Agent 类 VI。

  • Aliyun 文件夹除上述通用范例外,还包含视觉理解相关 VI

  • Doubao 文件夹除上述通用范例外,还包含视觉相关 VI(视觉理解、文生图、图生图、图文融合)。


按厂家快速索引(先选 API 再看范例)

如你目前只申请了单一厂商 API Key,可先按下表快速定位:

厂家文件夹 优先查看范例
Aliyun basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi、视觉理解相关 VI
Baidu basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Deepseek basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Kimi basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Ollama basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Silliconflow basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Zhipu basic.vistream.vibasic_call_tools.vistream_with_tools.viAI_Agent_Full.vi
Doubao 通用范例 + text_to_img_test.viimage_to_image.viimage_fusion.vi、视觉理解相关 VI
tools basic_toolsvi_advisor 工具目录

阅读建议:

  • 主体内容仍按能力大类阅读(减少重复学习成本)。

  • 单厂商用户可先看本表,再跳到对应能力章节。


一、基础对话类 VI

VI名称:basic.vi

功能定位:最基础的问答示例,非流式输出,适合首次验证模型链路。

实现流程

  1. Initial_xxx.vi 初始化 LLM 实例并选择模型

  2. Set_System_Prompt.vi 设置系统角色

  3. Generate_Prompt.vi 发送用户问题并获取完整回复

  4. Release.vi 释放资源

输入参数

  • model:模型名称

  • prompt:用户问题

  • system_prompt:系统角色(可选)

输出结果

  • content:模型回复

  • reasoning_content:推理过程(部分模型支持)

操作步骤

  1. 打开 basic.vi

  2. 选择模型并填写 prompt

  3. 输入提示词

  4. 运行 VI 并查看 content

  5. 结束后释放实例资源

适用场景

  • 首次接入验证

  • 简单问答与文本生成

  • 非实时展示场景

常见问题

  • 无返回:先检查 API Key 和余额

  • 报 License 错误:先到激活章节检查 genaivi_advisor 状态


二、流式输出类 VI

VI名称:stream.vi

功能定位:流式对话示例,实时显示模型回复。

实现流程

  1. 初始化 LLM 实例并选择模型

  2. 通过属性节点设置 stream=True

  3. 外层循环监听 send 按钮

  4. 内层循环持续读取流式分片并拼接显示

  5. 点击 stop 或任务结束后释放资源

输入参数

  • model:模型名称

  • prompt:用户输入

  • enable_thinking:是否启用思维链(部分模型支持)

  • send / stop:发送与停止控制

输出结果

  • Assistant:实时输出内容(最终拼接为完整回复)

  • reasoning_content:思维链内容(若模型支持)

操作步骤

  1. 打开 stream.vi

  2. 选择模型,输入 prompt

  3. 根据需要设置 enable_thinking

  4. 点击 send 运行并观察实时输出

  5. 完成后点击 stop

适用场景

  • 长文本生成

  • 实时交互界面

  • 需要边看边调试的对话流程

常见问题

  • 无流式输出:确认模型支持流式并检查 API 余额

  • 输出中断:检查网络连通性和代理设置


三、工具调用类 VI

VI名称:basic_call_tools.vi

功能定位:演示 LLM 调用外部工具的完整链路。

实现流程

  1. 定义工具描述(namedescriptionparameters

  2. 将工具列表传入 LLM 实例

  3. 发送用户请求并获取 Tools_calls

  4. 执行工具并产出工具结果

  5. Generate_Tool_Call_Results.vi 回传结果

  6. 获取最终自然语言回复

输入参数

  • prompt:用户问题

  • tools:工具定义列表(JSON)

  • messages_tools:工具执行结果

输出结果

  • Tools_calls:模型请求的工具调用信息

  • content:整合工具结果后的最终回答

操作步骤

  1. 打开 basic_call_tools.vi

  2. 配置一个或多个工具定义

  3. 输入带工具意图的问题(如天气、文件读写)

  4. 运行后读取 Tools_calls

  5. 执行工具并回传结果,查看最终回复

适用场景

  • 智能助手

  • 业务数据查询

  • IoT/设备控制

  • 自动化业务流程


VI名称:stream_with_tools.vi

功能定位:流式输出 + 工具调用的组合示例。

实现流程

  1. 初始化流式对话

  2. 加载工具列表

  3. 接收用户请求并进行流式推理

  4. 触发工具调用并继续流式输出

输入参数

  • model:模型

  • prompt:用户问题

  • tools:选择需要的工具

输出结果

  • Assistant:整合工具结果后的最终回答

操作步骤

  1. 打开 stream_with_tools.vi

  2. 配置模型与工具

  3. 输入带工具需求的任务

  4. 运行并观察流式+工具链路

适用场景

  • 在线助手

  • 实时控制场景

  • 可视化调试场景

常见问题

  • 工具执行后无继续输出:检查工具回传数据格式

  • 输出延迟明显:检查工具执行耗时和网络质量


四、视觉理解类 VI(VLM)

前置条件:请先确保已安装 AI Vision Toolkit for GPU

VI名称:VL.vi / Qwen_VL.vi

功能定位:图像理解与图文问答。

实现流程

  1. 使用 imread.vi 读取图片

  2. 使用 cvtColor.vi 转换颜色空间(BGR -> RGB)

  3. 调用 Generate_Prompt_imgs.vi 传入图片与文本问题

  4. 获取并显示图像理解结果

输入参数

  • model:视觉语言模型

  • imgName:图片文件名或路径

  • prompt:图像相关问题

输出结果

  • result:图像分析文本

  • picture:原图显示

操作步骤

  1. 打开 VL.viQwen_VL.vi

  2. 选择模型并载入图片

  3. 输入图像问题

  4. 运行并查看 result

适用场景

  • 图像内容理解

  • 缺陷描述与说明

  • OCR 前分析和图文问答

常见问题

  • 图片无法读取:检查路径和格式

  • 分析结果泛化:在 prompt 中明确目标(识别/统计/描述)


VI名称:VL_Draw_Box.vi

功能定位:图像目标检测与可视化标注。

实现流程

  1. 输入图片与检测任务描述

  2. 调用视觉理解接口获取目标位置

  3. 解析边界框并在图像上绘制

  4. 输出标注图和检测结果

输入参数

  • 图片输入

  • 检测提示词或目标类别说明

输出结果

  • 检测标签、bbox、置信度

  • 绘制后的标注图

操作步骤

  1. 打开 VL_Draw_Box.vi

  2. 载入图片并输入检测要求

  3. 运行并查看框选结果

  4. 核对标签与位置是否准确

适用场景

  • 工业视觉检测

  • 智能监控

  • 机器人视觉定位

常见问题

  • 框位置偏移:检查图像缩放与坐标映射

  • 漏检:提升提示词明确度或更换模型


VI名称:VL_Full.vi

功能定位:视觉理解综合示例,支持多图输入与批量分析。

实现流程

  1. 载入多张图片或图片列表

  2. 设置统一分析提示词

  3. 执行批量推理

  4. 汇总输出分析结果

输入参数

  • 图片数组/路径列表

  • 分析提示词

输出结果

  • 批量图像分析结果

  • 可选结构化结果报告

操作步骤

  1. 打开 VL_Full.vi

  2. 导入多图输入

  3. 设置批量分析问题

  4. 运行并查看整体结果

适用场景

  • 批量图像巡检

  • 多样本分析

  • 自动化视觉报告

常见问题

  • 批处理耗时长:降低单批数量

  • 结果格式不一致:固定提示词模板


五、图像生成类 VI

前置条件:ImageGeneration 相关示例当前主要基于豆包能力,请先确保已开通 doubao-seedream 并完成 API 配置;同时安装 AI Vision Toolkit for GPU

VI名称:text_to_img_test.vi

功能定位:文生图。

实现流程

  1. 初始化图像生成实例

  2. 设置提示词与生成参数

  3. 调用文生图接口生成图片

  4. 显示并保存输出图像

输入参数

  • Server="doubao"

  • model="doubao-seedream-4-5-251228"

  • prompt:提示词

  • size:生成图片尺寸

  • watermark:是否保留"AI生成"字样的水印

输出结果

  • 生成图片(前面板显示/可保存)

操作步骤

  1. 打开 text_to_img_test.vi

  2. 选择 seedream 模型

  3. 输入 prompt 并设置尺寸

  4. 运行并查看输出图像

适用场景

  • 文档配图

  • 原型草图

  • 创意设计生成

常见问题

  • 生成失败:确认 seedream 模型已开通且 API 配置正确

  • 结果不符合预期:增加约束词并补充负面提示词


VI名称:image_to_image.vi

功能定位:图生图(重绘/风格迁移)。

实现流程

  1. 输入原图

  2. 设置转换描述

  3. 调用图生图接口

  4. 输出并对比转换结果

输入参数

  • Server="doubao"

  • model="doubao-seedream-4-5-251228"

  • prompt:提示词

  • size:生成图片尺寸

  • watermark:是否保留"AI生成"字样的水印

  • imgPath:原始输入图的路径

  • prompt:提示词

输出结果

  • 转换后的图像

操作步骤

  1. 打开 image_to_image.vi

  2. 载入原图并输入描述

  3. 运行并对比前后图

适用场景

  • 风格迁移

  • 图像增强

  • 设计变体生成

常见问题

  • 风格偏差大:提示词增加“保留主体”约束


VI名称:image_fusion.vi

功能定位:图文融合或多图融合生成。

实现流程

  1. 载入2图或多图输入

  2. 设置融合提示词与参数

  3. 执行融合生成

  4. 输出融合图像

输入参数

  • Server="doubao"

  • model="doubao-seedream-4-5-251228"

  • prompt:提示词

  • size:生成图片尺寸

  • watermark:是否保留"AI生成"字样的水印

  • images:需要融合的图片

输出结果

  • 融合后的图像

操作步骤

  1. 打开 image_fusion.vi

  2. 载入图像并输入融合目标

  3. 设置可选权重

  4. 运行并检查融合效果

适用场景

  • 多源图像合成

  • 教学演示素材制作

  • 视觉方案对比

常见问题

  • 融合不自然:减少一次融合目标数量

  • 细节丢失:提高输入图质量和分辨率


六、完整 Agent 类 VI

VI名称:AI_Agent_Full.vi(重点)

功能定位:综合单 Agent 范例,集成流式输出、工具调用与上下文记忆。

实现流程

  1. 初始化 Agent 与模型配置

  2. 启用 useTools 并加载工具列表

  3. 处理用户输入并进行意图识别

  4. 需要时触发工具调用并回传结果

  5. 输出流式回复并维护上下文

输入参数

  • model:模型

  • thinking_type:是否启用思考模式

  • prompt:提示词

  • useTools:是否启用工具

  • Tools:所有可选工具,可自由选择

  • 会话上下文参数

输出结果

  • 流式回复内容

  • 工具调用结果

  • 多轮会话状态

操作步骤

  1. 打开 AI_Agent_Full.vi

  2. 先确认模型与 API 可用

  3. 勾选 useTools

  4. 输入带工具意图的任务并运行

  5. 观察推理、调工具、输出的完整链路

适用场景

  • 复杂任务自动化

  • 多步骤工作流

  • 综合能力验收测试

常见问题

  • 不调工具:检查工具描述与开关状态以及工具包license状态

  • 结果中断:检查流式链路与网络状态


VI名称:AI_Agent_No_Stream.vi

功能定位:非流式完整 Agent,适合批处理和后端服务场景。

实现流程

  1. 初始化 Agent

  2. 输入任务并触发执行

  3. 一次性返回完整结果

  4. 释放资源

输入参数

  • model:模型

  • prompt:提示词

输出结果

  • 一次性完整响应结果

操作步骤

  1. 打开 AI_Agent_No_Stream.vi

  2. 设置模型和任务

  3. 运行并等待完整返回

  4. 校验结果内容

适用场景

  • 批量处理

  • 后端任务

  • API 封装

常见问题

  • 返回慢:复杂任务可切到流式版本

  • 输出过短:调整提示词和模型参数


七、tools 目录常用工具

tools/basic_tools 常见工具包括:

  • web_search

  • exec

  • get_file_text

  • write_file

  • get_date_and_time

  • create_folder

  • get_img_size

  • img_resize

  • github_get

  • vlm

  • text_to_image

  • image_fusion

  • image_to_image

tools/vi_advisor 常见工具包括:

  • get_labview_vi_content.vi

  • get_vis_of_a_folder.vi

  • get_labview_example_folder.vi

工具制作与工具描述规范请参考:工具制作指南


示例使用建议

  • 入门:basic.vi -> stream.vi

  • 进阶:basic_call_tools.vi -> stream_with_tools.vi

  • 综合:AI_Agent_Full.vi

  • 图像生成:text_to_img_test.vi -> image_to_image.vi -> image_fusion.vi

  • 视觉理解:VL.viVL_Draw_Box.viVL_Full.vi

  • 自定义工具:查看 工具制作指南


技术支持