2023-10-10 20:47:32 +08:00
|
|
|
import py_trees as ptree
|
|
|
|
from typing import Any
|
2023-10-25 10:34:24 +08:00
|
|
|
from robowaiter.behavior_lib.Behavior import Bahavior
|
2023-10-25 22:12:15 +08:00
|
|
|
from robowaiter.llm_client.ask_llm import ask_llm
|
2023-10-10 20:47:32 +08:00
|
|
|
|
2023-10-25 22:12:15 +08:00
|
|
|
class DealChat(Bahavior):
|
2023-10-17 16:28:36 +08:00
|
|
|
def __init__(self, name: str, scene):
|
2023-10-25 10:34:24 +08:00
|
|
|
super().__init__(name, scene)
|
2023-10-10 20:47:32 +08:00
|
|
|
|
|
|
|
def setup(self, **kwargs: Any) -> None:
|
|
|
|
return super().setup(**kwargs)
|
2023-10-17 16:28:36 +08:00
|
|
|
|
2023-10-10 20:47:32 +08:00
|
|
|
def initialise(self) -> None:
|
|
|
|
return super().initialise()
|
2023-10-17 16:28:36 +08:00
|
|
|
|
2023-10-25 22:12:15 +08:00
|
|
|
def _update(self) -> ptree.common.Status:
|
2023-10-25 10:34:24 +08:00
|
|
|
# if self.scene.status?
|
2023-10-25 22:12:15 +08:00
|
|
|
chat = self.scene.state['chat_list'].pop()
|
|
|
|
answer = ask_llm(chat)
|
|
|
|
print(f"机器人回答:{answer}")
|
|
|
|
self.scene.chat_bubble(f"机器人回答:{answer}")
|
|
|
|
|
|
|
|
return ptree.common.Status.RUNNING
|
2023-10-17 16:28:36 +08:00
|
|
|
|
2023-10-10 20:47:32 +08:00
|
|
|
def terminate(self, new_status: ptree.common.Status) -> None:
|
|
|
|
return super().terminate(new_status)
|