olivebot/agent/tools/DeleteTimer.py
xszyou a27ab9dfba 第3次更新
更换ReAct agent✓
修复Thread.timer管理逻辑✓
优化提示词减小返回格式出错概率(格式出错会导致重复执行)✓
消息窗里加上执行任务标记✓
更换gpt 3.5模型测试✓
2023-12-14 10:38:08 +08:00

40 lines
925 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import abc
import sqlite3
from typing import Any
import ast
from langchain.tools import BaseTool
from agent import agent_service
class DeleteTimer(BaseTool, abc.ABC):
name = "DeleteTimer"
description = "用于删除某一个定时任务接受任务id作为参数('2')"
def __init__(self):
super().__init__()
async def _arun(self, *args: Any, **kwargs: Any) -> Any:
# 用例中没有用到 arun 不予具体实现
pass
def _run(self, para) -> str:
para = ast.literal_eval(para)
del agent_service.scheduled_tasks[int(para[0])]
conn = sqlite3.connect('timer.db')
cursor = conn.cursor()
cursor.execute(f"DELETE FROM timer WHERE id = {id}")
conn.commit()
conn.close()
return f"{id}任务取消成功"
if __name__ == "__main__":
tool = DeleteTimer()
result = tool.run("1")
print(result)