feat: Add full logs tool. (#16)
parent
a7870eee62
commit
9f798d2778
@ -0,0 +1,47 @@
|
|||||||
|
import json
|
||||||
|
from collections.abc import Generator
|
||||||
|
from typing import Any, Optional
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
|
from configs import dify_config
|
||||||
|
from core.tools.builtin_tool.tool import BuiltinTool
|
||||||
|
from core.tools.entities.tool_entities import ToolInvokeMessage
|
||||||
|
|
||||||
|
|
||||||
|
class QueryFullLogsTool(BuiltinTool):
|
||||||
|
def _invoke(
|
||||||
|
self,
|
||||||
|
user_id: str,
|
||||||
|
tool_parameters: dict[str, Any],
|
||||||
|
conversation_id: Optional[str] = None,
|
||||||
|
app_id: Optional[str] = None,
|
||||||
|
message_id: Optional[str] = None,
|
||||||
|
) -> Generator[ToolInvokeMessage, None, None]:
|
||||||
|
start_time = tool_parameters.get("startTime")
|
||||||
|
end_time = tool_parameters.get("endTime")
|
||||||
|
query = tool_parameters.get("query")
|
||||||
|
|
||||||
|
params = {
|
||||||
|
"dataBase": "apo",
|
||||||
|
"endTime": end_time,
|
||||||
|
"isExternal": False,
|
||||||
|
"pageNum" : 1,
|
||||||
|
"pageSize" : 100,
|
||||||
|
"query" : query,
|
||||||
|
"startTime" : start_time,
|
||||||
|
"tableName" : "raw_logs",
|
||||||
|
}
|
||||||
|
|
||||||
|
url = dify_config.APO_BACKEND_URL + "/api/log/query"
|
||||||
|
resp = requests.post(
|
||||||
|
url=url,
|
||||||
|
json=params,
|
||||||
|
)
|
||||||
|
|
||||||
|
list = json.dumps({
|
||||||
|
'type': 'log',
|
||||||
|
'display': True,
|
||||||
|
'data': resp.json(),
|
||||||
|
})
|
||||||
|
yield self.create_text_message(list)
|
||||||
Loading…
Reference in New Issue