@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Completeness | Scorers | Mastra Docs"
|
|
2
|
+
title: "Reference: Completeness Scorer | Scorers | Mastra Docs"
|
|
3
3
|
description: Documentation for the Completeness Scorer in Mastra, which evaluates how thoroughly LLM outputs cover key elements present in the input.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -25,12 +25,14 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
|
|
|
25
25
|
{
|
|
26
26
|
name: "preprocessStepResult",
|
|
27
27
|
type: "object",
|
|
28
|
-
description:
|
|
28
|
+
description:
|
|
29
|
+
"Object with extracted elements and coverage details: { inputElements: string[], outputElements: string[], missingElements: string[], elementCounts: { input: number, output: number } }",
|
|
29
30
|
},
|
|
30
31
|
{
|
|
31
32
|
name: "score",
|
|
32
33
|
type: "number",
|
|
33
|
-
description:
|
|
34
|
+
description:
|
|
35
|
+
"Completeness score (0-1) representing the proportion of input elements covered in the output.",
|
|
34
36
|
},
|
|
35
37
|
]}
|
|
36
38
|
/>
|
|
@@ -109,17 +111,18 @@ A completeness score between 0 and 1:
|
|
|
109
111
|
|
|
110
112
|
In this example, the response comprehensively addresses all aspects of the query with detailed information covering multiple dimensions.
|
|
111
113
|
|
|
112
|
-
```typescript
|
|
114
|
+
```typescript title="src/example-high-completeness.ts" showLineNumbers copy
|
|
113
115
|
import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
|
|
114
116
|
|
|
115
|
-
const scorer = createCompletenessScorer({ model:
|
|
117
|
+
const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
|
|
116
118
|
|
|
117
|
-
const query =
|
|
119
|
+
const query =
|
|
120
|
+
"Explain the process of photosynthesis, including the inputs, outputs, and stages involved.";
|
|
118
121
|
const response =
|
|
119
122
|
"Photosynthesis is the process by which plants convert sunlight into chemical energy. Inputs: Carbon dioxide (CO2) from the air enters through stomata, water (H2O) is absorbed by roots, and sunlight provides energy captured by chlorophyll. The process occurs in two main stages: 1) Light-dependent reactions in the thylakoids convert light energy to ATP and NADPH while splitting water and releasing oxygen. 2) Light-independent reactions (Calvin cycle) in the stroma use ATP, NADPH, and CO2 to produce glucose. Outputs: Glucose (C6H12O6) serves as food for the plant, and oxygen (O2) is released as a byproduct. The overall equation is: 6CO2 + 6H2O + light energy → C6H12O6 + 6O2.";
|
|
120
123
|
|
|
121
124
|
const result = await scorer.run({
|
|
122
|
-
input: [{ role:
|
|
125
|
+
input: [{ role: "user", content: query }],
|
|
123
126
|
output: { text: response },
|
|
124
127
|
});
|
|
125
128
|
|
|
@@ -141,17 +144,18 @@ The output receives a high score because it addresses all requested aspects: inp
|
|
|
141
144
|
|
|
142
145
|
In this example, the response addresses some key points but misses important aspects or lacks sufficient detail.
|
|
143
146
|
|
|
144
|
-
```typescript
|
|
147
|
+
```typescript title="src/example-partial-completeness.ts" showLineNumbers copy
|
|
145
148
|
import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
|
|
146
149
|
|
|
147
|
-
const scorer = createCompletenessScorer({ model:
|
|
150
|
+
const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
|
|
148
151
|
|
|
149
|
-
const query =
|
|
152
|
+
const query =
|
|
153
|
+
"What are the benefits and drawbacks of remote work for both employees and employers?";
|
|
150
154
|
const response =
|
|
151
155
|
"Remote work offers several benefits for employees including flexible schedules, no commuting time, and better work-life balance. It also reduces costs for office space and utilities for employers. However, remote work can lead to isolation and communication challenges for employees.";
|
|
152
156
|
|
|
153
157
|
const result = await scorer.run({
|
|
154
|
-
input: [{ role:
|
|
158
|
+
input: [{ role: "user", content: query }],
|
|
155
159
|
output: { text: response },
|
|
156
160
|
});
|
|
157
161
|
|
|
@@ -173,17 +177,18 @@ The output receives a moderate score because it covers employee benefits and som
|
|
|
173
177
|
|
|
174
178
|
In this example, the response only partially addresses the query and misses several important aspects.
|
|
175
179
|
|
|
176
|
-
```typescript
|
|
180
|
+
```typescript title="src/example-low-completeness.ts" showLineNumbers copy
|
|
177
181
|
import { createCompletenessScorer } from "@mastra/evals/scorers/llm";
|
|
178
182
|
|
|
179
|
-
const scorer = createCompletenessScorer({ model:
|
|
183
|
+
const scorer = createCompletenessScorer({ model: "openai/gpt-4o-mini" });
|
|
180
184
|
|
|
181
|
-
const query =
|
|
185
|
+
const query =
|
|
186
|
+
"Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.";
|
|
182
187
|
const response =
|
|
183
188
|
"Renewable energy sources like solar and wind are becoming cheaper. They're better for the environment than fossil fuels.";
|
|
184
189
|
|
|
185
190
|
const result = await scorer.run({
|
|
186
|
-
input: [{ role:
|
|
191
|
+
input: [{ role: "user", content: query }],
|
|
187
192
|
output: { text: response },
|
|
188
193
|
});
|
|
189
194
|
|
|
@@ -206,4 +211,4 @@ The output receives a low score because it only briefly mentions cost and enviro
|
|
|
206
211
|
- [Answer Relevancy Scorer](./answer-relevancy)
|
|
207
212
|
- [Content Similarity Scorer](./content-similarity)
|
|
208
213
|
- [Textual Difference Scorer](./textual-difference)
|
|
209
|
-
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
214
|
+
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Content Similarity | Scorers | Mastra Docs"
|
|
2
|
+
title: "Reference: Content Similarity Scorer | Scorers | Mastra Docs"
|
|
3
3
|
description: Documentation for the Content Similarity Scorer in Mastra, which measures textual similarity between strings and provides a matching score.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -44,7 +44,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
|
|
|
44
44
|
{
|
|
45
45
|
name: "preprocessStepResult",
|
|
46
46
|
type: "object",
|
|
47
|
-
description:
|
|
47
|
+
description:
|
|
48
|
+
"Object with processed input and output: { processedInput: string, processedOutput: string }",
|
|
48
49
|
},
|
|
49
50
|
{
|
|
50
51
|
name: "analyzeStepResult",
|
|
@@ -54,7 +55,8 @@ This function returns an instance of the MastraScorer class. See the [MastraScor
|
|
|
54
55
|
{
|
|
55
56
|
name: "score",
|
|
56
57
|
type: "number",
|
|
57
|
-
description:
|
|
58
|
+
description:
|
|
59
|
+
"Similarity score (0-1) where 1 indicates perfect similarity.",
|
|
58
60
|
},
|
|
59
61
|
]}
|
|
60
62
|
/>
|
|
@@ -82,7 +84,7 @@ Final score: `similarity_value * scale`
|
|
|
82
84
|
|
|
83
85
|
In this example, the response closely resembles the query in both structure and meaning. Minor differences in tense and phrasing do not significantly affect the overall similarity.
|
|
84
86
|
|
|
85
|
-
```typescript
|
|
87
|
+
```typescript title="src/example-high-similarity.ts" showLineNumbers copy
|
|
86
88
|
import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
|
|
87
89
|
|
|
88
90
|
const scorer = createContentSimilarityScorer();
|
|
@@ -91,7 +93,7 @@ const query = "The quick brown fox jumps over the lazy dog.";
|
|
|
91
93
|
const response = "A quick brown fox jumped over a lazy dog.";
|
|
92
94
|
|
|
93
95
|
const result = await scorer.run({
|
|
94
|
-
input: [{ role:
|
|
96
|
+
input: [{ role: "user", content: query }],
|
|
95
97
|
output: { text: response },
|
|
96
98
|
});
|
|
97
99
|
|
|
@@ -115,7 +117,7 @@ The output receives a high score because the response preserves the intent and c
|
|
|
115
117
|
|
|
116
118
|
In this example, the response shares some conceptual overlap with the query but diverges in structure and wording. Key elements remain present, but the phrasing introduces moderate variation.
|
|
117
119
|
|
|
118
|
-
```typescript
|
|
120
|
+
```typescript title="src/example-moderate-similarity.ts" showLineNumbers copy
|
|
119
121
|
import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
|
|
120
122
|
|
|
121
123
|
const scorer = createContentSimilarityScorer();
|
|
@@ -124,7 +126,7 @@ const query = "A brown fox quickly leaps across a sleeping dog.";
|
|
|
124
126
|
const response = "The quick brown fox jumps over the lazy dog.";
|
|
125
127
|
|
|
126
128
|
const result = await scorer.run({
|
|
127
|
-
input: [{ role:
|
|
129
|
+
input: [{ role: "user", content: query }],
|
|
128
130
|
output: { text: response },
|
|
129
131
|
});
|
|
130
132
|
|
|
@@ -148,7 +150,7 @@ The output receives a mid-range score because the response captures the general
|
|
|
148
150
|
|
|
149
151
|
In this example, the response and query are unrelated in meaning, despite having a similar grammatical structure. There is little to no shared content overlap.
|
|
150
152
|
|
|
151
|
-
```typescript
|
|
153
|
+
```typescript title="src/example-low-similarity.ts" showLineNumbers copy
|
|
152
154
|
import { createContentSimilarityScorer } from "@mastra/evals/scorers/llm";
|
|
153
155
|
|
|
154
156
|
const scorer = createContentSimilarityScorer();
|
|
@@ -157,7 +159,7 @@ const query = "The cat sleeps on the windowsill.";
|
|
|
157
159
|
const response = "The quick brown fox jumps over the lazy dog.";
|
|
158
160
|
|
|
159
161
|
const result = await scorer.run({
|
|
160
|
-
input: [{ role:
|
|
162
|
+
input: [{ role: "user", content: query }],
|
|
161
163
|
output: { text: response },
|
|
162
164
|
});
|
|
163
165
|
|
|
@@ -192,4 +194,4 @@ A similarity score between 0 and 1:
|
|
|
192
194
|
- [Completeness Scorer](./completeness)
|
|
193
195
|
- [Textual Difference Scorer](./textual-difference)
|
|
194
196
|
- [Answer Relevancy Scorer](./answer-relevancy)
|
|
195
|
-
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
197
|
+
- [Keyword Coverage Scorer](./keyword-coverage)
|
|
@@ -3,7 +3,7 @@ title: "Reference: Context Precision Scorer | Scorers | Mastra Docs"
|
|
|
3
3
|
description: Documentation for the Context Precision Scorer in Mastra. Evaluates the relevance and precision of retrieved context for generating expected outputs using Mean Average Precision.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import PropertiesTable from "@site/src/components/PropertiesTable";
|
|
7
7
|
|
|
8
8
|
# Context Precision Scorer
|
|
9
9
|
|
|
@@ -14,6 +14,7 @@ It is especially useful for these use cases:
|
|
|
14
14
|
**RAG System Evaluation**
|
|
15
15
|
|
|
16
16
|
Ideal for evaluating retrieved context in RAG pipelines where:
|
|
17
|
+
|
|
17
18
|
- Context ordering matters for model performance
|
|
18
19
|
- You need to measure retrieval quality beyond simple relevance
|
|
19
20
|
- Early relevant context is more valuable than later relevant context
|
|
@@ -21,8 +22,9 @@ Ideal for evaluating retrieved context in RAG pipelines where:
|
|
|
21
22
|
**Context Window Optimization**
|
|
22
23
|
|
|
23
24
|
Use when optimizing context selection for:
|
|
25
|
+
|
|
24
26
|
- Limited context windows
|
|
25
|
-
- Token budget constraints
|
|
27
|
+
- Token budget constraints
|
|
26
28
|
- Multi-step reasoning tasks
|
|
27
29
|
|
|
28
30
|
## Parameters
|
|
@@ -50,7 +52,8 @@ Use when optimizing context selection for:
|
|
|
50
52
|
{
|
|
51
53
|
name: "contextExtractor",
|
|
52
54
|
type: "(input, output) => string[]",
|
|
53
|
-
description:
|
|
55
|
+
description:
|
|
56
|
+
"Function to dynamically extract context from the run input and output",
|
|
54
57
|
required: false,
|
|
55
58
|
},
|
|
56
59
|
{
|
|
@@ -64,7 +67,6 @@ Use when optimizing context selection for:
|
|
|
64
67
|
]}
|
|
65
68
|
/>
|
|
66
69
|
|
|
67
|
-
|
|
68
70
|
**Note**: Either `context` or `contextExtractor` must be provided. If both are provided, `contextExtractor` takes precedence.
|
|
69
71
|
|
|
70
72
|
## .run() Returns
|
|
@@ -74,12 +76,14 @@ Use when optimizing context selection for:
|
|
|
74
76
|
{
|
|
75
77
|
name: "score",
|
|
76
78
|
type: "number",
|
|
77
|
-
description:
|
|
79
|
+
description:
|
|
80
|
+
"Mean Average Precision score between 0 and scale (default 0-1)",
|
|
78
81
|
},
|
|
79
82
|
{
|
|
80
83
|
name: "reason",
|
|
81
84
|
type: "string",
|
|
82
|
-
description:
|
|
85
|
+
description:
|
|
86
|
+
"Human-readable explanation of the context precision evaluation",
|
|
83
87
|
},
|
|
84
88
|
]}
|
|
85
89
|
/>
|
|
@@ -109,7 +113,7 @@ Where:
|
|
|
109
113
|
### Score Interpretation
|
|
110
114
|
|
|
111
115
|
- **0.9-1.0**: Excellent precision - all relevant context early in sequence
|
|
112
|
-
- **0.7-0.8**: Good precision - most relevant context well-positioned
|
|
116
|
+
- **0.7-0.8**: Good precision - most relevant context well-positioned
|
|
113
117
|
- **0.4-0.6**: Moderate precision - relevant context mixed with irrelevant
|
|
114
118
|
- **0.1-0.3**: Poor precision - little relevant context or poorly positioned
|
|
115
119
|
- **0.0**: No relevant context found
|
|
@@ -117,6 +121,7 @@ Where:
|
|
|
117
121
|
### Reason analysis
|
|
118
122
|
|
|
119
123
|
The reason field explains:
|
|
124
|
+
|
|
120
125
|
- Which context pieces were deemed relevant/irrelevant
|
|
121
126
|
- How positioning affected the MAP calculation
|
|
122
127
|
- Specific relevance criteria used in evaluation
|
|
@@ -124,6 +129,7 @@ The reason field explains:
|
|
|
124
129
|
### Optimization insights
|
|
125
130
|
|
|
126
131
|
Use results to:
|
|
132
|
+
|
|
127
133
|
- **Improve retrieval**: Filter out irrelevant context before ranking
|
|
128
134
|
- **Optimize ranking**: Ensure relevant context appears early
|
|
129
135
|
- **Tune chunk size**: Balance context detail vs. relevance precision
|
|
@@ -134,7 +140,7 @@ Use results to:
|
|
|
134
140
|
Given context: `[relevant, irrelevant, relevant, irrelevant]`
|
|
135
141
|
|
|
136
142
|
- Position 0: Relevant → Precision = 1/1 = 1.0
|
|
137
|
-
- Position 1: Skip (irrelevant)
|
|
143
|
+
- Position 1: Skip (irrelevant)
|
|
138
144
|
- Position 2: Relevant → Precision = 2/3 = 0.67
|
|
139
145
|
- Position 3: Skip (irrelevant)
|
|
140
146
|
|
|
@@ -146,15 +152,15 @@ MAP = (1.0 + 0.67) / 2 = 0.835 ≈ **0.83**
|
|
|
146
152
|
|
|
147
153
|
```typescript
|
|
148
154
|
const scorer = createContextPrecisionScorer({
|
|
149
|
-
model:
|
|
155
|
+
model: "openai/gpt-4o-mini",
|
|
150
156
|
options: {
|
|
151
157
|
contextExtractor: (input, output) => {
|
|
152
158
|
// Extract context dynamically based on the query
|
|
153
|
-
const query = input?.inputMessages?.[0]?.content ||
|
|
154
|
-
|
|
159
|
+
const query = input?.inputMessages?.[0]?.content || "";
|
|
160
|
+
|
|
155
161
|
// Example: Retrieve from a vector database
|
|
156
162
|
const searchResults = vectorDB.search(query, { limit: 10 });
|
|
157
|
-
return searchResults.map(result => result.content);
|
|
163
|
+
return searchResults.map((result) => result.content);
|
|
158
164
|
},
|
|
159
165
|
scale: 1,
|
|
160
166
|
},
|
|
@@ -165,15 +171,15 @@ const scorer = createContextPrecisionScorer({
|
|
|
165
171
|
|
|
166
172
|
```typescript
|
|
167
173
|
const scorer = createContextPrecisionScorer({
|
|
168
|
-
model:
|
|
174
|
+
model: "openai/gpt-4o-mini",
|
|
169
175
|
options: {
|
|
170
176
|
context: [
|
|
171
177
|
// Simulate retrieved documents from vector database
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
178
|
+
"Document 1: Highly relevant content...",
|
|
179
|
+
"Document 2: Somewhat related content...",
|
|
180
|
+
"Document 3: Tangentially related...",
|
|
181
|
+
"Document 4: Not relevant...",
|
|
182
|
+
"Document 5: Highly relevant content...",
|
|
177
183
|
// ... up to dozens of context pieces
|
|
178
184
|
],
|
|
179
185
|
},
|
|
@@ -187,15 +193,15 @@ const scorer = createContextPrecisionScorer({
|
|
|
187
193
|
This example shows perfect context precision where all relevant context appears early:
|
|
188
194
|
|
|
189
195
|
```typescript
|
|
190
|
-
import { createContextPrecisionScorer } from
|
|
196
|
+
import { createContextPrecisionScorer } from "@mastra/evals";
|
|
191
197
|
|
|
192
198
|
const scorer = createContextPrecisionScorer({
|
|
193
|
-
model:
|
|
199
|
+
model: "openai/gpt-4o-mini",
|
|
194
200
|
options: {
|
|
195
201
|
context: [
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
"Photosynthesis is the process by which plants convert sunlight, carbon dioxide, and water into glucose and oxygen.",
|
|
203
|
+
"The process occurs in the chloroplasts of plant cells, specifically in the thylakoids.",
|
|
204
|
+
"Light-dependent reactions happen in the thylakoid membranes, while the Calvin cycle occurs in the stroma.",
|
|
199
205
|
],
|
|
200
206
|
scale: 1,
|
|
201
207
|
},
|
|
@@ -205,17 +211,18 @@ const result = await scorer.run({
|
|
|
205
211
|
input: {
|
|
206
212
|
inputMessages: [
|
|
207
213
|
{
|
|
208
|
-
id:
|
|
209
|
-
role:
|
|
210
|
-
content:
|
|
214
|
+
id: "1",
|
|
215
|
+
role: "user",
|
|
216
|
+
content: "How does photosynthesis work in plants?",
|
|
211
217
|
},
|
|
212
218
|
],
|
|
213
219
|
},
|
|
214
220
|
output: [
|
|
215
221
|
{
|
|
216
|
-
id:
|
|
217
|
-
role:
|
|
218
|
-
content:
|
|
222
|
+
id: "2",
|
|
223
|
+
role: "assistant",
|
|
224
|
+
content:
|
|
225
|
+
"Photosynthesis is the process where plants convert sunlight, CO2, and water into glucose and oxygen using chloroplasts.",
|
|
219
226
|
},
|
|
220
227
|
],
|
|
221
228
|
});
|
|
@@ -233,17 +240,17 @@ console.log(result);
|
|
|
233
240
|
This example shows moderate precision with both relevant and irrelevant context:
|
|
234
241
|
|
|
235
242
|
```typescript
|
|
236
|
-
import { createContextPrecisionScorer } from
|
|
243
|
+
import { createContextPrecisionScorer } from "@mastra/evals";
|
|
237
244
|
|
|
238
245
|
const scorer = createContextPrecisionScorer({
|
|
239
|
-
model:
|
|
246
|
+
model: "openai/gpt-4o-mini",
|
|
240
247
|
options: {
|
|
241
248
|
context: [
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
249
|
+
"Regular exercise improves cardiovascular health by strengthening the heart muscle.",
|
|
250
|
+
"A balanced diet should include fruits, vegetables, and whole grains.",
|
|
251
|
+
"Physical activity releases endorphins which improve mood and reduce stress.",
|
|
252
|
+
"The average person should drink 8 glasses of water per day.",
|
|
253
|
+
"Exercise also helps maintain healthy body weight and muscle mass.",
|
|
247
254
|
],
|
|
248
255
|
scale: 1,
|
|
249
256
|
},
|
|
@@ -253,17 +260,18 @@ const result = await scorer.run({
|
|
|
253
260
|
input: {
|
|
254
261
|
inputMessages: [
|
|
255
262
|
{
|
|
256
|
-
id:
|
|
257
|
-
role:
|
|
258
|
-
content:
|
|
263
|
+
id: "1",
|
|
264
|
+
role: "user",
|
|
265
|
+
content: "What are the mental and physical benefits of exercise?",
|
|
259
266
|
},
|
|
260
267
|
],
|
|
261
268
|
},
|
|
262
269
|
output: [
|
|
263
270
|
{
|
|
264
|
-
id:
|
|
265
|
-
role:
|
|
266
|
-
content:
|
|
271
|
+
id: "2",
|
|
272
|
+
role: "assistant",
|
|
273
|
+
content:
|
|
274
|
+
"Exercise provides cardiovascular benefits, improves mood through endorphin release, and helps maintain healthy body composition.",
|
|
267
275
|
},
|
|
268
276
|
],
|
|
269
277
|
});
|
|
@@ -276,22 +284,22 @@ console.log(result);
|
|
|
276
284
|
// }
|
|
277
285
|
```
|
|
278
286
|
|
|
279
|
-
### Low precision example
|
|
287
|
+
### Low precision example
|
|
280
288
|
|
|
281
289
|
This example shows poor context precision with mostly irrelevant context:
|
|
282
290
|
|
|
283
291
|
```typescript
|
|
284
|
-
import { createContextPrecisionScorer } from
|
|
292
|
+
import { createContextPrecisionScorer } from "@mastra/evals";
|
|
285
293
|
|
|
286
294
|
const scorer = createContextPrecisionScorer({
|
|
287
|
-
model:
|
|
295
|
+
model: "openai/gpt-4o-mini",
|
|
288
296
|
options: {
|
|
289
297
|
context: [
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
298
|
+
"The weather forecast shows sunny skies this weekend.",
|
|
299
|
+
"Coffee is one of the world's most popular beverages.",
|
|
300
|
+
"Machine learning requires large amounts of training data.",
|
|
301
|
+
"Cats typically sleep 12-16 hours per day.",
|
|
302
|
+
"The capital of France is Paris.",
|
|
295
303
|
],
|
|
296
304
|
scale: 1,
|
|
297
305
|
},
|
|
@@ -301,17 +309,18 @@ const result = await scorer.run({
|
|
|
301
309
|
input: {
|
|
302
310
|
inputMessages: [
|
|
303
311
|
{
|
|
304
|
-
id:
|
|
305
|
-
role:
|
|
306
|
-
content:
|
|
312
|
+
id: "1",
|
|
313
|
+
role: "user",
|
|
314
|
+
content: "How does photosynthesis work?",
|
|
307
315
|
},
|
|
308
316
|
],
|
|
309
317
|
},
|
|
310
318
|
output: [
|
|
311
319
|
{
|
|
312
|
-
id:
|
|
313
|
-
role:
|
|
314
|
-
content:
|
|
320
|
+
id: "2",
|
|
321
|
+
role: "assistant",
|
|
322
|
+
content:
|
|
323
|
+
"Photosynthesis is the process by which plants convert sunlight into energy using chlorophyll.",
|
|
315
324
|
},
|
|
316
325
|
],
|
|
317
326
|
});
|
|
@@ -328,16 +337,16 @@ console.log(result);
|
|
|
328
337
|
|
|
329
338
|
Choose the right scorer for your needs:
|
|
330
339
|
|
|
331
|
-
| Use Case
|
|
332
|
-
|
|
333
|
-
| **RAG evaluation**
|
|
334
|
-
| **Context quality**
|
|
335
|
-
| **Missing detection**
|
|
336
|
-
| **Usage tracking**
|
|
337
|
-
| **Position sensitivity** | ✗ Position agnostic
|
|
340
|
+
| Use Case | Context Relevance | Context Precision |
|
|
341
|
+
| ------------------------ | -------------------- | ------------------------- |
|
|
342
|
+
| **RAG evaluation** | When usage matters | When ranking matters |
|
|
343
|
+
| **Context quality** | Nuanced levels | Binary relevance |
|
|
344
|
+
| **Missing detection** | ✓ Identifies gaps | ✗ Not evaluated |
|
|
345
|
+
| **Usage tracking** | ✓ Tracks utilization | ✗ Not considered |
|
|
346
|
+
| **Position sensitivity** | ✗ Position agnostic | ✓ Rewards early placement |
|
|
338
347
|
|
|
339
348
|
## Related
|
|
340
349
|
|
|
341
350
|
- [Answer Relevancy Scorer](/reference/scorers/answer-relevancy) - Evaluates if answers address the question
|
|
342
351
|
- [Faithfulness Scorer](/reference/scorers/faithfulness) - Measures answer groundedness in context
|
|
343
|
-
- [Custom Scorers](/docs/scorers/custom-scorers) - Creating your own evaluation metrics
|
|
352
|
+
- [Custom Scorers](/docs/scorers/custom-scorers) - Creating your own evaluation metrics
|