UNPKG

daggerai

Version:

A simple and powerful Typescript based agent framework to help businesses thrive in the AI Agent revolution.

87 lines 3.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const dotenv_1 = __importDefault(require("dotenv")); const path_1 = require("path"); dotenv_1.default.config({ path: (0, path_1.resolve)(__dirname, '../../', '.env') }); const agent_1 = require("../core/agent"); const squad_1 = require("../core/squad"); const task_1 = require("../core/task"); const anthropic_1 = require("../llm/anthropic"); async function runSquad() { const squad = new squad_1.Squad(); const llm = new anthropic_1.ChatAnthropic({ model: 'claude-3-haiku-20240307', maxTokens: 4000, }); // const llm = new ChatOpenAI({ // model: 'gpt-3.5-turbo', // maxTokens: 4000, // }) const salesAssistant = new agent_1.Agent({ id: '1', role: 'Sales Improver', backstory: 'You are a sales specialist.', goal: 'You always want to increase sales', }); const salesStrategy = new task_1.Task({ name: 'Sales Strategy', description: 'Think of a strategy to increase sales.', expectedOutput: 'A markdown list of strategies to increase sales.', agent: salesAssistant, tools: [], memories: [], inputs: [], llm, }); const salesPlan = new task_1.Task({ name: 'Sales Plan', description: 'Create a plan to implement the strategy.', expectedOutput: 'A markdown list of steps to implement the strategy.', agent: salesAssistant, tools: [], memories: [], inputs: [], llm, }); const salesResponsibilities = new task_1.Task({ name: 'Sales Execution', description: 'Create a list of responsible people for each step.', expectedOutput: 'A markdown list of responsible people for each step.', agent: salesAssistant, tools: [], memories: [], inputs: [], llm, }); squad.add(salesStrategy); squad.add(salesPlan); squad.add(salesResponsibilities); squad.connect(salesStrategy, salesPlan); squad.connect(salesPlan, salesResponsibilities); // you can list to various events to get updates on the squad progress squad.events.on('squad.started', () => { console.log('Squad started!'); }); squad.events.on('agent.started', task => { console.log(`Task started: ${task.name}`); }); squad.events.on('agent.finished', task => { console.log(`Task finished: ${task.output}`); }); squad.events.on('tool.called', tool => { console.log(`Tool called: ${tool.tool}`); }); squad.events.on('tool.finished', tool => { console.log(`Tool finished: ${tool}`); }); squad.events.on('squad.finished', () => { console.log('Squad finished!'); }); const results = await squad.evaluate({ inputs: [] }); console.log(results); } runSquad(); //# sourceMappingURL=sales_plan.js.map