【愚公系列】《扣子开发 AI Agent 智能体应用》008-扣子插件和卡片(开发自定义插件案例:查询股票价格)

💎【行业认证·权威头衔】

✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家

✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主

✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者

🏆【荣誉殿堂】

🎖 连续三年蝉联"华为云十佳博主"(2022-2024)

🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)

🎖 十余个技术社区年度杰出贡献奖得主

📚【知识宝库】

覆盖全栈技术矩阵:

◾ 编程语言:.NET/Java/Python/Go/Node...

◾ 移动生态:HarmonyOS/iOS/Android/小程序

◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙

◾ 游戏开发:Unity3D引擎深度解析

文章目录


🚀前言

扣子的插件是一个工具集,包括资讯阅读、旅游出行、效率办公、图片理解等 API及多模态模型,使用这些插件可以极大地拓展智能体的能力边界。扣子还支持智能体以消息卡片的形式发送消息,卡片可以让输出的格式更加美观。本章将介绍扣子的插件和卡片的用法。

🚀一、开发自定义插件案例:查询股票价格

当扣子平台内置的官方插件无法满足特定业务需求时,开发者可以创建自定义插件来集成任意外部API。本节将通过一个完整的"查询股票价格"插件开发案例,详细演示从创建、编码、测试到最终集成的全流程。

🔎1.插件核心概念与权限

  • 插件与工具 :一个插件(Plugin) 是一个容器,可以包含多个工具(Tool)。每个工具对应一个独立的API。智能体调用插件时,实质上是调用该插件下的某个特定工具。
  • 域名规则 :同一个插件内的所有工具,其API必须使用相同的根域名
    • 示例 :一个"天气查询"插件可包含getCurrentWeathergetForecast两个工具,其API可能分别为https://api.weather.com/currenthttps://api.weather.com/forecast
  • 创建方式:扣子支持通过导入现有API、使用IDE、或通过代码注册等多种方式创建插件。
  • 权限管理
    • 插件创建者可以编辑和删除自己创建的插件。
    • 团队普通成员可以查看和使用空间内的插件。
    • 团队所有者和管理员可以编辑和删除团队内所有成员创建的插件。

🔎2.实战:开发"查询股票价格"插件

本案例目标是创建一个能根据股票代码(如AAPL)查询实时价格的插件,并让其被智能体调用。

🦋第1步:创建插件框架

  1. 登录扣子开发平台,进入"资源库"。
  2. 点击右上角"+资源 "按钮,在下拉菜单中选择"插件"。
  3. 在"新建插件"页面中填写基本信息:
    • 插件名称查询股票价格
    • 插件描述接收股票名称,查询并返回对应价格信息
    • 插件工具创建方式 :选择 "云侧插件 - 在Coze IDE中创建"
  4. 点击"确认 ",系统将跳转至工具创建页面。

🦋第2步:定义工具(API)

  1. 在"创建工具"对话框中,配置工具信息:
    • 工具名称search_stock_prices(建议使用蛇形命名法)
    • 工具介绍根据股票名称查询股票价格
  2. 点击"确定 ",进入Coze IDE集成开发环境。

🦋第3步:配置输入参数

  1. 在IDE中,点击"元数据"标签页。
  2. 在"输入参数"区域,点击"编辑"。
  3. 添加一个参数:
    • 参数名code
    • 描述股票名称(例如:AAPL, MSFT)。此参数将接收来自用户的股票代码。

🦋第4步:编写API调用代码

  1. 点击"代码"标签页,打开代码编辑器。
  2. (高效开发技巧) 使用AI辅助编码:按下快捷键(Mac: Command+I, Windows: Ctrl+I)唤起AI助手。
  3. 向AI输入自然语言需求,例如:"根据 input.code,调用Alpha Vantage的API查询股票实时价格"。
  4. AI会生成基础代码框架。开发者需要在此基础上进行调整和补全,关键逻辑包括:
    • 引入依赖 :在代码中需使用axios等库发起HTTP请求。需要在IDE左下角的"依赖"管理中添加axios包。
    • 组装请求 :从 input.code 获取用户输入的股票代码。
    • 调用外部API :本例使用 Alpha Vantage(一个提供金融市场数据的网站)的免费接口。需在其官网注册并获取自己的API Key,并妥善保管(建议使用环境变量,切勿硬编码在公开代码中)。
    • 解析响应:处理API返回的JSON数据,提取出最新的股价信息。
    • 定义输出 :将处理后的数据(如股票代码、价格、更新时间)赋值给 output 对象。

