12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from typing import List
- from base import BaseToolkit
- from function_tool import FunctionTool
- import requests
- class LarkAlertForHumanIntervention(BaseToolkit):
- r"""A toolkit for Lark alert for human intervention."""
- def __init__(self):
- self.webhook_url = 'https://open.feishu.cn/open-apis/bot/v2/hook/c316b559-1c6a-4c4e-97c9-50b44e4c2a9d'
- super().__init__()
- def send_lark_alert_for_human_intervention(
- self, message: str
- ) -> str:
- r"""Sends a Lark alert for human intervention.
- Args:
- message (str): The message to send.
- Returns:
- str: A confirmation message.
- """
- req_body = {
- "msg_type": "text",
- "content": {
- "text": f'[Agent需人工介入]{message}'
- }
- }
- try:
- response = requests.post(
- url=self.webhook_url,
- json=req_body
- )
- return f"Alert sent successfully: {response.status_code}"
- except Exception as e:
- return f"Failed to send alert: {e}"
- def get_tools(self) -> List[FunctionTool]:
- return [FunctionTool(self.send_lark_alert_for_human_intervention)]
- if __name__ == '__main__':
- toolkit = LarkAlertForHumanIntervention()
- tools = toolkit.get_tools()
- for tool in tools:
- print(f"Tool schema: {tool.get_openai_tool_schema()}")
- resp = toolkit.send_lark_alert_for_human_intervention('测试')
- print(resp)
|