爱招飞数控中心帮助手册 爱招飞数控中心帮助手册
首页
数控基础资料
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 工具配置项
    • 数据集与连接
    • 消息推送
    • 大屏报表示例
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 爱招飞产品集成
    • 第三方集成
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 整合运用
    • 即时通讯接入
首页
数控基础资料
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 工具配置项
    • 数据集与连接
    • 消息推送
    • 大屏报表示例
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 爱招飞产品集成
    • 第三方集成
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 整合运用
    • 即时通讯接入
  • 企业GPT帮助手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 整合运用
      • 1. 爱招飞产品与企业GPT的整合运用(API)
        • 1.1. 获取API规格信息
        • 1.2. 获取提示词模板
        • 1.3. 获取聊天记录分组信息
        • 1.4. 获取tag列表
        • 1.5. 获取训练数据集
        • 1.6. 获取知识库
        • 1.7. 获取即时通讯记录信息
        • 1.8. 获取工具信息
        • 1.9. 更新回答信息
        • 1.10. 更新模型运行记录
        • 1.11. 创建监控警报
        • 1.12. 更新监控警报
        • 1.13. 结束监控警报
        • 1.14. 更新提示词语句
        • 1.15. 更新即时通讯运行记录
        • 1.16. 更新模型训练运行记录
      • 2. Python API 的整合运用(监控、服务运行)
        • 2.1. 启动、停止 Line 服务
        • 2.2. 启动、停止 gpt_bot 的服务
        • 2.3. 重新启动GPT_BOT服务
        • 2.4. WeChat 服务重启
        • 2.5. LineBot 服务重启
        • 2.6. 模型服务
        • 2.7. 微调服务
        • 2.8. 同步、设置参数信息
      • 3. Python API 的整合运用(GPT服务)
        • 3.1. HTTP API (目前仅支持局域网地址访问):
        • 3.1.1. 文件访问(用于提供知识库文本的传输)
        • 3.1.2. Langchain Agent 服务
        • 3.1.3. Langchain 知识库问答服务
        • 3.2. WebSocket API
        • 3.2.1. 知识库问答
        • 3.2.2. APIChain 使用
        • 3.2.3. 修改 API 规格
        • 3.2.4. 修改 Agent 工具描述
        • 3.2.5. 修改 通讯方式设定
        • 3.2.6. 聊天模式
        • 3.2.7. 使用提示词模板
        • 3.2.8. 使用 Agent 运行
        • 3.2.9. 保存知识库 生成向量存储文件
        • 3.2.10. 删除知识库
        • 3.2.11. 知识库压缩包合并为文本
      • 4. Python API 整合运用(语音服务)
        • 4.1. 文件访问(仅本机地址可访问):
        • 4.2. 专门面向聊天工具使用的RestAPI
        • 4.2.1. 语音识别为文字
        • 4.2.2. 文字合成为语音
        • 4.3. 输入音频文件流返回识别结果
        • 4.4. 爱招飞IsoBean运用
        • 4.4.1. 发送即时信息
        • 4.4.2. 更新日志记录
        • 4.4.3. 数据库更新日志记录
        • 4.4.4. 更新模型记录
        • 4.4.5. 更新模型回答
    • 即时通讯接入
目录

整合运用

# 整合运用

  以下将介绍企业GPT如何与爱招飞产品以及第三方软件实现整合运用。

# 1. 爱招飞产品与企业GPT的整合运用(API)

  在爱招飞产品中,可以自行定义数据接入的API,实现企业GPT相关的数据的输入。目前支持自定API的产品有爱招飞的 FastWeb (opens new window) 以及 TaskRunner (opens new window)。以下将介绍企业GPT支持输出的API的说明。

# 1.1. 获取API规格信息

  根据API编号获取API规格信息的描述。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_api 是
