olivebot/agent/tools/QueryTimerDB.py
xszyou e48b8d8a2d 第4次更新
1、优化prompt;
2、解决日程删除错误;
3、iotm demo tool整体更新。
2023-12-18 16:52:53 +08:00

42 lines
1.0 KiB
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
class QueryTimerDB(BaseTool, abc.ABC):
name = "QueryTimerDB"
description = "用于查询所有日程返回的数据里包含3个参数:时间、循环规则(如:'1000100'代表星期一和星期五循环,'0000000'代表不循环)、执行的事项"
def __init__(self):
super().__init__()
async def _arun(self, *args: Any, **kwargs: Any) -> Any:
# 用例中没有用到 arun 不予具体实现
pass
def _run(self, para) -> str:
conn = sqlite3.connect('timer.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM timer")
# 获取所有记录
rows = cursor.fetchall()
# 拼接结果
result = ""
for row in rows:
result = result + str(row) + "\n"
conn.commit()
conn.close()
return result
if __name__ == "__main__":
tool = QueryTimerDB()
result = tool.run("")
print(result)