UNPKG

@nyrra/foundry-ai

Version:

Thin Palantir Foundry provider adapters and model catalog for the Vercel AI SDK.

35 lines (30 loc) 1.03 kB
import process from 'node:process'; import { stepCountIs, streamText } from 'ai'; import { logError, logValue } from './logger.js'; import { createLanguageModel } from './model.js'; import { createToolSet, prepareToolStep, TOOL_CALLING_PROMPT } from './tools.js'; const { model, modelId, provider } = createLanguageModel(); const tools = createToolSet(); const result = streamText({ model, prompt: TOOL_CALLING_PROMPT, prepareStep: prepareToolStep, stopWhen: stepCountIs(2), toolChoice: 'required', tools, onFinish({ text, toolCalls, toolResults, finishReason }) { logValue({ type: 'finish', finishReason, toolCalls, toolResults }); logValue({ type: 'final-text', text }); }, onError({ error }) { logError({ type: 'error', error }); }, }); console.log(`provider: ${provider}`); console.log(`model: ${modelId}`); // Stream text to stdout for await (const chunk of result.textStream) { process.stdout.write(chunk); } console.log('\n'); console.log(`steps: ${(await result.steps).length}`);