插件开发最佳实践:以必应(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。



总结

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

目录
相关文章
|
6月前
|
移动开发 小程序 IDE
【社区每周】小程序搜索直达能力全面开放;IDE3.0稳定版正式发布(2022年6月第二期)
【社区每周】小程序搜索直达能力全面开放;IDE3.0稳定版正式发布(2022年6月第二期)
52 0
|
存储
【 uniapp - 黑马优购 | 搜索框 】如何实现自定义搜索组件、搜索建议、搜索历史
【 uniapp - 黑马优购 | 搜索框 】如何实现自定义搜索组件、搜索建议、搜索历史
573 0
|
6月前
|
缓存 数据库连接 PHP
百度搜索:蓝易云【laravel最常见的问题】
这些是在Laravel开发中常见的一些问题,解决它们需要一定的经验和技巧。如果遇到问题,可以通过查阅Laravel文档、搜索相关论坛或社区中的解决方案,或向其他开发者寻求帮助来解决问题。
66 1
|
6月前
|
Shell Linux 开发工具
百度搜索:蓝易云【Yocto环境搭建教程】
这是一个简单的Yocto环境搭建教程的概述。请注意,Yocto具有强大的自定义和配置选项,您可以根据特定的项目需求进行更深入的配置和扩展。建议在开始之前阅读Yocto文档以获取更详细的指导和了解。
72 0
|
6月前
|
存储 搜索推荐 Java
开发者热议GitHub代码搜索政策,最佳搜索解决方案探索
近日,名为koepnick 的开发者因在一台老式电脑上使用GitHub 搜索自己的存储库代码,却没有手机等设备协助验证,导致无法登录GitHub 账户,发文怒斥GitHub:如若没有登录,就无法使用搜索代码服务,与其这样不如弃用。 其实,早在今年6月,GitHub 官方便发布了一封《代码搜索现在需要登录》的公告内容,官宣除了在 GitHub.com 上全局搜索代码已经需要用户登录的政策之后,自 6 月 7 日起,这一政策将其扩展为包括存储库范围的搜索。即要访问 GitHub 的新代码搜索和代码导航的全部功能,需要创建账户或登录 GitHub.com。
|
JavaScript 定位技术 API
antdesign框架如何使用高德地图(搜索)
antdesign框架如何使用高德地图(搜索)
223 0
|
存储 计算机视觉 容器
uniapp搜索功能
uniapp搜索功能
143 0
|
前端开发 微服务 Python
厉害了!如何在 Gihub 快速搜索开源项目?
很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。相信看完这篇文章,你就可以学会如何精准地在GitHub搜索项目。
|
Python
百度搜索的高级用法
百度搜索的高级用法
2980 0
百度搜索的高级用法
安利 4 款 Google 镜像搜索
平时我收集的一些google镜像,可能对你平时搜索google资料有帮助,分享给你!有帮助的话,不要舍不得动手点个赞和留个言哈,让我看看多少人在公众号上阅读,经常露个脸,公众号如果送福利,我也能记得你哈 ~
811 0
安利 4 款 Google 镜像搜索