======================================== Test Type: knowledge-search Model: deepseek-v3.2 Embed Model: text-embedding-3-small Max Tools: 3 Messages File: /data/workspace/trpc-agent-go/examples/toolsearch/user-message.txt Timestamp: 20260129_101818 ======================================== (Commands appended at end) - /stats - /exit 🚀 Tool Search Test: Knowledge Search Model: deepseek-v3.2 Streaming: true Tools: 10 (all tools provided to LLM) Type 'exit' to end the conversation ============================================================ ✅ Knowledge Search chat ready! Session: baseline-session-1769653098 ⚠️ Note: only 3 of 10 tools are provided to LLM without any search 💡 Special commands: /stats - Show current session token usage statistics /new - Start a new session (reset token tracking) /exit - End the conversation 👤 You: 🤖 Assistant: I'll calculate 123 + 456 * 789 for you. According to the order of operations (PEMDAS/BODMAS), multiplication should be performed before addition. I'll calculate 123 + 456 * 789 for you. According to the order of operations (PEMDAS/BODMAS), multiplication should be performed before addition. {"expression":"123 + 456 * 789","result":359907,"message":"Calculation result: 359907"}The result of 123 + 456 × 789 is **359,907**. Here's the step-by-step calculation: 1. First, calculate 456 × 789 = 359,784 2. Then, add 123: 359,784 + 123 = 359,907The result of 123 + 456 × 789 is **359,907**. Here's the step-by-step calculation: 1. First, calculate 456 × 789 = 359,784 2. Then, add 123: 359,784 + 123 = 359,907 📊 Turn 1 Token Usage: Prompt: 1197, Completion: 62, Total: 1259 Tools used: calculator 👤 You: 🤖 Assistant: I'll check what day of the week it is today. I'll check what day of the week it is today. {"operation":"weekday","result":"Thursday","timestamp":1769653121}Today is **Thursday**.Today is **Thursday**. 📊 Turn 2 Token Usage: Prompt: 1367, Completion: 6, Total: 1373 Tools used: time_tool 👤 You: 🤖 Assistant: I'll convert 'Hello World' to uppercase for you. I'll convert 'Hello World' to uppercase for you. {"original_text":"Hello World","operation":"uppercase","result":"HELLO WORLD","info":"Text converted to uppercase"}'Hello World' converted to uppercase is: **HELLO WORLD'Hello World' converted to uppercase is: **HELLO WORLD 📊 Turn 3 Token Usage: Prompt: 1358, Completion: 16, Total: 1374 Tools used: text_tool 👤 You: 🤖 Assistant: I'll convert 100 USD to EUR for you. I'll convert 100 USD to EUR for you. {"original_amount":100,"from_currency":"USD","to_currency":"EUR","converted_amount":85,"exchange_rate":0.85,"message":"100.00 USD = 85.00 EUR (rate: 0.8500)"}100 USD converts to approximately **85 EUR** at an exchange rate of 0.85 USD/EUR. **Note:** This conversion uses approximate rates for demonstration purposes. For real-time exchange rates, please check with a financial service or bank100 USD converts to approximately **85 EUR** at an exchange rate of 0.85 USD/EUR. **Note:** This conversion uses approximate rates for demonstration purposes. For real-time exchange rates, please check with a financial service or bank 📊 Turn 4 Token Usage: Prompt: 1741, Completion: 50, Total: 1791 Tools used: currency_converter 👤 You: 🤖 Assistant: I'll convert 100 meters to feet for you. I'll convert 100 meters to feet for you. {"original_value":100,"from_unit":"m","to_unit":"foot","converted_value":328.0839895013123,"category":"length","message":"100.0000 m = 328.0840 foot"}100 meters is equal to approximately **328.08 feet**. The exact conversion is 328.0839895 feet, since 1 meter = 3.280839895 feet.100 meters is equal to approximately **328.08 feet**. The exact conversion is 328.0839895 feet, since 1 meter = 3.280839895 feet. 📊 Turn 5 Token Usage: Prompt: 2030, Completion: 38, Total: 2068 Tools used: unit_converter 👤 You: 🤖 Assistant: I'll generate a secure password with 12 characters for you. 2026-01-29T10:19:13+08:00 ERROR processor/functioncall.go:1279 CallableTool execution failed for password_generator: no character types selected 2026-01-29T10:19:13+08:00 WARN processor/functioncall.go:1190 tool execute failed, function name: password_generator, arguments: {"length": 12}, result: , err: Error: callable tool execution failed: no character types selected I'll generate a secure password with 12 characters for you. Error: callable tool execution failed: no character types selectedLet me try again with all character types enabled by default: Let me try again with all character types enabled by default: {"password":"Ghq\u0026s*Ul=2^y","length":12,"strength":"Strong","message":"Generated Strong password with length 12"}I've generated a secure password for you: **Password:** `Ghq&s*Ul=2^y` **Length:** 12 characters **Strength:** Strong This password includes: - Uppercase letters (G, U) - Lowercase letters (h, q, s, l, y) - Numbers (2) - Symbols (&, *, =, ^) The password is considered strong because it contains a mix of all character types and has sufficient length. Remember to store this password securely and don't share it with anyone.I've generated a secure password for you: **Password:** `Ghq&s*Ul=2^y` **Length:** 12 characters **Strength:** Strong This password includes: - Uppercase letters (G, U) - Lowercase letters (h, q, s, l, y) - Numbers (2) - Symbols (&, *, =, ^) The password is considered strong because it contains a mix of all character types and has sufficient length. Remember to store this password securely and don't share it with anyone. 📊 Turn 6 Token Usage: Prompt: 2167, Completion: 113, Total: 2280 Tools used: password_generator, password_generator 👤 You: 🤖 Assistant: I'll generate an MD5 hash of 'hello world' forI'll generate an MD5 hash of 'hello world' for{"original_text":"hello world","algorithm":"MD5","hash":"5eb63bbbe01eeed093cb22bb8f5acdc3","message":"Generated MD5 hash successfully"}The MD5 hash of 'hello world' is: **5eb63bbbe01eeed093cb22bb8f5acdc3** MD5 (Message-Digest Algorithm 5) is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value, typically expressed as a 32-character hexadecimal number. **Note:** While MD5 is still used for non-cryptographic purposes like checksums, it's considered cryptographically broken and unsuitable for security applications due to vulnerability to collision attacks. For password hashing or security-critical applications, consider using stronger algorithms like SHA-256 or bcrypt.The MD5 hash of 'hello world' is: **5eb63bbbe01eeed093cb22bb8f5acdc3** MD5 (Message-Digest Algorithm 5) is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value, typically expressed as a 32-character hexadecimal number. **Note:** While MD5 is still used for non-cryptographic purposes like checksums, it's considered cryptographically broken and unsuitable for security applications due to vulnerability to collision attacks. For password hashing or security-critical applications, consider using stronger algorithms like SHA-256 or bcrypt. 📊 Turn 7 Token Usage: Prompt: 2430, Completion: 133, Total: 2563 Tools used: hash_generator 👤 You: 🤖 Assistant: I'll encode 'hello world' to Base64 for you. I'll encode 'hello world' to Base64 for you. {"original_text":"hello world","operation":"encode","result":"aGVsbG8gd29ybGQ=","message":"Text Base64-encoded"}'hello world' encoded to Base64 is: **aGVsbG8gd29ybGQ=** Base64 encoding converts binary data into ASCII text format, making it suitable for transmission over text-based protocols. The `=` at the end is padding to ensure the encoded string length is a multiple of'hello world' encoded to Base64 is: **aGVsbG8gd29ybGQ=** Base64 encoding converts binary data into ASCII text format, making it suitable for transmission over text-based protocols. The `=` at the end is padding to ensure the encoded string length is a multiple of 📊 Turn 8 Token Usage: Prompt: 2609, Completion: 68, Total: 2677 Tools used: base64_converter 👤 You: 🤖 Assistant: I'll validate the email address test@example.com for you. I'll validate the email address test@example.com for you. {"email":"test@example.com","valid":true,"username":"test","domain":"example.com","message":"Valid email address"}The email address **test@example.com** is **valid**. **Email components:** - **Username:** test - **Domain:** example.com This email address follows the standard email format (local-part@domain) and appears to be properly structured. However, note that this validation only checks the format - it doesn't verify whether the email actually exists or can receive messagesThe email address **test@example.com** is **valid**. **Email components:** - **Username:** test - **Domain:** example.com This email address follows the standard email format (local-part@domain) and appears to be properly structured. However, note that this validation only checks the format - it doesn't verify whether the email actually exists or can receive messages 📊 Turn 9 Token Usage: Prompt: 2797, Completion: 78, Total: 2875 Tools used: email_validator 👤 You: 🤖 Assistant: I'll generate a random number between 1 and 100 for you. I'll generate a random number between 1 and 100 for you. {"values":[97],"type":"integer","count":1,"message":"Generated 1 integer random values between 1.00 and 100.00"}The random number generated between 1 and 100 is: **97** This is an integer value randomly selected from the inclusive range 1 to 100The random number generated between 1 and 100 is: **97** This is an integer value randomly selected from the inclusive range 1 to 100 📊 Turn 10 Token Usage: Prompt: 3154, Completion: 33, Total: 3187 Tools used: random_generator 👤 You: ============================================================ 🎯 Final Session Statistics (LLM Search): ⏱ Total Session Duration: 1m43.028s 📊 Session Token Usage Statistics: Elapsed: 1m43.028s Total Turns: 10 Other Chat Model Total Prompt Tokens: 20850 Other Chat Model Total Completion Tokens: 597 Other Chat Model Total Tokens: 21447 Tool Search Total Prompt Tokens: 2660 Tool Search Total Completion Tokens: 707 Tool Search Total Tokens: 3367 Total Prompt Tokens: 23510 Total Completion Tokens: 1304 Total Tokens: 24814 Other Chat Model Average Prompt Tokens per Turn: 2085.0 Other Chat Model Average Completion Tokens per Turn: 59.7 Other Chat Model Average Total Tokens per Turn: 2144.7 Tool Search Average Prompt Tokens per Turn: 266.0 Tool Search Average Completion Tokens per Turn: 70.7 Tool Search Average Total Tokens per Turn: 336.7 Total Average Prompt Tokens per Turn: 2351.0 Total Average Completion Tokens per Turn: 130.4 Total Average Tokens per Turn: 2481.4 Average Duration per Turn: 10.303s 📋 Turn-by-Turn Usage History: Turn 1: Chat Model Turn-by-Turn Usage History: Duration: 19.392s call 1: Other Chat Model PromptTokens: 1197 Other Chat Model CompletionTokens: 62 Other Chat Model TotalTokens: 1259 SelectedTools: calculator 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 1013 Tool Search CompletionTokens: 139 Tool Search TotalTokens: 1152 call 2: Tool Search PromptTokens: 170 Tool Search CompletionTokens: 116 Tool Search TotalTokens: 286 Turn 2: Chat Model Turn-by-Turn Usage History: Duration: 5.54s call 1: Other Chat Model PromptTokens: 1367 Other Chat Model CompletionTokens: 6 Other Chat Model TotalTokens: 1373 SelectedTools: time_tool 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 71 Tool Search CompletionTokens: 17 Tool Search TotalTokens: 88 call 2: Tool Search PromptTokens: 71 Tool Search CompletionTokens: 17 Tool Search TotalTokens: 88 Turn 3: Chat Model Turn-by-Turn Usage History: Duration: 11.29s call 1: Other Chat Model PromptTokens: 1358 Other Chat Model CompletionTokens: 16 Other Chat Model TotalTokens: 1374 SelectedTools: text_tool 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 72 Tool Search CompletionTokens: 20 Tool Search TotalTokens: 92 call 2: Tool Search PromptTokens: 69 Tool Search CompletionTokens: 16 Tool Search TotalTokens: 85 Turn 4: Chat Model Turn-by-Turn Usage History: Duration: 8.422s call 1: Other Chat Model PromptTokens: 1741 Other Chat Model CompletionTokens: 50 Other Chat Model TotalTokens: 1791 SelectedTools: currency_converter 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 70 Tool Search CompletionTokens: 18 Tool Search TotalTokens: 88 call 2: Tool Search PromptTokens: 70 Tool Search CompletionTokens: 18 Tool Search TotalTokens: 88 Turn 5: Chat Model Turn-by-Turn Usage History: Duration: 7.323s call 1: Other Chat Model PromptTokens: 2030 Other Chat Model CompletionTokens: 38 Other Chat Model TotalTokens: 2068 SelectedTools: unit_converter 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 68 Tool Search CompletionTokens: 16 Tool Search TotalTokens: 84 call 2: Tool Search PromptTokens: 69 Tool Search CompletionTokens: 17 Tool Search TotalTokens: 86 Turn 6: Chat Model Turn-by-Turn Usage History: Duration: 16.907s call 1: Other Chat Model PromptTokens: 2167 Other Chat Model CompletionTokens: 113 Other Chat Model TotalTokens: 2280 SelectedTools: password_generator, password_generator 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 90 Tool Search CompletionTokens: 36 Tool Search TotalTokens: 126 call 2: Tool Search PromptTokens: 90 Tool Search CompletionTokens: 36 Tool Search TotalTokens: 126 call 3: Tool Search PromptTokens: 90 Tool Search CompletionTokens: 36 Tool Search TotalTokens: 126 Turn 7: Chat Model Turn-by-Turn Usage History: Duration: 11.541s call 1: Other Chat Model PromptTokens: 2430 Other Chat Model CompletionTokens: 133 Other Chat Model TotalTokens: 2563 SelectedTools: hash_generator 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 71 Tool Search CompletionTokens: 16 Tool Search TotalTokens: 87 call 2: Tool Search PromptTokens: 104 Tool Search CompletionTokens: 49 Tool Search TotalTokens: 153 Turn 8: Chat Model Turn-by-Turn Usage History: Duration: 7.948s call 1: Other Chat Model PromptTokens: 2609 Other Chat Model CompletionTokens: 68 Other Chat Model TotalTokens: 2677 SelectedTools: base64_converter 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 84 Tool Search CompletionTokens: 28 Tool Search TotalTokens: 112 call 2: Tool Search PromptTokens: 87 Tool Search CompletionTokens: 31 Tool Search TotalTokens: 118 Turn 9: Chat Model Turn-by-Turn Usage History: Duration: 6.39s call 1: Other Chat Model PromptTokens: 2797 Other Chat Model CompletionTokens: 78 Other Chat Model TotalTokens: 2875 SelectedTools: email_validator 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 76 Tool Search CompletionTokens: 22 Tool Search TotalTokens: 98 call 2: Tool Search PromptTokens: 76 Tool Search CompletionTokens: 22 Tool Search TotalTokens: 98 Turn 10: Chat Model Turn-by-Turn Usage History: Duration: 8.274s call 1: Other Chat Model PromptTokens: 3154 Other Chat Model CompletionTokens: 33 Other Chat Model TotalTokens: 3187 SelectedTools: random_generator 🔍 Tool Search Turn-by-Turn Usage History: call 1: Tool Search PromptTokens: 76 Tool Search CompletionTokens: 20 Tool Search TotalTokens: 96 call 2: Tool Search PromptTokens: 73 Tool Search CompletionTokens: 17 Tool Search TotalTokens: 90 👋 Goodbye!