Ctrl K
ComunidadGuías…

examples/high-level-api.mjs

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env node

import { agent, generateImage, generateText, streamText } from '../dist/index.js';

// Set a provider and AgentOS picks the best default model. Pin a specific
// model whenever you need it. Requires the matching env var to be set
// (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.).

const provider = process.env.AGENTOS_PROVIDER || 'openai';
const model = process.env.AGENTOS_MODEL; // optional override

async function main() {
  console.log(`Using provider: ${provider}${model ? ` model: ${model}` : ' (default model)'}`);

  console.log('\n=== generateText() — provider, default model ===');
  const quick = await generateText({
    provider,
    prompt: 'Explain what QUIC is in 3 concise bullet points.',
  });
  console.log(quick.text);

  console.log('\n=== generateText() — provider + pinned model ===');
  const pinned = await generateText({
    provider: 'openai',
    model: 'gpt-4o',
    prompt: 'What is TCP in one sentence?',
  });
  console.log(pinned.text);

  console.log('\n=== streamText() — provider-first ===');
  const live = streamText({
    provider,
    prompt: 'Stream a short explanation of how QUIC differs from TCP.',
  });
  for await (const delta of live.textStream) {
    process.stdout.write(delta);
  }
  process.stdout.write('\n');

  console.log('\n=== generateImage() — provider-first ===');
  const image = await generateImage({
    provider: 'openai',
    prompt: 'A clean technical illustration of packets moving through a network switch.',
  });
  console.log(`provider=${image.provider} images=${image.images.length}`);

  console.log('\n=== agent() — provider-first ===');
  // Each session keeps its message history. Cognitive memory needs
  // runtime: 'gmi' and an embedding model (memory.embedding); agent() does not
  // read the other MemoryConfig fields, such as types or working: { enabled: true }.
  const assistant = agent({
    provider,
    instructions: 'You are a concise networking tutor.',
    maxSteps: 3,
  });

  const session = assistant.session('high-level-api-demo');
  const first = await session.send('What problem was QUIC designed to solve?');
  console.log(first.text);

  const second = await session.send('Now compare QUIC and TCP in one short paragraph.');
  console.log(second.text);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});