/** * Example 11: Minimal Worker Mode * * This example demonstrates the simplest usage of LLMz in worker mode. * It shows how to: * - Execute mathematical computations through code generation * - Use LLMz without chat interface for one-shot tasks * - Access generated code and execution results * - Handle success/failure states with proper result checking * - Demonstrate the power of code generation over traditional tool calling * * Key concepts: * - Worker mode execution (no chat interface) * - Mathematical problem solving through code generation * - Result inspection with isSuccess() * - Code generation capabilities demonstration * - One-shot task execution pattern */ import { Client } from '@botpress/client' import chalk from 'chalk' import { execute } from 'llmz' import { box } from '../utils/box' // Initialize Botpress client for LLM communication const client = new Client({ botId: process.env.BOTPRESS_BOT_ID!, token: process.env.BOTPRESS_TOKEN!, }) // Display context about the problem we're solving console.log('Calculating the sum of all integers between 14 and 1078 that are divisible by 3, 9 or 5...') console.log('This is usually a hard problem for LLMs without code execution.') console.log('With LLMz, it naturally writes the code to solve it in a few milliseconds.') // Execute a mathematical computation in worker mode // Worker mode is perfect for one-shot computational tasks const result = await execute({ // Give the LLM a mathematical problem to solve // LLMz will generate TypeScript code to compute the answer instructions: 'What is the sum of all integers between 14 and 1078 that are divisible by 3, 9 or 5?', client, // Note: No chat interface provided - this runs in worker mode }) // Check if execution was successful and display results if (result.isSuccess()) { // Display both the generated code and the computed result console.log( box( [ 'The LLM wrote the code to solve the problem:', // Show the actual TypeScript code that was generated ...result.iteration.code!.split('\n'), '', 'It then executed it and returned the result:', // Display the final computed answer chalk.cyan.bold(JSON.stringify(result.output, null, 2)), ], 80 // Box width for nice formatting ) ) }