文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力

这篇具有很好参考价值的文章主要介绍了文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

2023年8月31日,文心一言 率先向全社会全面开放。
随之而来的便是向开发者开放 插件 生态。

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

插件

插件是什么

如果说文心一言是一个智能中枢大脑,插件就是文心一言的耳、目、手。插件将“文心一言”AI能力与外部应用相结合,既能丰富大模型的能力和应用场景,也能利用大模型的生成能力完成此前无法实现的任务,比如发邮件等。

工作原理

  • 插件注册:开发者将插件的 manifest 文件注册到一言插件库中,校验通过后一言即可使用插件处理用户 query 。
  • 插件触发:解析调度模块将使用生成的API,来调用插件服务。插件服务完成处理后,返回 json 数据由一言汇总结果进行返回。
  • 插件解析:一言插件系统的触发调度模块,将识别用户 query,并将根据 manifest 文件中的插件API接口和参数的自然语言描述来选择使用哪个插件,以及生成调用插件的 API。

例如用户在平台上选择天气插件,输入:“今天北京的天气怎么样?”。 模型首先会根据用户意图调用天气插件,并且解析query中时间(今天)和地点(北京)信息,然后以 json 结构输入开发者提供的天气API接口中,获得接口返回的天气信息,经过大模型进行语言润色后,生成面向用户的回答。

申请开发权限

申请开发权限:https://yiyan.baidu.com/developer

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

等待申请通过的邮件就可以开始了

开始

第一步:安装python

python下载链接:https://www.python.org/downloads/

问题1:如果在cmd中输入python会打开应用商店,就在用户变量的 PATH 中把WindowsApps移到python下面
文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai
问题2:如果cmd中报“pip指令找不到”,那就要在用户变量的 PATH 中添加C:\Users\25218\AppData\Local\Programs\Python\Python311\Scripts

第二步:搭建项目

单词本的项目:https://pan.baidu.com/s/1K7wjPMPMprxtosnF5D-3tQ?pwd=q7xa

接入一个插件核心流程如下所示:

  • 构思插件 manifest 描述文件(ai-plugin.json,必选)
  • 定义插件服务描述文件(openapi.yaml,必选)
  • 开发自己的plugin-server(openapi服务,必选)

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

manifest 描述文件:ai-plugin.json

{
    "schema_version":"v1",(插件的版本号,用于开发者标记和使用)
    "name_for_human":"天气预报_dwh",(此字段将面向用户查看,平台内全局唯一标识,后缀数字建议长且随机,更不容易重名冲突)
    "name_for_model":"weather_prediction_dwh",(模型将用于定位插件的名称,建议是有语义信息的英文字符串)
    "description_for_human":"个性化查询不同地区的天气",(面向用户介绍插件,建议介绍插件的主要能力,相关限制等。不超过100个字符,前端可完整显示前40 个字符,超出的字符将在用户 hover 时展示。)
    "description_for_model":"帮助用户查询不同地区的天气",(面向模型的自然语言描述,请描述插件的核心能力、使用场景等,将用于模型参考解析是否触发插件,建议不超过200个字符。)
    "auth": (用户鉴权相关字段)
    {
        "type": "none"    
    },
    "api":API规范) 
    {
        "type": "openapi",
        "url": "http://127.0.0.1:8081/.well-known/openapi.yaml"
    },
    "logo_url": "http://127.0.0.1:8081/logo.png",(用于获取插件标识的URL"contact_email": "support@example.com",(安全/审核、支持和停用的电子邮件联系方式)
    "legal_info_url": "http://www.example.com/legal"(用户查看插件信息的重定向URL}

插件服务描述文件:openapi.yaml

openapi: 3.0.1
info:
  title: 天气预报
  description: 个性化查询不同地区的天气。
  version: "v1"
servers:
  - url: http://127.0.0.1:8081
paths:
  /get_weather:
    post:
      operationId: getWeather
      summary: 展示天气
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/getWeather"
      responses:
        "200":
          description: 天气展示完成
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/weatherResponse"
components:
  schemas:
    getWeather:
      type: object
      required: [city]
      properties:
        city:
          type: string
          description: 城市
    weatherResponse:
      type: object
      required: [weather]
      properties:
        weather:
          type: object
          description: 天气内容

开发自己的plugin-server

Python Web框架里比较有名当属Django,Flask相对于Django而言是轻量级的Web框架。

#!/usr/env python3
# -*- coding: UTF-8 -*-

from flask import Flask, request, send_file, make_response
from flask_cors import CORS
import json
import random
import requests

#读取key
file = open('.env')
KEY=file.readline()[4:]
print(KEY)
file.readline()

app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "https://yiyan.baidu.com"}})

