llm-chat-tools

workflowv1.0.0

Interactive LLM chat REPL with 10 built-in tools for factual data and computation

Install

kdeps registry install llm-chat-tools

Then run locally:

kdeps exec llm-chat-tools

Configure LLM provider in ~/.kdeps/config.yaml (created automatically on first run).

README

LLM Chat with Tools

Interactive LLM chat (stdin REPL) with 10 built-in tools. The LLM can call any tool automatically when it needs factual data or computation.

Tools Available

ToolDescription
calculateMath: arithmetic, functions (sqrt, sin, log, factorial...), constants (pi, e)
get_weatherCurrent weather for any city (mock — connect real API for production)
get_timeCurrent date/time for a timezone (UTC, EST, PST, CET, IST, JST...)
convert_unitsLength, weight, speed, volume, area, temperature, data sizes
analyze_textWord/sentence count, readability score, top words, reading time
format_jsonValidate and pretty-print JSON, optional key sorting
base64Encode or decode Base64 (standard or URL-safe)
parse_urlParse URL components or encode/decode URL strings
hashMD5, SHA1, SHA256, SHA512, SHA3, BLAKE2 hashes and HMACs
randomNumbers, floats, passwords, UUIDs, hex tokens, dice, coin, choices

Run

kdeps run workflow.yaml --dev

The chat starts an interactive REPL:

You: What is the SHA256 hash of "hello world"?
Assistant: The SHA256 hash of "hello world" is b94d27b9...

You: Convert 100 km to miles
Assistant: 100 km = 62.137119 miles

You: Roll 3d6
Assistant: Your 3d6 rolls: [4, 2, 6] — Total: 12

You: /quit

Type /quit or /exit to end the session.

Example Prompts

What is sqrt(2) raised to the power of 10?
What's the weather in Tokyo?
What time is it in IST right now?
Convert 5 pounds to kilograms
Analyze this text: The quick brown fox jumps over the lazy dog.
Format this JSON: {"name":"Alice","age":30}
Base64 encode "Hello, KDeps!"
Parse https://example.com/search?q=kdeps&page=2
Hash "password123" using bcrypt — wait, use SHA256
Generate 5 random UUIDs
Pick a random item from: pizza,sushi,tacos,burger

Structure

llm-chat-tools/
|- workflow.yaml           # sources: [llm], executionType: stdin
+- resources/
   |- 01-calculator.yaml   # calcTool
   |- 02-weather.yaml      # weatherTool
   |- 03-time.yaml         # timeTool
   |- 04-unit-converter.yaml  # unitConverterTool
   |- 05-text-analyzer.yaml   # textAnalyzerTool
   |- 06-json-formatter.yaml  # jsonFormatterTool
   |- 07-base64.yaml          # base64Tool
   |- 08-url-parser.yaml      # urlParserTool
   |- 09-hash.yaml            # hashTool
   |- 10-random.yaml          # randomTool
   +- 11-chat.yaml            # main chat resource with all tools

API Server Mode

To expose as an HTTP endpoint instead of stdin REPL, change executionType in workflow.yaml:

settings:
  input:
    llm:
      executionType: apiServer

Then query:

curl -X POST 'http://localhost:16401/api/v1/llm-chat-tools?message=What+is+pi+times+2'

Versions

VersionPublishedStatus
1.0.04/11/2026active

Details

Author
kdeps
License
Apache-2.0
Latest Version
1.0.0
Published
4/11/2026

Tags

llmtoolsfunction-calling