apicode API的编号 是
  • 返回结果示例(返回结果中的content是API的定义说明):
{
	"status": "ok",
	"exceltime": "2023-10-18 13:59:27",
	"tabledata": [
		{
			"id": "82CF60E1-6404-43EC-8D1C-B819B25264AB",
			"groupid": "Root",
			"code": "aipid",
			"name": "PID控制器",
			"time": "2023-07-05T16:27:50.263Z",
			"url": null,
			"httptype": null,
			"content": "API documentation:\r\n\r\nBASE URL: http://127.0.0.1:8123\r\n\r\nEndPoint:/bestvalue\r\n\r\nThis endpoint provides prase the PID Controller mininum of sumweight value,and the Kp、Ki、Kd、Setpoint Value.\r\n\r\nQuery parameters table(don't generate any other parameters not in the list):\r\nRequest parameters\r\nkpmin | the Kp Value Min. default value is 5.\r\nkpmax | the Kp Value Max. default value is 30.\r\nkpstep | the Kp Value increase Step.default value is 0.1.\r\nkimin | the Ki Value Min. default value is 5.\r\nkimax | the Ki Value Max. default value is 25.\r\nkistep | the Ki Value increase Step. default value is 0.1.\r\nkdmin | the Kd Value Min. default value is 0.\r\nkdmax | the Kd Value Max. default value is 0.\r\nkdstep | the Kd Value increase Step. default value is 0.1.\r\nsetpointmin | the Setpoint Value Min. default value is 30.7.\r\nsetpointmax | the setpoint Value Max. default value is 30.7.\r\nsetpointstep | the setpoint Value increase Step. default value is 0.1\r\n\r\nResponse schema (JSON object):\r\nisfinish | bool | is the prediction finished.\r\nmin_kp | float | when the sumweight is min. the kp value is.\r\nmin_ki | float | when the sumweight is min. the ki value is.\r\nmin_kd | float | when the sumweight is min. the kd value is.\r\nmin_setpoint | float | when the sumweight is min. the setpoint value is.\r\nmin_sumweight| float | when the sumweight is min. the sumweight value is.\r\n",
			"isuse": true
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 1.2. 获取提示词模板

  根据提示词模板编号获取提示词模板的内容。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_get_prompttempate 是
promptcode 提示词模板的编号 是
  • 返回结果示例(返回结果中的template是模板的说明):
{
	"status": "ok",
	"exceltime": "2023-10-18 14:06:38",
	"tabledata": [
		{
			"id": "00FAAAA8-DD19-43A4-A3A5-B8525B4297F1",
			"groupid": "61615F6F-844D-404C-9E64-440A489D14C7",
			"code": "W-0002",
			"name": "提供改善生产力的建议",
			"time": "2023-07-21T14:11:38.563Z",
			"template": "你是一名工作生产力专家,我目前有工作生产力不佳的问题,我时常会遇到这个问题:{question},请提供我改善生产力的具体建议。\r\n",
			"example": null,
			"isuse": true
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 1.3. 获取聊天记录分组信息

  根据提供的信息获取聊天记录分组,如果提供的分组在数据库中不存在,则重新创建分组。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_get_service_recordgroup 是
username 用户名称 是
name 分组名称 否
  • 返回结果示例
{
	"status": "ok",
	"exceltime": "2023-10-18 14:21:31",
	"tabledata": [
		{
			"id": "04636A11-3772-4D82-AD96-5A454F92B3B0",
			"userid": null,
			"username": "demo",
			"name": "你好",
			"createtime": "2023-08-10T21:04:53.677Z",
			"updatetime": "2023-08-10T21:05:19.897Z"
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 1.4. 获取tag列表

  根据提供的信息获取已在线的isobean,tag列表,用于向isobean发送实时监控数据。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_get_taglist 是
modulecode Bean模块的编号 是
  • 返回结果示例(其中的 tag 就是所需的tag信息)
{
	"status": "ok",
	"exceltime": "2023-10-18 14:27:17",
	"tabledata": [
		{
			"guid": "Hc3FH1gNPT10D8495CA#@@#O7F",
			"moduleguid": "E1E66E33-77AC-470D-9760-D07628C9D24C",
			"modulecode": "wb-vis-0043_gptbot",
			"modulename": "GPT智能助手",
			"moduletype": "BEAN",
			"jsname": "O7F",
			"sid": "Hc3FH1gNPT10D8495CA",
			"username": "demo",
			"token": "3A2E2A30898F96DB46B4780240A5A182",
			"createtime": "2023-10-18T14:26:58.000Z",
			"tag": "AEDE1D9E-5586-4EE2-906C-FE859E3D4FA6",
			"userkey": "D795B2B5-67C0-4674-9961-4AA574311C8D",
			"isobeanno": null
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 1.5. 获取训练数据集

  用于获取数据库中存储的训练数据。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_get_traindata 是
traincode 训练数据集的编号 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:31:36",
	"tabledata": [
		{
			"instruction": "你好!",
			"input": "",
			"output": "你好!有什么我可以帮助你的吗?"
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11

# 1.6. 获取知识库

  用于获取数据库中存储的知识库的基础信息。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_knowledge 是
knowledgecode 知识库的编号 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:38:22",
	"tabledata": [
		{
			"id": "E34DE857-C2A6-4102-B98E-9049877C19C2",
			"groupid": "7D0A504D-9A8F-44E3-AB44-02D294DFF7E9",
			"knowledgetype": "txt",
			"code": "erp",
			"name": "erp",
			"time": "2023-08-29T10:56:41.440Z",
			"note": null,
			"data": null,
			"isuse": true,
			"fileurl": "files/doc/gpt/erp.txt",
			"isvectorstore": true,
			"iszip": true
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 1.7. 获取即时通讯记录信息

  用于获取数据库中存储的即时通讯记录信息。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_sms 是
smscode 即时通讯记录的编号 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:43:10",
	"tabledata": [
		{
			"id": "B949F351-FBAE-4091-9733-DB7B2692D04C",
			"groupid": "CC29B794-BCFA-442C-8A56-37B0582DAC95",
			"code": "wechatmp",
			"name": "微信公众号",
			"content": "#微信公众号机器人服务的相关选项\r\n[WeChat_Server]\r\nHOST = 0.0.0.0\r\n# 微信公众号仅支持使用80端口,所以此处设置的端口需使用其他反向代理工具来设置比如Nginx\r\nPORT = 8080\r\nWECHAT_REMOTE_SERVER = \r\n# 微信公众号的相关设置\r\n[WeChat_MP]\r\nTOKEN = \r\nAPP_ID = \r\nAPP_SECRET = \r\nENCODING_AES_KEY = \r\n# 设置语言模型的接入方式\r\n# 选项包含agent(使用agent接入) knowledgebase (使用知识库接入)\r\nLLM_MODE = knowledgebase\r\n# 如果使用knowledgebase接入,设置默认使用的知识库,使用FastWeb中的知识库编号\r\nKNOWLEDGEBASE = isoface_cn\r\n# 设置语音的类型,可选择以下类型\r\n# zhitian_emo 甜美女声\r\n# zhizhe_emo 精神男声\r\n# zhiyan_emo 中气女声\r\n# zhibei_emo 女声\r\nTTS_CHARACTER = zhitian_emo\r\n",
			"skey": null,
			"ssecret": null,
			"isuse": true,
			"time": "2023-07-11T15:43:04.797Z"
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 1.8. 获取工具信息

  用于获取数据库中存储的工具信息。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_tool 是
toolcode 工具的编号 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00",
	"tabledata": [
		{
			"id": "052F0990-4A31-48D5-B828-AF923225009C",
			"groupid": "3CADD048-0BD8-47C0-862C-53CD07733B5C",
			"code": "aipid",
			"name": "PID类型",
			"isuse": true,
			"content": "def aipid(text: str) -> str:\r\n    \"\"\"Returns API Calling, use this for any \\\r\n    questions related to data analyzing from API. \\\r\n    The input text should be the Human ORIGINAL input, \\\r\n    and this function will always return analyze  \\\r\n    result.\"\"\"\r\n    chain_new = PureAPIChain.from_llm_and_api_docs(llm, api_docs.AIPID_DOCS, headers=headers, verbose=True)\r\n    return str(chain_new(text))\r\n",
			"time": "2023-08-05T14:14:39.443Z"
		}
	]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 1.9. 更新回答信息

  将回答的信息插入到数据库的问答记录中。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_completition 是
  • body
名称 说明 是否必须
guid 问答记录的唯一编号信息 是
completion 回答的文本 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.10. 更新模型运行记录

  更新模型运行记录。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_modlelog 是
  • body
名称 说明 是否必须
guid 运行记录的唯一编号信息 是
isfinish 是否已结束运行 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.11. 创建监控警报

  创建新的监控警报信息。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_set_monitor_alarm 是
sid 设备的名称 是
alarmtype 报警类型 是
description 报警描述信息 是

# 1.12. 更新监控警报

  更新新的监控警报信息。

  • method: GET
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_monitor_alarm 是
  • body
名称 说明 是否必须
id 警报记录的唯一编号信息 是
duration 警报记录的持续时间 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.13. 结束监控警报

  结束特定监控警报信息。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_finish_monitor_alarm 是
  • body
名称 说明 是否必须
id 警报记录的唯一编号信息 是
duration 警报记录的持续时间 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.14. 更新提示词语句

  更新分组提示词语句信息。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_prompt 是
  • body
名称 说明 是否必须
username 用户名称 是
groupid 分组ID 是
prompt 提示词语句 是
isuseagent 是否使用代理 是
servicesmsid 提问发布的渠道信息 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.15. 更新即时通讯运行记录

  更新即时通讯的运行记录信息。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_smslog 是
  • body
名称 说明 是否必须
guid 即时通讯记录ID 是
isfinish 是否为结束状态 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 1.16. 更新模型训练运行记录

  更新模型训练运行记录信息。

  • method: POST
  • endpoint /
  • contenttype: application/json
  • query params:
名称 说明 是否必须
restapi 指定参数名称,此项需指定为 gpt_update_trainlog 是
  • body
名称 说明 是否必须
guid 模型训练记录ID 是
isfinish 是否为结束状态 是
modelpath 模型路径 是
groupid 分组ID 是
  • 返回结果示例:
{
	"status": "ok",
	"exceltime": "2023-10-18 14:47:00"
}
1
2
3
4

# 2. Python API 的整合运用(监控、服务运行)

以下的服务默认为连接至 FastWeb 的 WebSocket 服务端,并且注册连接 ID 为 main_websocket。

如需要向 API 发送信息,请遵循以下的内容格式:

{
    "action": "msg",
    "sid": "main_websocket",
    "text": "{TEXT}"
}
``

其中的 "{TEXT}" 是 json 的文本串,如果组装为 text 的取值,则需要对其中出现的特殊符号作转义处理,比如 {"hello":"hi"} , 实际写成 

```json
    "action": "msg",
    "sid": "main_websocket",
    "text": "{\"hello\":\"hi\"}"
1
2
3
4
5
6
7
8
9
10
11
12
13

以下内容仅介绍 json 文本串中出现的参数的设定。

# 2.1. 启动、停止 Line 服务

启动停止通讯服务。

名称 说明 是否必须
guid 运行记录编号 是
sms 运行模式,True表示运行,False表示停止。 是
smscode 即时通讯服务的编号,目前支持 linebot, wechatmp 是

# 2.2. 启动、停止 gpt_bot 的服务

名称 说明 是否必须
gpt_bot 运行 gpt_bot,True 表示启动,False 表示停止 是

# 2.3. 重新启动GPT_BOT服务

名称 说明 是否必须
username 用户名,FastWeb 是
tag 用户标签 是
gpt_bot_restart 是否使用重启 是

# 2.4. WeChat 服务重启

名称 说明 是否必须
username 用户名,FastWeb 是
tag 用户标签 是
wechatmp_restart 是否使用重启 是

# 2.5. LineBot 服务重启

名称 说明 是否必须
username 用户名,FastWeb 是
tag 用户标签 是
linebot_restart 是否使用重启 是

# 2.6. 模型服务

名称 说明 是否必须
guid 模型运行记录ID 是
model_service 运行模型服务 是
modelpath 模型路径 是
username 用户名,FastWeb 是
tag 用户标签 是

# 2.7. 微调服务

名称 说明 是否必须
guid 模型运行记录ID 是
finetune 是否启用模型微调 是
traincode 训练库编号 是
groupid 群组ID 是
username 用户名,FastWeb 是
tag 用户标签 是
originalmodelpath 原模型路径 是
batch_size 批次大小 是
gradient_steps 梯度 是
logging_steps 日志步长 是
save_steps 保存步长 是
learning_rate 学习率 是
train_epochs 迭代次数 是

# 2.8. 同步、设置参数信息

名称 说明 是否必须
monitor_option 监控选项,有 get 与 set 是
username 用户名,FastWeb 是
tag 用户标签 是
language set 选项必须使用,语言选项 否
monitor_cycle set 选项必须使用,监控时间间隔 否
alarm_cpuutil_threshold set 选项必须使用,CPU使用量上限限制 否
alarm_cpuutil_threshold_time set 选项必须使用,CPU使用量上限持续时长 否
alarm_cpuram_threshold set 选项必须使用,内存使用率上限限制 否
alarm_cpuram_threshold_time set 选项必须使用,内存使用率持续时长 否
alarm_gpuutil_threshold set 选项必须使用,GPU使用率上限限制 否
alarm_gpuutil_threshold_time set 选项必须使用,GPU使用率持续时长 否
alarm_gpuram_threshold set 选项必须使用,GPU显存上限限制 否
alarm_gpuram_threshold_time set 选项必须使用,GPU显存持续时长 否
alarm_email_enable set 选项必须使用,是否启用邮件功能 否
smtp_server set 选项必须使用,SMTP 服务器 否
smtp_port set 选项必须使用,SMTP 服务器端口 否
smtp_username set 选项必须使用,SMTP 用户名 否
smtp_password set 选项必须使用,SMTP 密码 否
smtp_tls set 选项必须使用, SMTP TLS 功能 否
from_address set 选项必须使用,来源邮件 否
to_address set 选项必须使用,发送邮件 否

# 3. Python API 的整合运用(GPT服务)

  GPT_BOT中的服务分为HTTP API 与 WebSocket API,以下将分别介绍。

# 3.1. HTTP API (目前仅支持局域网地址访问):

本机地址: http://192.168.0.146:8100

# 3.1.1. 文件访问(用于提供知识库文本的传输)

method: GET endpoint: /file/{filename} endpoint: /temp/{filename}

# 3.1.2. Langchain Agent 服务

此项是为公共的聊天服务设置的HTTP API,为内部使用

method: POST endpoint: /agent

  • contenttype: application/json
  • body: JSON object,使用的参数如下
名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
agent 是否使用agent模式,需设置为 True 才能正常使用 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否

# 3.1.3. Langchain 知识库问答服务

此项是为公共的聊天服务设置的HTTP API 为内部使用

method: POST endpoint: /knowledgebase

  • contenttype: application/json
  • body: JSON object,使用的参数如下
名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
knowledgebase 是否使用知识库模式,需设置为 True 才能正常使用 是
knowledgecode 使用的知识库编号 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否

# 3.2. WebSocket API

以下的服务默认为连接至 FastWeb 的 WebSocket 服务端,并且注册连接 ID 为 gpt_bot。

如需要向 API 发送信息,请遵循以下的内容格式:

{
    "action": "msg",
    "sid": "gpt_bot",
    "text": "{TEXT}"
}
``

其中的 "{TEXT}" 是 json 的文本串,如果组装为 text 的取值,则需要对其中出现的特殊符号作转义处理,比如 {"hello":"hi"} , 实际写成 

```json
    "action": "msg",
    "sid": "gpt_bot",
    "text": "{\"hello\":\"hi\"}"
1
2
3
4
5
6
7
8
9
10
11
12
13

以下内容仅介绍 json 文本串中出现的参数的设定。

# 3.2.1. 知识库问答

发送提问信息后,根据知识库的内容回答,回答也通过 WebSocket 输出,发送至智能助手的 Bean 界面

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
tag 标签记号,设置发送给某个编号 是
knowledgecode 使用的知识库编号 是
knowledgetype 知识库文件的扩展名 是
fileurl 知识库文件的地址 否
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否
temperature 回答的随机度 是
max_tokens 最大的输出词元数量 是
top_p top_p数值 是
stream 是否使用流式输出 是

# 3.2.2. APIChain 使用

语言模型根据需求,呼叫API获取数据。

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
tag 标签记号,设置发送给某个编号 是
apicode API规格编号 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否
temperature 回答的随机度 是
max_tokens 最大的输出词元数量 是
top_p top_p数值 是

# 3.2.3. 修改 API 规格

发送此消息后,可实现 API 规格说明文件的修改。

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
tag 标签记号,设置发送给某个编号 是
apicode API规格编号 是
editapicode 是否编辑 API 规格描述,如果此项为 False, 则表示删除对应的 API 规格描述文本 是

# 3.2.4. 修改 Agent 工具描述

发送此消息后,可实现 API 规格说明文件的修改。

名称 说明 是否必须
username 发送消息的用户编号,对应FastWeb中的用户名 是
tag 标签记号,设置发送给某个编号 是
apicode API规格编号 是
editapicode 是否编辑 API 规格描述,如果此项为 False, 则表示删除对应的 API 规格描述文本 是

# 3.2.5. 修改 通讯方式设定

发送此信息后,可实现公共聊天机器人的设定修改。

名称 说明 是否必须
username 发送消息的用户编号,对应FastWeb中的用户名 是
tag 标签记号,设置发送给某个编号 是
smscode 公共聊天编号 是
editsmscode 是否编辑 聊天机器人设定,如果此项为 False, 则表示删除对应的设置信息 是

# 3.2.6. 聊天模式

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
tag 标签记号,设置发送给某个编号 是
chatmode 是否为聊天模式 是
stream 是否以流式输出 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否
temperature 回答的随机度 是
max_tokens 最大的输出词元数量 是
top_p top_p数值 是

# 3.2.7. 使用提示词模板

使用提示词模板向语言模型提问。

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
tag 标签记号,设置发送给某个编号 是
promptcode 使用的提示词编号 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否
temperature 回答的随机度 是
max_tokens 最大的输出词元数量 是
top_p top_p数值 是

# 3.2.8. 使用 Agent 运行

使用Agent运行

名称 说明 是否必须
guid 回答记录的唯一ID,用于指示向数据库插入记录的ID 是
prompt 提示语句的内容 是
tag 标签记号,设置发送给某个编号 是
agent 是否使用Agent模式 是
lang 设置语言模型回答使用的语言,默认为 zh-cn,如要使用繁体中文回复设置为 zh-tw 否

# 3.2.9. 保存知识库 生成向量存储文件

保存文件时,用于生成向量存储文件

名称 说明 是否必须
username 发送消息的用户名 是
knowledgecode 知识库编号 是
vectorstore_build 是否设置向量存储,默认为 True 是
knowledgetype 知识库文件的扩展名 是
fileurl 获取知识库文件的地址(FastWeb的相对地址) 是
tag 发送的标记编号 是

# 3.2.10. 删除知识库

如果删除了知识库的设定,同步删除知识库文件以及对应生成的向量存储。

名称 说明 是否必须
delete_file 是否删除文件 是
knowledgecode 知识库编号 是
knowledgetype 知识库文件的扩展名 是

# 3.2.11. 知识库压缩包合并为文本

名称 说明 是否必须
knowledgecode 知识库编号 是
iszip 是否为压缩包 是
knowledgetype 知识库文件的扩展名 是
fileurl 获取知识库文件的地址(FastWeb的相对地址) 是
username 发送消息的用户名 是
tag 发送的标记编号 是

# 4. Python API 整合运用(语音服务)

语音识别与语音合成服务使用语音识别与TTS语音合成的模型,

本机示例地址: http://192.168.0.146:8333

提供以下几种方式访问运行:

# 4.1. 文件访问(仅本机地址可访问):

method: GET endpoint: /audio/{filename}

# 4.2. 专门面向聊天工具使用的RestAPI

# 4.2.1. 语音识别为文字

  • method: POST
  • endpoint /voice_tts
  • contenttype: application/json
  • body: JSON object,使用的参数如下
名称 说明 是否必须
sid 发送客户端的websocket SID 否
guid 发送的唯一ID 否
smscode 使用的聊天工具的类型 否
fileurl 识别的音频文件的URL地址,地址需为服务能访问到的地址,文件格式必须为wav 是
filename 文件的名称 是
language 识别结果的语言,默认值为zh-cn,可设置为zh-tw 否
  • 返回结果示例:
{
    "text":"你好。",
    "text_postprocessed":"你好",
    "sentences": []
}
1
2
3
4
5

# 4.2.2. 文字合成为语音

  • method: POST
  • endpoint /voice_tts
  • contenttype: application/json
  • body: JSON object,使用的参数如下
名称 说明 是否必须
sid 发送客户端的websocket SID 否
guid 发送的唯一ID 否
smscode 使用的聊天工具的类型 否
response 需要合成的文本内容 是
filename 输出文件的名称 是
  • 返回结果示例:
{
    "guid":"test",
    "smscode":"wechatmp",
    "audiofile":"audio_reply.wav"
}
1
2
3
4
5

# 4.3. 输入音频文件流返回识别结果

  此项功能是企业GPT智能助手的语音识别功能的实现方法。

  • method: POST
  • endpoint /voice_stream
  • contenttype: multipart/form-data
  • body: form表单数据使用的参数如下
名称 说明 是否必须
audio 发送的音频文件(其中包含了文件名与文件本体) 是
language 识别结果的语言类型,默认值为zh-cn,可设置为zh-tw 否
  • 返回结果示例:
{
    "text":"你好。",
    "text_postprocessed":"你好",
    "sentences": []
}
1
2
3
4
5

# 4.4. 爱招飞IsoBean运用

  爱招飞的GPT智能助手使用isobean功能实现,企业GPT服务端使用websocket功能向智能助手页面发送信息,实现实时监控数据的更新、GPT回答信息的动态更新等相关的功能。企业GPT服务运行时产生的日志信息也通过websocket发送,这样在查看日志界面可以看到运行的日志信息。

# 4.4.1. 发送即时信息

  以下方法适用于发送即时消息,发送的消息会显示于FastWeb主界面。

{"username":username,"action":"callback","tag":tag, 
                        "data":{"callbackcomponent":"WebHomeFrame","callbackeventname":"update", 
                        "callbackparams":[{"paramname":"messagetype","paramvalue":"success"},{"paramname":"title","paramvalue":"success"},{"paramname":"message","paramvalue":"监控配置修改成功"}]}}
1
2
3

  可使用的参数说明如下:

参数名称 说明
title 弹窗的类型,success:成功 warning:警告 error:错误
message 弹窗显示的文本内容

# 4.4.2. 更新日志记录

  更新平台日志的信息。

{"username":"demo","action":"callback","tag":guid,"data":{"callbackcomponent":beancode,         "callbackeventname":"update","callbackparams":[{"paramname":"log_message","paramvalue":log_message}]}}
1

  可使用的参数说明如下:

参数名称 说明
guid 运行记录的ID
beancode 呼叫日志模块的编号,目前设定为 wb-vis-0044_logdata
log_message 待更新的日志信息

# 4.4.3. 数据库更新日志记录

  新增数据库中的运行日志详细信息。

{"action":"execsql","db_name":"demo","sql_command_id":"gpt_updatelog","params" 
:[{"name":"sourceid","value":guid},{"name":"logdata","value":log_message}]}
1
2

  可使用的参数说明如下:

参数名称 说明
guid 运行记录的ID
log_message 待更新的日志信息

# 4.4.4. 更新模型记录

  模型更新的记录格式如下:

{"action":"execsql","db_name":"demo","sql_command_id":"gpt_updatemodel","params" 
:[{"name":"id","value":params['guid']},{"name":"modelpath","value":modelfolder}]
1
2

  可使用的参数说明如下:

参数名称 说明
id 模型运行记录的ID
modelfolder 模型的目录路径

# 4.4.5. 更新模型回答

  更新模型的回答记录。

{"username":"demo","action":"callback","tag":tag,"data":{"callbackcomponent":"wb-vis-0043_gptbot","callbackeventname":"updateresponse","callbackparams":[{"paramname":"response","paramvalue":response}]}}
1

  可使用的参数说明如下:

参数名称 说明
tag 智能助手标签
response 模型的回答信息
功能介绍
即时通讯接入

← 功能介绍 即时通讯接入→

Copyright © 2021-2024 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式