def make_json_response(data, status_code=200):
    response = make_response(json.dumps(data), status_code)
    response.headers["Content-Type"] = "application/json"
    return response

@app.route("/logo.png")
async def plugin_logo():
    """
        注册用的:返回插件的logo,要求48 x 48大小的png文件.
        注意:API路由是固定的,事先约定的。
    """
    return send_file('logo.png', mimetype='image/png')


@app.route("/.well-known/ai-plugin.json")
async def plugin_manifest():
    """
        注册用的:返回插件的描述文件,描述了插件是什么等信息。
        注意:API路由是固定的,事先约定的。
    """
    host = request.host_url
    with open(".well-known/ai-plugin.json", encoding="utf-8") as f:
        text = f.read().replace("PLUGIN_HOST", host)
        return text, 200, {"Content-Type": "application/json"}


@app.route("/.well-known/openapi.yaml")
async def openapi_spec():
    """
        注册用的:返回插件所依赖的插件服务的API接口描述,参照openapi规范编写。
        注意:API路由是固定的,事先约定的。
    """
    with open(".well-known/openapi.yaml", encoding="utf-8") as f:
        text = f.read()
        return text, 200, {"Content-Type": "text/yaml"}

@app.route("/get_weather", methods=["POST"])
async def get_weather():
    """
        查询天气
    """
    city = request.get_json().get('city')
    r=requests.get("第三方接口?key="+KEY+"&city="+city)
    return make_json_response(json.loads(r.text))

@app.route('/')
def index():
    return 'welcome to my webpage!'

if __name__ == '__main__':
    app.run(debug=True, host='127.0.0.1', port=8081)

第三步:上传插件

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai
可以通过输入http:127.0.0.1:8081或者项目压缩包(rar、zip)提交。

文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

SDK

SDK文档:https://github.com/PaddlePaddle/ERNIE-Bot-SDK
这个功能需要进行认证鉴权,付费服务,支持的模型平台有以下三个。
文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai

例子:
文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力,Daily Share,文心一言,人工智能,大数据,python,ai


相关链接

百度文心一言插件文档:https://yiyan.baidu.com/developer
百度文心一言SDK:https://github.com/PaddlePaddle/ERNIE-Bot-SDK
高德天气查询文档:https://lbs.amap.com/api/webservice/guide/api/weatherinfo/#t1
高德开放平台:https://lbs.amap.com/
单词本demo:https://pan.baidu.com/share/init?surl=K7wjPMPMprxtosnF5D-3tQ&pwd=q7xa文章来源地址https://www.toymoban.com/news/detail-708918.html

