使用BIE函数计算调用文心一言
所有文档
menu

智能边缘 BIE

使用BIE函数计算调用文心一言

产品详情立即使用

前言

当前文心一言未提供OpenAPI接入,需要使用百度智能云文心千帆的API接入,调用ERNIE-Bot或ERNIE-Bot-Turbo模型。

文心千帆平台操作

文心千帆-API调用

在文心千帆平台创建完应用后,就可以拿到API访问的API Key以及Secret Key。

BIE平台操作

本地新建index.py文件,

copy下面的内容,并将其中的API_KEY和SECRET_KEY替换为千帆平台中应用的实际值。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys 
sys.path.append("/var/lib/baetyl/python3") 
import requests
import json

API_KEY = ""
SECRET_KEY = ""    

def get_access_token():
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))

def handler(event, context):
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
    
    payload = json.dumps(event)
    headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)

    return json.loads(response.text)

由于我们用到了 requests 库,因此需要在配置项中引入该依赖,依赖包的创建方法可以参考自定义函数与依赖包解耦下发。上述代码中的如下两行代码,主要是用于引用依赖包函数。

import sys 
sys.path.append("/var/lib/baetyl/python3") 

创建配置项python3-request-package

应用管理->配置管理->配置项->创建配置项->引入文件创建配置项,该配置项为函数依赖包,配置项信息如下图所示:

image.png

创建函数python-qianfan

应用管理->配置管理->函数->创建函数配置项->添加配置数据,变量名的名称为index.py,变量值为之前创建index.py文件。

截屏2023-09-12 10.29.31.png

创建节点

边缘节点->节点管理->容器模式->创建节点,在系统应用选择的时候,选择baetyl-function。

在节点生成后,点击节点,进入应用部署,点击baetyl-function-xxxxx,容器配置->编辑->端口映射,选择ClusterIP,将50011端口映射到31011端口,以便我们在集群外进行调用测试。

创建函数应用

应用管理->应用部署->容器应用->创建应用->添加标准容器,在创建应用时,需要选择函数应用,同时,选择单节点匹配,将节点绑定到刚刚创建的节点中。

截屏2023-09-12 10.35.36.png

  • 基本信息

    • 函数配置项:选择前面创建的python-qianfan
    • 运行时:选择python3
  • 函数列表

    • 函数名称:qianfan
    • 函数入口:index.handler,因为python-qianfan函数的名称是index.py,函数当中定义了handler,所以此处为index.handler
    • 容器目录:.,使用点号,表示当前目录
  • 卷配置

    • 点击创建卷,创建一个名为python-request的卷,类型为配置项,然后选择之前创建的python3-request-package
    • 添加一个配置项,选择前面创建的python-request卷,容器目录填在index.py中引入的目录/var/lib/baetyl/python3

测试运行

边缘节点安装,并等待所有Pod全部运行,然后可以使用postman进行调用测试。

在postman的General配置中,关闭SSL certificate verification,使用https,访问边缘节点的31011端口,加上函数应用名称为路径,就能成功调用到文心千帆提供的文心一言模型。其中Body内容,函数计算会进行透传,内容格式可参考ERNIE-Bot-turbo API

截屏2023-09-12 10.46.51.png

上一篇
边缘规则引擎实战
下一篇
配置文件说明