hts/apps/blogai/意图交互服务程序协议.md

6.4 KiB
Raw Permalink Blame History

意图交互服务程序协议

http地址http://14.17.80.241:8088/

post raw body示例

初始化SDK

{
    "messageId": "init",
    "key": "abc",
    "secret": "bcd3lsdf83423948sfd34"
}

返回:

{
    "result": "True",
    "token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhcHBfa2V5IjoiYWJjIiwiZXhwIjoxNzEwMzAwMzQzfQ.0pJx7JeX2aJBkPWVMPjJlL4eV_4mCiscZccoMCw0KuzrLuwxN500n5ZEx355XRLIK7qIqv2WoIyYre1uT497qQ",
    "message": "Initialization OK"
}

websocket地址ws://14.17.80.241:8088/ws/jwt

消息内容示例:

创建会话:

{
    "messageId": "createConversation",
    "key": "abc"
}

返回:

{
    "result": "True",
    "conversationId": "thread_NUV8bFNFjEfdBpYeClHYxTJo",
    "message": "Conversation create succeed"
}

发送消息:

{
    "messageId": "sendMessage",
    "key": "abc",
    "conversationId": "thread_NUV8bFNFjEfdBpYeClHYxTJo",
    "content": "hello"
}

返回:

一般对话:

{
 "messageId": "sendMessage",
 "conversationId": "thread_NUV8bFNFjEfdBpYeClHYxTJo",
 "type": "text",
 "streamStatus": "start"
}

流输出...

{
 "messageId": "sendMessage",
 "conversationId": "thread_NUV8bFNFjEfdBpYeClHYxTJo",
 "type": "text",
 "streamStatus": "end"
}

执行意图指令:

{
    "messageId": "sendMessage",
    "conversationId": "thread_Eo5RsU2tQ0Z2K1t5AizwjiPM",
    "type": "function",
    "functionName": "InquireCryptoPriceFromExchange",
    "functionArgs": "{\"cryptocurrencyType\":\"Bitcoin\",\"exchangeName\":\"Coinbase\",\"quoteCurrency\":\"USD\",\"rateBenchmark\":\"default\"}"
}

执行指令结果反馈:

反馈消息格式:

{
    "messageId": "toolCallsResult",
    "key": "abc",
    "conversationId": "thread_3vvS5fLmui4D6ImdsNh8nt2p",
    "content": "已成功创建比特币单链钱包"
}

返回格式:

{
    "messageId": "toolCallsResult",
    "conversationId": "thread_WySdx2SbouO6cVA9gTnRQ4ja",
    "assistant": "The process of inquiring about the price of Bitcoin on Coinbase was successful. However, the specific price data isn't provided. For detailed price information, you may consider checking directly on the Coinbase platform or through a reliable financial news source."
}

流程先通过http请求进行SDK初始化key和secret验证通过后返回有效时间为30分钟的jwt然后用这个jwt 进行websocket 长连接会话前需先创建会话拿到会话ID后后面发送会话消息需要带上会话ID如果是执行指令消息在收到回复的指令内容之后紧接着需要反馈指令执行的结果


Wallet AI研发设计通信协议草稿V0.32 作者HAILIN ZHAO 关键词意图意图交互系统应用程序GPT自然语言AI iSDK 开发软件包协议:人机意图交互

1.1 意图创建钱包Int CreateWalletWithTypes(para1, para2, para3) 参数1钱包类型

  1. 单链(单币种)私钥钱包
  2. 单链(单币种)助记词钱包
  3. 多链(多币种)私钥钱包
  4. 多签钱包(保留)
  5. 自定义(多币种)助记词钱包 参数2: 币类型 https://github.com/satoshilabs/slips/blob/master/slip-0044.md#slip-0044--registered-coin-types-for-bip-0044 参数2是否启用生物识别
  6. TRUE
  7. FALSE 返回值: a. 成功 b. 失败 i.网络失败 ii.助记词不正确 iii.其他错误

1.2 意图:恢复钱包 Int RecoverWallet (para1para2 ) 参数1钱包构成规则 a. 助记词类型 b. 私钥类型 c. 生物识别类型

参数2: 币类型 https://github.com/satoshilabs/slips/blob/master/slip-0044.md#slip-0044--registered-coin-types-for-bip-0044

返回值: a. 成功 b. 失败 i.密码不正确 ii. 助记词不正确 iii. 其它错误

1.3 意图:收款 Int ShowCryptoAddressReceive(para1) 参数1:加密货币类型

  1. 比特币
  2. 以太坊
  3. …等等 返回值: a. 成功 b. 失败 i.失败原因

1.4 意图:转账 Int TransferCryptoFromTo(para1, para2, para3) 参数1加密货币类型

  1. 比特币
  2. 以太坊
  3. …等等 参数2收款地址 参数3: 转账金额 返回值: c. 成功 d. 失败 i. gas不足 ii. 网络拥堵 iii. 其他失败原因

1.5 意图:查询余额 Int InqueryCryptoBalance(para1)

参数1:加密货币类型

  1. 比特币
  2. 以太坊
  3. …等等 返回值: e. 成功 f. 失败 i.失败原因

1.6 意图:查询交易记录 Int ListHistoryTransactionsUsingDate(para1, para2) 参数1加密货币类型

  1. 比特币
  2. 以太坊
  3. …等等 参数2: 时间参数
    1. 今天的 2.刚才的 3.两天前的 4.本周的 5.本月的 6.全年的 返回值: a. 成功 b. 失败 i.失败原因

1.7 意图:查询代币当前价格 Int InquireCryptoPriceFromExchange(para1, para2, para3, para4) 参数1加密货币类型 4. 比特币 5. 以太坊 6. …等等 参数2: 交易所名 1. Coinbase 2. Binance 3. Okex 4.Coinlist 参数3: 报价单位 1.美元 2.人民币 3.欧元 4.日元 5…. 参数4汇率基准 1.默认基准(系统偏向的基准) 2. 国际银行间中间价 3.纽约 4.伦敦汇率 5. 纽约汇率 6. 欧洲中央银行ECB参考汇率 7. 国际货币基金组织IMF特别提款权SDR汇率 8. 外汇市场直接报价与间接报价 9. 加密货币交易所的直接报价或者C2C报价 返回值: a. 成功 b. 失败 i.失败原因 1.8 意图:查询钱包中代币种类数量 json CountCryptoKindsQuantity(void)

参数1无 返回值: a. 成功则返回一个json字符串 b. 失败返回空串 i.钱包是空的,没有任何加密货币 ii.其他具体原因

1.9 意图:设置交易密码 Int CreatePaymentPin (void) 参数为了安全起见AI不会要求用户直接告诉它交易密码这一功能留给app自己处理 返回值: c. 成功 d. 失败 i.失败原因

1.10 意图:修改交易密码 Int ChangePaymentPin (void) 参数为了安全起见AI不会要求用户直接告诉它交易密码这一功能留给app自己处理 返回值: a. 成功 b. 失败 i.失败原因

1.11 意图:扫描二维码 Int ScanQrCode (void) 参数:无 返回值: a. 成功 b. 失败 i.失败原因

1.12 意图:进行第三方登录 Int LoginHelp (para1) 参数1签名方式

  1. 比特币
  2. 以太坊
  3. …等等

返回值: a. 成功 b. 失败 i.失败原因