到了这里,关于文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文心一言4.0(ERNIE-Bot-4)申请方法及简单调用代码示例

    10月17日过后,估计很多人会看到类似的新闻,如图: 我看到这则新闻也是觉得非常感兴趣,于是本着“百闻不如一见”的实事求是的态度检索如何申请,没想到还真找到了ERNIE-Bot-4(俗称:文心一言4.0)的申请入口,如下: 体验地址 企业用户/个人开发者:填写表单申请开通

    2024年02月07日
    浏览(33)
  • 百度文心一言文心千帆大模型 ERNIE-Bot-turbo调用示例(golang版本)

    百度的文心一言推出来也有一段时间了,但是接口部分一直没有公开,需要进行申请 最近,有朋友提供了文心千帆大模型的api权限,拿到了必须的参数,现在就来测试一下 下面是使用golang封装的文心千帆 ERNIE-Bot-turbo模型的调用示例 ERNIE-Bot-turbo.go 测试用例,获取access_token是

    2024年02月16日
    浏览(38)
  • 手把手教你搭建微信聊天机器人系列(一):文心一言(百度千帆ERNIE-Bot大模型)API测试

            今年年初chatgpt大火,国产gpt文心一言也提供了内测服务,大家可以去访问官网申请体验。文心一言APP上的功能更加强大,可以看这个测评文章。作为程序猿的我们,想接入文心一言的能力,比如开发一个聊天机器人,要怎么做呢?百度在其开发者平台开放了大模

    2024年02月07日
    浏览(39)
  • 手把手教你搭建微信聊天机器人系列(三):搭建对接文心一言(ERNIE-Bot大模型)接口的微信聊天机器人

            上一章介绍了eggjs+wechaty搭建一个简单的微信聊天机器人,只是实现了简单的回复,这一章我们将对接ERNIE-Bot接口,实现智能回复。         我们在上一章代码基础上进行调整,首先我们要加入access_token的请求逻辑。第一章我们说过,请求需要使用应用对应的

    2024年02月03日
    浏览(43)
  • NetSuite 文心一言(Ernie)的AI应用

    有个故事,松下幸之助小时候所处的年代是明治维新之后,大量引用西洋技术的时期。当时大家对“电”能干什么事,充满好奇。“电能干什么?它能帮我们开门么?” 松下幸之助的爷爷对电不屑,于是就问他。松下幸之助的回答是“也许可以,虽然不知道该怎么干。总要试

    2024年01月23日
    浏览(30)
  • 百度“文心一言”大模型(ERNIE)发布了,对标ChatGPT

    大家好,我是微学AI,今天给大家介绍一下基于大语言模型的背景下,国内外的发展现状,以及百度的“文心一言”大模型。 一、自然语言处理模型的发展 自然语言处理(NLP)大模型的发展可以追溯到早期的简单的规则模型,再到后的机器学习,近十年崛起的神经网络和深度学

    2024年01月17日
    浏览(35)
  • 大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明

    大家好,我是微学AI,今天给大家讲一下大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明。在大规模语料库上预先训练的BERT等神经语言表示模型可以很好地从纯文本中捕获丰富的语义模式,并通过微调的方式一致地提高各种NLP任务的性能。

    2024年02月05日
    浏览(37)
  • 【文心一言大模型插件制作初体验】制作面试错题本大模型插件

    注意:目前插件仅支持在本地运行,虽然只能自用,但仍然是一个不错的选择。(什么?你说没有用?这不可能!文心一言app可以支持语音,网页端结合手机端就可以实现从题库里抽题模拟面试了,完美的设想) 开发权限申请 开发环境申请 通过上面的链接进行开发权限的申

    2024年02月09日
    浏览(32)
  • 微信公众号接入ChatGpt、文心一言等【完整流程】

    1. 首要条件: 公网服务器一台 公众号(订阅号、服务号都可)一个 注册LinkAI(有国外服务器的可不考虑使用) 开源项目chatgpt-on-wechat 2.服务器选择 建议国外服务器 ,使用openai 无需代理,域名也不需要备案。我当时购买时没注意,选的国内服务器,导致域名备案备案花了很长时间

    2024年02月04日
    浏览(43)
  • 公众号能当知识库用了!文心一言插件能行!

    10 月17 日的百度世界大会即将开始了,我还是挺期待今年的百度世界大会的,得益于百度在AI赛道的积累,李彦宏将在现场做主题为「手把手教你做AI原生应用」演讲,现场将会展示文心大模型的理解、⽣成、逻辑和记忆四项核心能⼒在生活中的高频应用。 为了验证百度大模

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包