87ed1c4425
- 升级Agent(chat_module=agent切换):升级到langgraph react agent逻辑、集成到主分支fay中、基于自动决策工具调用机制、基于日程跟踪的主动沟通、支持外部观测数据传入; - 修复因线程同步问题导致的配置文件读写不稳定 - 聊天采纳功能的bug修复
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import sqlite3
|
||
from typing import Any
|
||
|
||
from langchain.tools import BaseTool
|
||
|
||
from llm.agent import agent_service
|
||
|
||
|
||
class DeleteTimer(BaseTool):
|
||
name: str = "DeleteTimer"
|
||
description: str = "用于删除某一个日程,接受任务id作为参数,如:2"
|
||
|
||
def __init__(self):
|
||
super().__init__()
|
||
|
||
def _run(self, para) -> str:
|
||
try:
|
||
id = int(para)
|
||
except ValueError:
|
||
return "输入的 ID 无效,必须是数字。"
|
||
|
||
try:
|
||
with sqlite3.connect('timer.db') as conn:
|
||
cursor = conn.cursor()
|
||
cursor.execute("DELETE FROM timer WHERE id = ?", (id,))
|
||
conn.commit()
|
||
except sqlite3.Error as e:
|
||
return f"数据库错误: {e}"
|
||
|
||
if id in agent_service.scheduled_tasks:
|
||
agent_service.scheduled_tasks[id].cancel()
|
||
del agent_service.scheduled_tasks[id]
|
||
|
||
return f"任务 {id} 取消成功。"
|
||
|
||
|
||
|
||
if __name__ == "__main__":
|
||
tool = DeleteTimer()
|
||
result = tool.run("1")
|
||
print(result)
|