fix workflow bug, disable local LLM temporary.
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user