更新记录

1.0.0(2023-03-27)

1.0.0 上线免VPN调用openAi API,包含问答、对话、文意生图等能力


平台兼容性

阿里云 腾讯云 支付宝云
× ×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


SDK使用说明

前言

接口数据来源为 openAi 官方文档地址 https://platform.openai.com/docs/introduction

如果没有openAi的开发sk可以联系QQ 823825035文档末尾提供有供开发使用的的SK

文档供有一定代码经验的小伙伴使用,如有可QQ 823825035,备注 sdk

请认真看使用文档!!!

请认真看使用文档!!!

请认真看使用文档!!!

演示 Demo / 打赏开发者

测试运行速度:

运行速度录制

起步

  • 导入云函数,上传部署云函数至自己的云服务空间,

  • 建议开启url,可以其他应用调用,pc,h5等

  • 修改接口路径为"/",同时超时时间改为60以上,建议改为 80

示例

1.问答

  • 接口地址:https://xxx.com 你自己的url函数地址

备注:接口地址可自行采用云函数URL化。文档详见:https://uniapp.dcloud.io/uniCloud/http

  • 请求方式:POST

  • 请求头:不会配置请求头请百度一下,没啥技术门槛

    headers = {
      'Content-type': 'application/json;charset=UTF-8',
      'Authorization': "Bearer sk-djfsajfklasfs654646sdf" // openAi获取 sk
    }
  • 请求参数

参数名称 参数说明 是否必填 数据类型 默认值
model 模型名称 string text-davinci-003
prompt 待回答的问题 string
max_tokens 字符最大长度 string 建议 2000

更多参数请参考 openAi官网接口说明文档

示例

const fly = require("flyio")
fly.config.headers['Authorization'] = "Bearer sk-djfsajfklasfs654646sdf";

await fly.post(`https://xxx.com`, 
 { 
    "model": "text-davinci-003", 
    "prompt": "冰山一角", 
    "max_tokens": 2000, 
     "temperature": 0 
 })

// uni request 示例
uni.request({
        url:"", // 你自己的url函数地址
        method:"post",
        data:{
            "model": "text-davinci-003", 
      "prompt": "冰山一角", 
        "max_tokens": 2000, 
      "temperature": 0 
        },
        header:{
            'Authorization': "Bearer sk-djfsajfklasfs654646sdf"
        },
        success:(res)=>{
            console.log(res)
        }
})

2.聊天对话

  • 接口地址:https://xxx.com/chat

备注:接口地址可自行采用云函数URL化。文档详见:https://uniapp.dcloud.io/uniCloud/http

  • 请求方式:POST

  • 请求头:不会配置请求头请百度一下,没啥技术门槛

    headers = {
      'Content-type': 'application/json;charset=UTF-8',
      'Authorization': "Bearer sk-djfsajfklasfs654646sdf" // openAi获取 sk
    }
  • 请求参数

参数名称 参数说明 是否必填 数据类型 默认值
model 模型名称 string gpt-3.5-turbo-0301
messages 对话内容 array

示例

const fly = require("flyio")
fly.config.headers['Authorization'] = "Bearer sk-djfsajfklasfs654646sdf";

await fly.post(`https://xxx.com/chat`, 
 { 
    "model": "gpt-3.5-turbo-0301",
    "messages": [
                { role: "user", content: "冰山一角啥意思" },
                {
                    "role": "assistant",
                    "content": "“冰山一角”意味着一个人或一件事物只显示了一小部分,而完整的情况却远远超出我们的想象。也就是说,我们只看到了“冰山”的上层,而底层的真相和实质却被遮盖住了。"
                },
                { role: "user", content: "那造一个句子吧" },
            ]
 })

// uni request 示例
uni.request({
        url:"",// 你自己的url函数地址
        method:"post",
        data:{ 
    "model": "gpt-3.5-turbo-0301",
    "messages": [
                { role: "user", content: "冰山一角啥意思" },
                {
                    "role": "assistant",
                    "content": "“冰山一角”意味着一个人或一件事物只显示了一小部分,而完整的情况却远远超出我们的想象。也就是说,我们只看到了“冰山”的上层,而底层的真相和实质却被遮盖住了。"
                },
                { role: "user", content: "那造一个句子吧" },
            ]
        },
        header:{
            'Authorization': "Bearer sk-djfsajfklasfs654646sdf"
        },
        success:(res)=>{
            console.log(res)
        }
})

注意:上下文对话时需要将之前的对话也放入参数中: messages

3.文意生图

  • 接口地址:https://xxx.com/images

备注:接口地址可自行采用云函数URL化。文档详见:https://uniapp.dcloud.io/uniCloud/http

  • 请求方式:POST

  • 请求头:不会配置请求头请百度一下,没啥技术门槛

    headers = {
      'Content-type': 'application/json;charset=UTF-8',
      'Authorization': "Bearer sk-djfsajfklasfs654646sdf" // openAi获取 sk
    }
  • 请求参数

参数名称 参数说明 是否必填 数据类型 默认值
n 模型名称 number 1
prompt 图片描述 string
size 字符最大长度 string

更多参数请参考 openAi官网接口说明文档

示例

const fly = require("flyio")
fly.config.headers['Authorization'] = "Bearer sk-djfsajfklasfs654646sdf";

await fly.post(`https://xxx.com/images`, 
 { 
     "prompt":"长腿大美女",
     "n": 2,
     "size": "256x256"
 })

// uni request 示例
uni.request({
        url:"",// 你自己的url函数地址
        method:"post",
        data:{ 
     "prompt":"长腿大美女",
     "n": 2,
     "size": "256x256"
        },
        header:{
            'Authorization': "Bearer sk-djfsajfklasfs654646sdf"
        },
        success:(res)=>{
            console.log(res)
        }
})

4.其他能力

其他能力比如语音转文本、图片编辑等有需要可以加QQ联系

供测试的地址

SK:"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"

await fly.post("https://fc-mp-2f0d48ab-d929-4cc0-95a3-4a6bd2716330.next.bspapp.com/images", 
 { 
     "prompt":"长腿大美女",
     "n": 2,
     "size": "256x256"
 })

// uni request 示例
uni.request({
        url:"https://fc-mp-2f0d48ab-d929-4cc0-95a3-4a6bd2716330.next.bspapp.com/images",
        method:"post",
        data:{ 
     "prompt":"长腿大美女",
     "n": 2,
     "size": "256x256"
        },
        header:{
            'Authorization': "Bearer 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"
        },
        success:(res)=>{
            console.log(res)
        }
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问