🦋第5步:测试与完善输出参数

  1. 代码编写完成后,点击右上角的"测试代码"图标。
  2. 在"输入"区域,模拟输入数据:{"code": "AAPL"}
  3. 点击"运行"按钮,观察"输出"区域的结果是否正确。
  4. 测试成功后,点击"更新输出参数 "按钮,系统会自动根据 output 的结构填充输出参数的元数据。
  5. 返回"元数据 "标签页,编辑输出参数,为其添加清晰的描述(例如,price字段描述为"价格")。

🦋第6步:发布插件

  1. 确认测试无误后,点击右上角的"发布"按钮。
  2. 在弹出的对话框中,按步骤填写版本号等信息。
  3. 在"个人信息收集声明"中,根据插件是否收集用户个人信息进行选择(本例中选择"")。
  4. 完成发布流程。

🔎3.在智能体中使用自定义插件

插件发布后,即可在智能体中调用。

🦋第1步:创建并配置智能体

  1. 在"项目开发"页面,点击"+创建",选择创建智能体。
  2. 命名为"查询股票价格助手"。
  3. 在智能体编排页面的"技能"区域,点击"插件"旁的添加按钮。
  4. 在添加插件页面,选择"资源库工具 ",找到并添加刚刚发布的 查询股票价格/search_stock_prices 工具。

🦋第2步:编写精准的提示词(关键)

在"人设与回复逻辑"区域,编写提示词来精确控制智能体的行为:

markdown 复制代码
# 角色
你是一个专业的股票价格查询助手,能够准确、快速地为用户提供股票价格相关信息。

## 技能
### 技能1:查询单只股票价格
1. 当用户请求查询某只股票的价格时,调用"查询股票价格"插件获取数据。
2. 按照以下格式回复用户:
   - 股票名称:[股票全称]
   - 当前价格:[具体价格数值]
   - 更新时间:[精确到分钟的时间]

### 技能2:查询多只股票价格
1. 若用户要求查询多只股票,请依次调用"查询股票价格"插件,分别查询每一只股票。
2. 按上述格式,为每只股票单独列出信息。

## 限制
- 只回答与股票价格查询相关的内容,拒绝回答无关话题。
- 必须严格按照给定格式组织回复内容。
- 所有价格信息必须来源于"查询股票价格"插件,确保数据准确性。

🦋第3步:测试智能体

  1. 在右侧"预览与调试"区域进行测试。
  2. 输入查询指令,如:"查询一下MSFT(微软)的股价 "或"看看AAPL和GOOGL的价格"。
  3. 观察智能体是否能够正确调用插件,并按照预设的格式返回清晰、准确的股票价格信息。

🔎4.案例总结与要点

通过本案例,您可以掌握扣子平台自定义插件开发的完整流程。核心要点在于:

  1. 明确输入输出:在"元数据"中清晰定义工具所需的参数和返回的数据结构。
  2. 安全处理密钥:调用第三方API所需的密钥(如Alpha Vantage API Key)必须通过安全方式管理,避免泄露。
  3. 健壮的代码:在"代码"部分实现网络请求、错误处理和数据处理逻辑。
  4. 有效的提示词:在智能体中,通过结构化的提示词明确调用插件的条件、方式和输出格式,这是智能体能否正确利用插件能力的关键。

此模式具有极强的扩展性,您可以将任何内部系统或外部服务的API封装成扣子插件,从而无限拓展智能体的能力边界。

相关推荐
GISer_Jing2 小时前
ByteDance AI战略:前端生态的颠覆者
前端·人工智能·aigc
北京耐用通信2 小时前
告别布线烦恼:耐达讯自动化Profibus六路中继器如何让您的网络“无限续航”
人工智能·物联网·网络协议·自动化·信息与通信
LDG_AGI2 小时前
【推荐系统】深度学习训练框架(二十):Meta Device — 延迟初始化,零显存定义超大规模模型
人工智能·pytorch·分布式·深度学习·机器学习·语言模型
热爱专研AI的学妹2 小时前
Coze-AI 智能体平台:工作流如何成为智能体的 “自动化引擎”?解锁零代码落地新范式
运维·数据结构·人工智能·自动化
编码小哥2 小时前
OpenCV仿射变换与透视变换实战
人工智能·opencv·计算机视觉
中科天工2 小时前
AGV物流+机器视觉:解锁包装车间自动化升级的核心密码
大数据·人工智能·智能
problc2 小时前
肉包 Roubao:首款无需电脑的开源 AI 手机自动化助手
人工智能·智能手机·开源
胡伯来了2 小时前
11 Transformers - 使用Pipeline处理音频
人工智能·transformer·transformers·音频处理·大数据模型
泡泡茶壶_ovo2 小时前
Zero-Shot Image Captioning with Multi-type Entity Representations(AAAI 2025)
人工智能·深度学习·计算机视觉·imagecaptioning·multimodal