核心代码

应用模块基于Django 3开发

AppBase为应用的基础类

应用功能编写

from utils.appbase import AppBase
import os, sys

'''
应用所需依赖包安装在应用文件夹内的libs下(以实际运行环境安装依赖包)
打包后通过系统上传可实现热更新
'''
basedir = os.path.dirname(os.path.abspath(__file__))
libdir = os.path.join(basedir, "libs")
sys.path.insert(0, libdir)

import openai

class Openai(AppBase):
    def __init__(self, params):
        super(Openai, self).__init__(params)
        self.__client = openai
        self.__client.api_key = params.get("api_key")

    def _test(self, params):
        # 用于应用状态检测
        return True
    
    def _chat(self, params):
        '''
        1) params为info.json中配置的action parameters
        2) 实际调用会校验参数类型及是否必填
        3) 返回结果直接输入,AppBase类统一处理返回格式及异常
        '''
        response = self.__client.Completion.create(
            engine="text-davinci-002",
            prompt=params.get("message"),
            max_tokens=3000,
            n=1,
            stop=None,
            temperature=0.7,
        )

        message = response.choices[0].text.strip()
        return message

最后更新于