markqiu's picture
百度文心一言的例子
569cdb0
from __future__ import annotations
from datetime import datetime
from typing import Dict, List, Type
from erniebot_agent.messages import AIMessage, HumanMessage, Message
from erniebot_agent.tools.schema import ToolParameterView
from pydantic import Field
from .base import Tool
class CurrentTimeToolOutputView(ToolParameterView):
current_time: str = Field(description="当前时间")
class CurrentTimeTool(Tool):
description: str = "CurrentTimeTool 用于获取当前时间"
ouptut_type: Type[ToolParameterView] = CurrentTimeToolOutputView
async def __call__(self) -> Dict[str, str]:
return {"current_time": datetime.strftime(datetime.now(), "%Y年%m月%d号 %点:%分:%秒")}
@property
def examples(self) -> List[Message]:
return [
HumanMessage("现在几点钟了"),
AIMessage(
"",
function_call={
"name": self.tool_name,
"thoughts": f"用户想知道现在几点了,我可以使用{self.tool_name}来获取当前时间,并从其中获得当前小时时间。",
"arguments": "{}",
},
token_usage={"prompt_tokens": 5, "completion_tokens": 7}, # For test only
),
HumanMessage("现在是什么时候?"),
AIMessage(
"",
function_call={
"name": self.tool_name,
"thoughts": f"用户想知道现在几点了,我可以使用{self.tool_name}来获取当前时间",
"arguments": "{}",
},
token_usage={"prompt_tokens": 5, "completion_tokens": 7}, # For test only
),
]