检索(socketio)

## 监听事件(request) 名称:`SUM_CS` 字段: |名称|类型|说明| |-|-|-| |text|str|输入问题| |room|str|聊天室id,可为空| 示例: ```json { "text": "身份证丢了应该怎么办?", } ``` ```json { "text": "身份证丢了应该怎么办?", "room": "12345", "dialogue": "67890", "upload_id": "" } ``` ## 发送文本事件(response) 名称:`SUM_SS` 字段: <table> <tr> <td>名称</td> <td>类型</td> <td>名称</td> </tr> <tr> <td rowspan="4">data</td> <td>finish_reason</td> <td>发送状态</td> </tr> <tr> <td>delta</td> <td>输出内容</td> </tr> <tr> <td>room</td> <td>聊天室id</td> </tr> <tr> <td>received</td> <td>其他包装字段</td> </tr> </table> 示例: ```json { 'data': { 'room': '_MBGEEmVEuj9IY6IAAAV', 'received': { 'text': '身份证丢了怎么办', 'prompt': '材料:特种设备', 'sid': '_MBGEEmVEuj9IY6IAAAV', 'room': '_MBGEEmVEuj9IY6IAAAV', 'dialogue': '_MBGEEmVEuj9IY6IAAAV', 'upload_id': '', 'clue': None, 'alter': None, 'history': None }, 'delta': '身份证丢了,可以采取以下步骤:<br><br>1.立即报警:如果身份证被盗窃或丢失,应该立即报警,警方可以帮助找回。<br><br>2.挂失并更新身份证:如果不需要身份证,可以考虑先挂失。在挂失之前,建议先咨询当地警察局,了解挂失的选项和程序。还可以更新身份证,以便在需要时能够使用新的身份证。<br><br>3.咨询当地警察局:每个地区都有自己的警察局,可以咨询当地警察局以获取有关如何挂失、更新和找回身份证的建议和指导。<br><br>4.联系律师:如果需要法律保护,可以联系律师以获取有关法律规定和程序的建议。<br><br>5.寻找备用身份证:备用身份证可能是有用的,特别是在紧急情况下。可以寻找其他家庭成员或朋友的帮助,获取备用身份证。<br><br>请注意,以上步骤只是提供参考,具体取决于所在地区和情况。', 'finish_reason': 'stop' } } ``` ## 示例请求代码 ```bash python3 pocketqa.socketio.test.py 123.125.240.150 51074 报关企业已办理报关单位备 SUM_CS ``` 输出截图 ![image.png](https://cos.easydoc.net/28708614/files/liiwos3u) 示例代码 ```python # -*- coding: utf-8 -*- import json # import threading import socketio # 创建Socket.IO客户端实例 sio = socketio.AsyncClient() # 定义一个用于异步发送消息的函数 async def send_message(message, event_name): await sio.emit(event_name, message) # # 在新线程中发送消息 # t = threading.Thread(target=sio.emit, args=('message', message)) # t.start() # 处理 "message" 事件 @sio.on('CHAT_SS') async def receive_message(response): print('Received response: ', response) @sio.on('SUM_SS') async def receive_message(response): print('Received response: ', response) @sio.on('QA_SS') async def receive_message(response): print('Received response: ', response) @sio.on('GEN_SS') async def receive_message(response): print('Received response: ', response) # 连接到服务器 async def start_server(ip, port, text): await sio.connect(f'http://{ip}:{port}/', wait=30) # 发送消息 param = {"text":text, 'sid':'1234567', 'upload_id':''} await send_message(json.dumps(param)) await sio.wait() if __name__ == '__main__': ip = '0.0.0.0' port = '6006' text = '增城市的养老院有哪些' event = 'CHAT_CS' import sys if len(sys.argv) > 1: ip = sys.argv[1] if len(sys.argv) > 2: port = sys.argv[2] if len(sys.argv) > 3: text = sys.argv[3] if len(sys.argv) > 4: event = sys.argv[4] import asyncio loop = asyncio.get_event_loop() loop.run_until_complete(start_server(ip, port, text, event)) ```