* 示例1: 使用现代 OpenAI Tools 格式
(qwenLLM: QwenLLM, availableTools: any[])
| 40 | * 示例1: 使用现代 OpenAI Tools 格式 |
| 41 | */ |
| 42 | async function demonstrateToolsFormat(qwenLLM: QwenLLM, availableTools: any[]) { |
| 43 | console.log('=== 示例1: 现代 Tools 格式 ==='); |
| 44 | |
| 45 | try { |
| 46 | // 选择几个工具进行演示 |
| 47 | const selectedTools = availableTools.slice(0, 3); |
| 48 | const tools = ToolFormatConverter.toOpenAITools(selectedTools); |
| 49 | |
| 50 | console.log('使用的工具:', tools.map(t => t.function.name).join(', ')); |
| 51 | |
| 52 | const messages = [ |
| 53 | { |
| 54 | role: 'user', |
| 55 | content: '请查看当前时间,并告诉我现在是什么时候', |
| 56 | }, |
| 57 | ]; |
| 58 | |
| 59 | const response = await qwenLLM.toolsCall(messages, tools); |
| 60 | const result = qwenLLM.parseToolCallResult(response); |
| 61 | |
| 62 | console.log('LLM 回复:', result.content); |
| 63 | if (result.hasToolCalls) { |
| 64 | console.log('工具调用:', result.toolCalls.map(t => t.function.name).join(', ')); |
| 65 | } |
| 66 | console.log(''); |
| 67 | } catch (error) { |
| 68 | console.error('Tools 格式调用失败:', error); |
| 69 | console.log(''); |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | /** |
| 74 | * 示例2: 使用传统 Functions 格式 |
no test coverage detected