愛招飛數控中心幫助手冊 愛招飛數控中心幫助手冊
  • FastERP-1 (opens new window)
  • Smart (opens new window)
  • PinToo (opens new window)
  • FastWeb (opens new window)
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS (opens new window)
  • MARS (opens new window)
  • TaskRunner (opens new window)
  • Flying (opens new window)
  • FastDesk (opens new window)
  • HiDesk (opens new window)
  • HiNAT (opens new window)
  • FastBPM (opens new window)
  • 數控基礎資料
  • 設備故障診斷
  • 設備最佳運轉效益
  • 企業智能助手SmeGPT
  • 燈號管理
  • 戰情室
  • 能源管理 (opens new window)
  • 人車定位
  • 戰情指揮系統
  • FastERP-1 (opens new window)
  • FastWeb (opens new window)
  • Smart (opens new window)
  • PinToo (opens new window)
  • Flying (opens new window)
  • TARS (opens new window)
  • 通用功能

    • Report (opens new window)
    • Script (opens new window)
    • Echarts (opens new window)
    • Chart (opens new window)
    • DB Install (opens new window)
  • FastERP-1 (opens new window)
  • Smart (opens new window)
  • PinToo (opens new window)
  • FastWeb (opens new window)
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS (opens new window)
  • MARS (opens new window)
  • TaskRunner (opens new window)
  • Flying (opens new window)
  • FastDesk (opens new window)
  • HiDesk (opens new window)
  • HiNAT (opens new window)
  • FastBPM (opens new window)
  • 數控基礎資料
  • 設備故障診斷
  • 設備最佳運轉效益
  • 企業智能助手SmeGPT
  • 燈號管理
  • 戰情室
  • 能源管理 (opens new window)
  • 人車定位
  • 戰情指揮系統
  • FastERP-1 (opens new window)
  • FastWeb (opens new window)
  • Smart (opens new window)
  • PinToo (opens new window)
  • Flying (opens new window)
  • TARS (opens new window)
  • 通用功能

    • Report (opens new window)
    • Script (opens new window)
    • Echarts (opens new window)
    • Chart (opens new window)
    • DB Install (opens new window)
  • 企業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-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式