插件开发最佳实践:以必应(Bing)搜索插件开发为例

简介: 插件是Botnow中增强Bot功能的关键工具,可通过添加各类插件如新闻阅读、效率工具等,扩展Bot的知识与技能。本文以开发“必应搜索”插件为例,详细介绍从登录控制台开始,经过创建插件、定义接口、设置认证信息直至在Bot中实际运用插件的全过程。遵循最佳实践,开发者能构建高质量插件,显著提升Bot的服务能力。

插件是一个工具集,一个插件内可以包含一个或多个工具。在 Botnow 中,您可以通过插件的方式,为 Bot 增加新的知识、技能或处理能力。目前,Botnow 内置了类型丰富的插件,包括新闻阅读、效率工具、图片生成、搜索、文档总结等 API 及多模态模型。使用这些插件,可以帮助您拓展 Bot 能力边界。例如,在您的 Bot 内添加文档总结插件,那么您的 Bot 将拥有阅读 PDF 等文档的能力。 如果 Botnow 内置的插件不满足您的使用需求,您还可以创建自定义插件来集成需要使用的 API。


本文以开发一个必应(Bing)搜索的插件为例,介绍如何通过 Botnow 创建自定义插件。


插件开发流程


创建插件

  1. 登录 Botnow 控制台
  2. 在左侧菜单选择插件,然后单击创建插件。
  3. 输入基本信息:
  • 插件名称:示例值 必应(Bing)搜索。
  • 插件描述:示例值 通过必应 (Bing) 搜索网络内容。
  1. 输入插件 Schema 描述

Botnow 支持 OpenAPI 协议定义插件接口。编写接口协议时,定义好插件的描述、参数的 code 以及参数的描述是十分重要的,插件是否能够真正发挥预期的作用,取决于接口协议是否准确、简练且富有含义。因为大模型会根据接口信息判断插件能够做什么、什么时候调用插件、以及插件应该如何解决问题,从而完成插件的调用,实现大模型和插件的结合。参考 OpenAPI 接口规范

本示例中,在 Schema 中输入:

openapi: 3.0.0
info:
  title: Bing Web Search API
  description: Search the web for information using Bing.
  version: 1.0.0
servers:
  - url: 'https://api.bing.microsoft.com/v7.0'
paths:
  /search:
    get:
      operationId: search
      summary: Search the web
      description: Returns web search results.
      parameters:
        - name: q
          in: query
          description: The query term to search for.
          required: true
          schema:
            type: string
        - name: count
          in: query
          description: The number of search results to return.
          schema:
            type: integer
            default: 6
        - name: offset
          in: query
          description: The zero-based offset of the first result to return.
          schema:
            type: integer
            default: 0
        - name: mkt
          in: query
          description: The desired market for the results.
          schema:
            type: string
            default: en-US
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebSearchResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: Too Many Requests
components:
  schemas:
    WebSearchResponse:
      type: object
      properties:
        webPages:
          type: object
          properties:
            value:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  url:
                    type: string
                  snippet:
                    type: string
  1. 鉴权类型选择 “服务级鉴权”
  2. 参数名填写 “Ocp-Apim-Subscription-Key”
  3. 输入在 Bing Search 申请的 Token


预览图:



调试插件

  1. 点击 “调试” 操作
  2. 打开调试窗口,输入问题,例如:“生成式人工智能对未来的影响”



在 Bot 中使用插件

  1. 创建一个 Bot,命名为 “Bing 搜索助手”

  1. 选择前面创建的插件 “Bing 搜索插件”

  1. 在 Bot 对话中,输入问题调试 Bot。



总结

插件开发通过遵循最佳实践,开发者可以创建出高质量、高性能的插件,为您的智能体和工作流提供强大的功能支持。希望本文能够为您提供有价值的指导,帮助您在插件开发的道路上取得更大的成功。

目录
相关文章
|
API Windows
怎么申请 bing api key
1:打开网址 https://login.live.com/ 注册帐号并登录(点击上图中的登录按钮即可),在新窗口点击下方的“立即注册”(有帐号的可以直接登录)2:填写相关信息(推荐使用hotmail邮箱),填写完毕后点击下方的 即可PS:国家或地区请勿选择‘中国’,否则会出现‘在你的市场中未提供...
21300 1
|
9月前
|
存储 Ubuntu 安全
Ubuntu 与 Manjaro Linux:你应该选择哪一个?
除了完全擦除当前机器并安装 Linux之外,您还可以 在 Windows 旁边同时启动一个发行版,尽管这是一个乏味的过程,我们并不总是推荐这样做。更好的选择是 从 USB 驱动器启动 Linux 发行版 ,以同时尝试 Ubuntu 和 Manjaro。如果您熟悉虚拟机,那么 在 VirtualBox 中安装和使用 Linux 发行版也很容易。 当然,您还需要这些发行版的ISO 文件,因此请访问Ubuntu和Manjaro 的下载页面 开始使用。
|
6月前
|
存储 缓存 供应链
1688 商品详情 API 最佳实践:合规、高效、价值落地全指南
本文系统总结了1688商品详情API(alibaba.product.get)五大最佳实践:合规落地、技术优化、数据治理、业务融合与风险防控。涵盖权限申请、签名生成、缓存策略、数据清洗、选品模型、供应商评估及容灾备份等关键环节,助力企业安全、高效地实现数据驱动采购与供应链升级。(239字)
|
设计模式
HarmonyOS实战:首页多弹窗顺序弹出终极解决方案
随着应用软件功能增加,首页弹窗问题日益严重。本文采用设计模式解决这一痛点,通过责任链与建造者模式,定义基础弹窗接口 `DialogIntercept` 和弹窗处理类 `DialogChain`,实现弹窗的有序管理和显示逻辑。方案支持异步判断是否显示弹窗,并通过自定义弹窗类(如 `DialogA`、`DialogB` 等)灵活控制弹窗行为,最终实现高效、可扩展的弹窗管理机制。
344 0
HarmonyOS实战:首页多弹窗顺序弹出终极解决方案
|
机器学习/深度学习 存储 人工智能
大数据中自然语言处理 (NLP)
【10月更文挑战第19天】
887 60
|
消息中间件 缓存 PHP
PHP性能优化:从基础到进阶的实战指南####
本文旨在为开发者提供一份全面的PHP性能优化指南,涵盖从代码层面的基础优化到服务器配置的高级策略。通过具体实例分析,揭示如何有效减少页面加载时间、降低资源消耗,并提升用户体验。无论你是PHP新手还是资深开发者,都能在本文中找到实用的技巧和建议,助你打造更高效、更稳定的Web应用。 ####
ConnectionResetError: [Errno 104] Connection reset by peer|4-16
ConnectionResetError: [Errno 104] Connection reset by peer|4-16
|
消息中间件 存储 缓存
高性能、高可靠性!Kafka的技术优势与应用场景全解析
**Kafka** 是一款高吞吐、高性能的消息系统,擅长日志收集、消息传递和用户活动跟踪。其优点包括:零拷贝技术提高传输效率,顺序读写优化磁盘性能,持久化保障数据安全,分布式架构支持扩展,以及客户端状态维护确保可靠性。在实际应用中,Kafka常用于日志聚合、解耦生产者与消费者,以及实时用户行为分析。
714 3
|
缓存 NoSQL Redis
redis灵魂拷问:聊一聊主从复制缓冲区
redis灵魂拷问:聊一聊主从复制缓冲区
681 2
redis灵魂拷问:聊一聊主从复制缓冲区
|
存储 JSON API
微服务框架 go-zero logx 日志组件剖析
微服务框架 go-zero logx 日志组件剖析
874 0