fix workflow bug, disable local LLM temporary.

This commit is contained in:
Liu Zhicong
2023-09-19 00:23:19 -07:00
parent 874aa98e21
commit 56d15fd003
6 changed files with 12 additions and 26 deletions
+1 -1
View File
@@ -95,7 +95,7 @@ class OpenAI_ComputeNode(ComputeNode):
mode_name = task.params["model_name"] mode_name = task.params["model_name"]
prompts = task.params["prompts"] prompts = task.params["prompts"]
max_token_size = task.params.get("max_token_size") max_token_size = task.params.get("max_token_size")
llm_inner_functions = task.params["inner_functions"] llm_inner_functions = task.params.get("inner_functions")
if max_token_size is None: if max_token_size is None:
max_token_size = 4000 max_token_size = 4000
+6 -20
View File
@@ -47,23 +47,18 @@ class TelegramTunnel(AgentTunnel):
super().__init__() super().__init__()
self.is_start = False self.is_start = False
self.tg_token = tg_token self.tg_token = tg_token
#self.bot:Bot = None self.bot:Bot = None
#self.update_queue = None self.update_queue = None
#self.tunnel_id = "tg_tunnel#" + self.app.bot.id
async def _do_process_raw_message(self,bot: Bot, update_id: int) -> int: async def _do_process_raw_message(self,bot: Bot, update_id: int) -> int:
"""Echo the message the user sent."""
# Request updates after the last update_id # Request updates after the last update_id
updates = await bot.get_updates(offset=update_id, timeout=10, allowed_updates=Update.ALL_TYPES) updates = await bot.get_updates(offset=update_id, timeout=10, allowed_updates=Update.ALL_TYPES)
for update in updates: for update in updates:
next_update_id = update.update_id + 1 next_update_id = update.update_id + 1
# your bot can receive updates without messages
# and not all messages contain text
if update.message and update.message.text: if update.message and update.message.text:
# Reply to the message
#logger.info("Found message %s!", update.message.text) await self.on_message(bot,update)
await self.on_message(update)
return next_update_id return next_update_id
return update_id return update_id
@@ -79,15 +74,8 @@ class TelegramTunnel(AgentTunnel):
self.update_queue = asyncio.Queue() self.update_queue = asyncio.Queue()
self.bot_updater = Updater(self.bot,update_queue=self.update_queue) self.bot_updater = Updater(self.bot,update_queue=self.update_queue)
#self.app:Application = Application.builder().token(self.tg_token).build()
#self.app.add_handler(MessageHandler(filters.TEXT, self.on_message))
async def _run_app(): async def _run_app():
#loop = asyncio.new_event_loop()
#asyncio.set_event_loop(loop)
#self.app.run_polling(allowed_updates=Update.ALL_TYPES)
try: try:
update_id = (await self.bot.get_updates())[0].update_id update_id = (await self.bot.get_updates())[0].update_id
except IndexError: except IndexError:
@@ -103,8 +91,6 @@ class TelegramTunnel(AgentTunnel):
# The user has removed or blocked the bot. # The user has removed or blocked the bot.
update_id += 1 update_id += 1
#self.poll_thread = threading.Thread(target=_run_app)
#self.poll_thread.start()
asyncio.create_task(_run_app()) asyncio.create_task(_run_app())
logger.warning(f"tunnel {self.tunnel_id} started.") logger.warning(f"tunnel {self.tunnel_id} started.")
return True return True
@@ -129,7 +115,7 @@ class TelegramTunnel(AgentTunnel):
async def on_message(self, update: Update) -> None: async def on_message(self, bot:Bot, update: Update) -> None:
cm = ContactManager.get_instance() cm = ContactManager.get_instance()
reomte_user_name = f"{update.effective_user.id}@telegram" reomte_user_name = f"{update.effective_user.id}@telegram"
#contact = cm.get_by_name(update.effective_user.username) #contact = cm.get_by_name(update.effective_user.username)
@@ -143,7 +129,7 @@ class TelegramTunnel(AgentTunnel):
agent_msg = await self.conver_tg_msg_to_agent_msg(update) agent_msg = await self.conver_tg_msg_to_agent_msg(update)
agent_msg.sender = reomte_user_name agent_msg.sender = reomte_user_name
self.ai_bus.register_message_handler(reomte_user_name, self._process_message) self.ai_bus.register_message_handler(reomte_user_name, self._process_message)
#await context.bot.send_chat_action(chat_id=update.effective_chat.id, action="thinking") #await bot.send_chat_action(chat_id=update.effective_chat.id, action="typing")
resp_msg = await self.ai_bus.send_message(agent_msg) resp_msg = await self.ai_bus.send_message(agent_msg)
logger.info(f"process message {agent_msg.msg_id} from {agent_msg.sender} to {agent_msg.target}") logger.info(f"process message {agent_msg.msg_id} from {agent_msg.sender} to {agent_msg.target}")
if resp_msg is None: if resp_msg is None:
+1 -1
View File
@@ -126,7 +126,7 @@ class Workflow:
if env_id is None: if env_id is None:
continue continue
remote_env = Environment.get_env_by_id(_node.get(env_id)) remote_env = Environment.get_env_by_id(env_id)
if remote_env is None: if remote_env is None:
logger.error(f"Workflow load connected_env failed, env {env_id} not found!") logger.error(f"Workflow load connected_env failed, env {env_id} not found!")
return False return False
+1 -1
View File
@@ -58,7 +58,7 @@ class CalenderEnvironment(Environment):
def stop(self): def stop(self):
self.is_run = False self.is_run = False
def get_now(self,key:str)->str: def get_now(self)->str:
now = datetime.now() now = datetime.now()
formatted_time = now.strftime('%Y-%m-%d %H:%M:%S') formatted_time = now.strftime('%Y-%m-%d %H:%M:%S')
return formatted_time return formatted_time
@@ -22,7 +22,7 @@ class WorkflowManager:
system_app_dir = AIStorage.get_instance().get_system_app_dir() system_app_dir = AIStorage.get_instance().get_system_app_dir()
user_data_dir = AIStorage.get_instance().get_myai_dir() user_data_dir = AIStorage.get_instance().get_myai_dir()
self.workflow_env = PackageEnvManager().get_env(f"{system_app_dir}/workflows.cfg") self.workflow_env = PackageEnvManager().get_env(f"{system_app_dir}/workflows/workflows.cfg")
self.db_file = os.path.abspath(f"{user_data_dir}/messages.db") self.db_file = os.path.abspath(f"{user_data_dir}/messages.db")
if self.workflow_env is None: if self.workflow_env is None:
raise Exception("WorkflowManager initial failed") raise Exception("WorkflowManager initial failed")
@@ -33,7 +33,7 @@ class WorkflowManager:
async def _load_workflow_agents(self,workflow:Workflow) -> bool: async def _load_workflow_agents(self,workflow:Workflow) -> bool:
for v in workflow.role_group.roles.values(): for v in workflow.role_group.roles.values():
agent = await AgentManager().get(v.agent_name) agent = await AgentManager.get_instance().get(v.agent_name)
if agent is None: if agent is None:
logger.error(f"load agent {v.agent_name} failed!") logger.error(f"load agent {v.agent_name} failed!")
return False return False
+1 -1
View File
@@ -92,7 +92,7 @@ class AIOS_Shell:
llama_ai_node = LocalLlama_ComputeNode() llama_ai_node = LocalLlama_ComputeNode()
await llama_ai_node.start() await llama_ai_node.start()
ComputeKernel.get_instance().add_compute_node(llama_ai_node) #ComputeKernel.get_instance().add_compute_node(llama_ai_node)
await ComputeKernel.get_instance().start() await ComputeKernel.get_instance().start()