1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! 工具参数 trait — 由 derive(ToolDefinition) 自动生成。
//!
//! 实现了此 trait 的结构体,即可通过 `tool_definition()` 方法
//! 自动获得 JSON Schema 工具定义。Schema 由宏在编译时生成,
//! 采用 schemars 兼容的 JSON Schema 格式。
//!
//! # 示例
//! ```ignore
//! use lellm_macros::ToolDefinition;
//!
//! #[derive(ToolDefinition)]
//! #[tool(name = "search", description = "搜索互联网信息")]
//! pub struct SearchArgs {
//! /// 搜索关键词
//! pub query: String,
//! }
//!
//! // 自动实现 ToolArgs trait
//! let def = SearchArgs::tool_definition();
//! assert_eq!(def.name, "search");
//! ```
/// 工具参数 trait