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

2024-08-26 14:44:11 浏览数 (1)

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

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

插件开发流程

创建插件

1.登录 Botnow 后台

2.在左侧菜单选择插件,然后单击创建插件。

3.输入基本信息:

  • 插件名称:示例值 必应(Bing)搜索。
  • 插件描述:示例值 通过必应 (Bing) 搜索网络内容。

4.输入插件 Schema 描述

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

本示例中,在 Schema 中输入:

代码语言:javascript复制
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

5.鉴权类型选择 “服务级鉴权”

6.参数名填写 “Ocp-Apim-Subscription-Key”

7.输入在 Bing Search 申请的 Token

预览效果:

调试插件

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

在Bot中使用插件

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

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

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

总 结

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

0 人点赞