2024-10-08 12:15:04 +00:00
|
|
|
#encoding = utf8
|
|
|
|
import logging
|
|
|
|
|
2024-10-09 12:19:00 +00:00
|
|
|
from asr import AsrObserver
|
2024-10-08 12:15:04 +00:00
|
|
|
from utils import AsyncTaskQueue
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
2024-10-09 12:19:00 +00:00
|
|
|
class NLPBase(AsrObserver):
|
|
|
|
def __init__(self, split):
|
2024-10-08 12:15:04 +00:00
|
|
|
self._ask_queue = AsyncTaskQueue()
|
|
|
|
self._ask_queue.start_worker()
|
2024-10-09 12:19:00 +00:00
|
|
|
self._split_handle = split
|
2024-10-08 12:15:04 +00:00
|
|
|
|
|
|
|
async def _request(self, question):
|
|
|
|
pass
|
|
|
|
|
2024-10-09 12:19:00 +00:00
|
|
|
def process(self, message: str):
|
|
|
|
pass
|
|
|
|
|
|
|
|
def completed(self, message: str):
|
|
|
|
print('complete :', message)
|
|
|
|
self.ask(message)
|
|
|
|
|
2024-10-08 12:15:04 +00:00
|
|
|
def ask(self, question):
|
|
|
|
self._ask_queue.add_task(self._request(question))
|
|
|
|
|
|
|
|
def stop(self):
|
|
|
|
self._ask_queue.stop()
|
|
|
|
|