new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

AI SDK · Providers · all subjects

maxim/capabilities

5 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

Maxim support for streamText

Maxim wrapped models work seamlessly with the AI SDK streamText function for streaming text generation with automatic logging and custom metadata support.

Maxim observability features

Maxim provides automatic observability including tracing, logging, and metadata addition to AI SDK calls through a simple wrapper. It also supports unified model wrapping across different providers, custom metadata and tagging for traces, and seamless handling of streaming responses and structured outputs.

Maxim support for generateText with structured output

Maxim wrapped models work with AI SDK generateText function using the Output.object() method with Zod schemas for structured output generation.

Maxim streamText example

Example of using streamText with Maxim: const { textStream } = await streamText({ model: model, prompt: 'Write a story about a robot learning to paint.', system: 'You are a creative storyteller', providerOptions: { maxim: { traceName: 'Story Generation', traceTags: { type: 'creative', format: 'streaming' } } as MaximVercelProviderMetadata } }); for await (const textPart of textStream) { process.stdout.write(textPart); }

Maxim supported provider models and usage

Maxim supports wrapping models from OpenAI, Anthropic, and Google providers uniformly through a single wrapMaximAISDKModel interface, allowing them to be used interchangeably. Example usage: - const openaiModel = wrapMaximAISDKModel(openai('gpt-5'), logger); - const anthropicModel = wrapMaximAISDKModel(anthropic('claude-3-5-sonnet-20241022'), logger); - const googleModel = wrapMaximAISDKModel(google('gemini-pro'), logger);

Give your agent this brain