docs: update the comments of register_llm_tool

This commit is contained in:
Soulter
2025-02-11 23:46:35 +08:00
parent f05a57efc3
commit 24862b0672
2 changed files with 18 additions and 3 deletions
@@ -111,10 +111,10 @@ class LLMRequestSubStage(Stage):
# 尝试调用工具函数
wrapper = self._call_handler(self.ctx, event, func_tool.handler, **func_tool_args)
async for resp in wrapper:
if resp is not None:
if resp is not None: # 有 return 返回
function_calling_result[func_tool_name] = resp
else:
yield
yield # 有生成器返回
event.clear_result() # 清除上一个 handler 的结果
except BaseException as e:
logger.warning(traceback.format_exc())
+16 -1
View File
@@ -204,7 +204,7 @@ def register_llm_tool(name: str = None):
```
@llm_tool(name="get_weather") # 如果 name 不填,将使用函数名
async def get_weather(event: AstrMessageEvent, location: str) -> MessageEventResult:
async def get_weather(event: AstrMessageEvent, location: str):
\'\'\'获取天气信息。
Args:
@@ -214,7 +214,22 @@ def register_llm_tool(name: str = None):
```
可接受的参数类型有:string, number, object, array, boolean。
返回值:
- 返回 str:结果会被加入下一次 LLM 请求的 prompt 中,用于让 LLM 总结工具返回的结果
- 返回 None:结果不会被加入下一次 LLM 请求的 prompt 中。
可以使用 yield 发送消息、终止事件。
发送消息:请参考文档。
终止事件:
```
event.stop_event()
yield
```
'''
name_ = name
def decorator(awaitable: Awaitable):