@mastra/mcp-docs-server 0.13.39 → 1.0.0-beta.1
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%2Fai-sdk-v4.md +1 -0
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +0 -10
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +36 -36
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +0 -10
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +40 -40
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +4 -14
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +220 -220
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +7 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +210 -210
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +70 -70
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +209 -209
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +191 -191
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +34 -34
- package/.docs/organized/changelogs/%40mastra%2Ffastembed.md +5 -13
- package/.docs/organized/changelogs/%40mastra%2Flance.md +182 -182
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +65 -65
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +228 -228
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +199 -199
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +206 -206
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +19 -19
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +197 -197
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +216 -216
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Frag.md +61 -61
- package/.docs/organized/changelogs/%40mastra%2Freact.md +66 -66
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -17
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -30
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +203 -203
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +16 -16
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +190 -190
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +18 -18
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +21 -21
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +20 -20
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +20 -20
- package/.docs/organized/changelogs/create-mastra.md +29 -29
- package/.docs/organized/changelogs/mastra.md +93 -93
- package/.docs/organized/code-examples/a2a.md +4 -2
- package/.docs/organized/code-examples/agui.md +12 -9
- package/.docs/organized/code-examples/ai-sdk-useChat.md +12 -18
- package/.docs/organized/code-examples/ai-sdk-v5.md +4 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +5 -4
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +4 -3
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +4 -3
- package/.docs/organized/code-examples/client-side-tools.md +1 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +1 -1
- package/.docs/organized/code-examples/experimental-auth-weather-agent.md +8 -177
- package/.docs/organized/code-examples/fireworks-r1.md +2 -2
- package/.docs/organized/code-examples/heads-up-game.md +10 -7
- package/.docs/organized/code-examples/mcp-configuration.md +5 -3
- package/.docs/organized/code-examples/mcp-registry-registry.md +3 -2
- package/.docs/organized/code-examples/memory-per-resource-example.md +4 -2
- package/.docs/organized/code-examples/memory-todo-agent.md +1 -0
- package/.docs/organized/code-examples/memory-with-context.md +2 -1
- package/.docs/organized/code-examples/memory-with-libsql.md +4 -2
- package/.docs/organized/code-examples/memory-with-mongodb.md +4 -2
- package/.docs/organized/code-examples/memory-with-pg.md +4 -2
- package/.docs/organized/code-examples/memory-with-processors.md +13 -8
- package/.docs/organized/code-examples/memory-with-upstash.md +5 -3
- package/.docs/organized/code-examples/openapi-spec-writer.md +32 -41
- package/.docs/organized/code-examples/quick-start.md +5 -32
- package/.docs/organized/code-examples/stock-price-tool.md +6 -5
- package/.docs/organized/code-examples/weather-agent.md +21 -16
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +3 -2
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +9 -12
- package/.docs/organized/code-examples/workflow-with-memory.md +16 -15
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +2 -2
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +3 -2
- package/.docs/raw/agents/adding-voice.mdx +27 -22
- package/.docs/raw/agents/agent-memory.mdx +24 -16
- package/.docs/raw/agents/guardrails.mdx +33 -12
- package/.docs/raw/agents/networks.mdx +8 -4
- package/.docs/raw/agents/overview.mdx +23 -17
- package/.docs/raw/agents/using-tools.mdx +11 -8
- package/.docs/raw/auth/auth0.mdx +9 -9
- package/.docs/raw/auth/clerk.mdx +7 -7
- package/.docs/raw/auth/firebase.mdx +9 -9
- package/.docs/raw/auth/index.mdx +6 -6
- package/.docs/raw/auth/jwt.mdx +7 -7
- package/.docs/raw/auth/supabase.mdx +8 -8
- package/.docs/raw/auth/workos.mdx +9 -9
- package/.docs/raw/community/contributing-templates.mdx +3 -3
- package/.docs/raw/community/discord.mdx +1 -1
- package/.docs/raw/course/01-first-agent/03-verifying-installation.md +1 -1
- package/.docs/raw/course/01-first-agent/08-exporting-your-agent.md +2 -1
- package/.docs/raw/course/01-first-agent/16-adding-memory-to-agent.md +2 -1
- package/.docs/raw/course/02-agent-tools-mcp/02-installing-mcp.md +1 -1
- package/.docs/raw/course/02-agent-tools-mcp/31-enhancing-memory-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/03-installing-memory.md +1 -1
- package/.docs/raw/course/03-agent-memory/04-creating-basic-memory-agent.md +1 -0
- package/.docs/raw/course/03-agent-memory/10-storage-configuration.md +2 -3
- package/.docs/raw/course/03-agent-memory/13-vector-store-configuration.md +2 -0
- package/.docs/raw/course/03-agent-memory/16-configuring-semantic-recall.md +2 -0
- package/.docs/raw/course/03-agent-memory/18-advanced-configuration-semantic-recall.md +1 -0
- package/.docs/raw/course/03-agent-memory/21-configuring-working-memory.md +2 -0
- package/.docs/raw/course/03-agent-memory/22-custom-working-memory-templates.md +1 -0
- package/.docs/raw/course/03-agent-memory/25-combining-memory-features.md +1 -0
- package/.docs/raw/course/03-agent-memory/27-creating-learning-assistant.md +1 -0
- package/.docs/raw/course/04-workflows/08-running-workflows-programmatically.md +2 -2
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +6 -6
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +8 -6
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +5 -5
- package/.docs/raw/deployment/cloud-providers/index.mdx +11 -8
- package/.docs/raw/deployment/monorepo.mdx +2 -2
- package/.docs/raw/deployment/overview.mdx +2 -2
- package/.docs/raw/deployment/server-deployment.mdx +2 -10
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +5 -5
- package/.docs/raw/deployment/serverless-platforms/index.mdx +10 -7
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +5 -5
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +5 -5
- package/.docs/raw/deployment/web-framework.mdx +8 -8
- package/.docs/raw/{scorers → evals}/custom-scorers.mdx +6 -6
- package/.docs/raw/evals/off-the-shelf-scorers.mdx +50 -0
- package/.docs/raw/{scorers → evals}/overview.mdx +9 -9
- package/.docs/raw/evals/running-in-ci.mdx +113 -0
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +26 -25
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +1 -1
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +17 -17
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +4 -1
- package/.docs/raw/frameworks/servers/express.mdx +11 -10
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +18 -18
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +7 -7
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +16 -16
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +7 -7
- package/.docs/raw/getting-started/installation.mdx +26 -25
- package/.docs/raw/getting-started/mcp-docs-server.mdx +1 -1
- package/.docs/raw/getting-started/project-structure.mdx +4 -4
- package/.docs/raw/getting-started/studio.mdx +8 -8
- package/.docs/raw/getting-started/templates.mdx +6 -6
- package/.docs/raw/guides/guide/ai-recruiter.mdx +264 -0
- package/.docs/raw/guides/guide/chef-michel.mdx +271 -0
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +450 -0
- package/.docs/raw/guides/guide/research-assistant.mdx +380 -0
- package/.docs/raw/guides/guide/stock-agent.mdx +185 -0
- package/.docs/raw/guides/guide/web-search.mdx +291 -0
- package/.docs/raw/guides/index.mdx +43 -0
- package/.docs/raw/guides/migrations/agentnetwork.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/_template.mdx +50 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +265 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/cli.mdx +48 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +153 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +230 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +171 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +114 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +241 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +83 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/processors.mdx +62 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +270 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +115 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tracing.mdx +280 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +23 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/voice.mdx +39 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +178 -0
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +367 -0
- package/.docs/raw/guides/quickstarts/nextjs.mdx +275 -0
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/{observability/logging.mdx → logging.mdx} +4 -4
- package/.docs/raw/mastra-cloud/dashboard.mdx +2 -2
- package/.docs/raw/mastra-cloud/observability.mdx +6 -6
- package/.docs/raw/mastra-cloud/overview.mdx +2 -2
- package/.docs/raw/mastra-cloud/setting-up.mdx +4 -4
- package/.docs/raw/memory/conversation-history.mdx +1 -0
- package/.docs/raw/memory/memory-processors.mdx +4 -3
- package/.docs/raw/memory/overview.mdx +10 -6
- package/.docs/raw/memory/semantic-recall.mdx +13 -8
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +12 -7
- package/.docs/raw/memory/storage/memory-with-pg.mdx +11 -6
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +11 -6
- package/.docs/raw/memory/threads-and-resources.mdx +11 -13
- package/.docs/raw/memory/working-memory.mdx +30 -14
- package/.docs/raw/observability/overview.mdx +13 -30
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/arize.mdx +11 -19
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/cloud.mdx +11 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/default.mdx +16 -20
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +8 -17
- package/.docs/raw/observability/{ai-tracing → tracing}/exporters/otel.mdx +12 -21
- package/.docs/raw/observability/{ai-tracing → tracing}/overview.mdx +107 -142
- package/.docs/raw/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +14 -13
- package/.docs/raw/rag/chunking-and-embedding.mdx +5 -5
- package/.docs/raw/rag/overview.mdx +3 -13
- package/.docs/raw/rag/retrieval.mdx +24 -12
- package/.docs/raw/rag/vector-databases.mdx +7 -1
- package/.docs/raw/reference/agents/agent.mdx +35 -30
- package/.docs/raw/reference/agents/generate.mdx +10 -10
- package/.docs/raw/reference/agents/generateLegacy.mdx +8 -8
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +21 -15
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +69 -0
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +22 -16
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +8 -8
- package/.docs/raw/reference/agents/getLLM.mdx +9 -9
- package/.docs/raw/reference/agents/getMemory.mdx +9 -9
- package/.docs/raw/reference/agents/getModel.mdx +10 -10
- package/.docs/raw/reference/agents/getVoice.mdx +8 -8
- package/.docs/raw/reference/agents/listAgents.mdx +9 -9
- package/.docs/raw/reference/agents/listScorers.mdx +7 -7
- package/.docs/raw/reference/agents/listTools.mdx +7 -7
- package/.docs/raw/reference/agents/listWorkflows.mdx +7 -7
- package/.docs/raw/reference/agents/network.mdx +11 -10
- package/.docs/raw/reference/auth/auth0.mdx +4 -4
- package/.docs/raw/reference/auth/clerk.mdx +4 -4
- package/.docs/raw/reference/auth/firebase.mdx +6 -6
- package/.docs/raw/reference/auth/jwt.mdx +4 -4
- package/.docs/raw/reference/auth/supabase.mdx +4 -4
- package/.docs/raw/reference/auth/workos.mdx +4 -4
- package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
- package/.docs/raw/reference/cli/mastra.mdx +7 -7
- package/.docs/raw/reference/client-js/agents.mdx +6 -2
- package/.docs/raw/reference/client-js/mastra-client.mdx +7 -7
- package/.docs/raw/reference/client-js/memory.mdx +24 -16
- package/.docs/raw/reference/client-js/observability.mdx +11 -11
- package/.docs/raw/reference/client-js/workflows.mdx +6 -34
- package/.docs/raw/reference/core/getAgent.mdx +1 -1
- package/.docs/raw/reference/core/getAgentById.mdx +1 -1
- package/.docs/raw/reference/core/getDeployer.mdx +2 -2
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +31 -15
- package/.docs/raw/reference/core/getMCPServerById.mdx +81 -0
- package/.docs/raw/reference/core/getScorer.mdx +3 -3
- package/.docs/raw/reference/core/getScorerById.mdx +79 -0
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +2 -2
- package/.docs/raw/reference/core/getTelemetry.mdx +2 -2
- package/.docs/raw/reference/core/getVector.mdx +2 -2
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +2 -2
- package/.docs/raw/reference/core/listLogsByRunId.mdx +2 -2
- package/.docs/raw/reference/core/listMCPServers.mdx +65 -0
- package/.docs/raw/reference/core/listScorers.mdx +3 -3
- package/.docs/raw/reference/core/listVectors.mdx +36 -0
- package/.docs/raw/reference/core/listWorkflows.mdx +6 -6
- package/.docs/raw/reference/core/mastra-class.mdx +3 -2
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +3 -2
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +2 -2
- package/.docs/raw/reference/deployer/deployer.mdx +0 -6
- package/.docs/raw/reference/deployer/netlify.mdx +2 -2
- package/.docs/raw/reference/deployer/vercel.mdx +3 -3
- package/.docs/raw/reference/evals/answer-relevancy.mdx +164 -126
- package/.docs/raw/reference/{scorers → evals}/answer-similarity.mdx +27 -27
- package/.docs/raw/reference/evals/bias.mdx +149 -115
- package/.docs/raw/reference/evals/completeness.mdx +148 -117
- package/.docs/raw/reference/evals/content-similarity.mdx +126 -113
- package/.docs/raw/reference/evals/context-precision.mdx +290 -133
- package/.docs/raw/reference/{scorers → evals}/context-relevance.mdx +6 -6
- package/.docs/raw/reference/{scorers → evals}/create-scorer.mdx +69 -60
- package/.docs/raw/reference/evals/faithfulness.mdx +163 -121
- package/.docs/raw/reference/evals/hallucination.mdx +159 -132
- package/.docs/raw/reference/evals/keyword-coverage.mdx +169 -125
- package/.docs/raw/reference/{scorers → evals}/mastra-scorer.mdx +7 -5
- package/.docs/raw/reference/{scorers → evals}/noise-sensitivity.mdx +9 -9
- package/.docs/raw/reference/evals/prompt-alignment.mdx +604 -182
- package/.docs/raw/reference/{scorers/run-experiment.mdx → evals/run-evals.mdx} +17 -18
- package/.docs/raw/reference/evals/textual-difference.mdx +149 -117
- package/.docs/raw/reference/evals/tone-consistency.mdx +149 -125
- package/.docs/raw/reference/{scorers → evals}/tool-call-accuracy.mdx +8 -6
- package/.docs/raw/reference/evals/toxicity.mdx +152 -96
- package/.docs/raw/reference/{observability/logging → logging}/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +5 -5
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -7
- package/.docs/raw/reference/memory/getThreadById.mdx +4 -4
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +110 -0
- package/.docs/raw/reference/memory/memory-class.mdx +13 -9
- package/.docs/raw/reference/memory/query.mdx +58 -57
- package/.docs/raw/reference/memory/recall.mdx +185 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +245 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/arize.mdx +13 -13
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/braintrust.mdx +11 -8
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/cloud-exporter.mdx +21 -19
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/console-exporter.mdx +49 -17
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/default-exporter.mdx +42 -41
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langfuse.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/langsmith.mdx +10 -7
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/exporters/otel.mdx +5 -5
- package/.docs/raw/reference/observability/tracing/instances.mdx +168 -0
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/interfaces.mdx +115 -89
- package/.docs/raw/reference/observability/{ai-tracing → tracing}/processors/sensitive-data-filter.mdx +3 -3
- package/.docs/raw/reference/observability/{ai-tracing/span.mdx → tracing/spans.mdx} +59 -41
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +9 -3
- package/.docs/raw/reference/processors/language-detector.mdx +9 -3
- package/.docs/raw/reference/processors/moderation-processor.mdx +9 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +9 -3
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +9 -3
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +9 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +9 -3
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +9 -3
- package/.docs/raw/reference/rag/chunk.mdx +1 -8
- package/.docs/raw/reference/rag/database-config.mdx +7 -7
- package/.docs/raw/reference/rag/metadata-filters.mdx +14 -11
- 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 +3 -3
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +3 -1
- package/.docs/raw/reference/storage/mongodb.mdx +1 -1
- package/.docs/raw/reference/storage/mssql.mdx +6 -1
- package/.docs/raw/reference/storage/postgresql.mdx +7 -1
- package/.docs/raw/reference/storage/upstash.mdx +2 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +12 -12
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +8 -8
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +3 -3
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +6 -6
- package/.docs/raw/reference/streaming/workflows/stream.mdx +10 -10
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +11 -11
- package/.docs/raw/reference/templates/overview.mdx +3 -3
- package/.docs/raw/reference/tools/create-tool.mdx +52 -35
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +15 -15
- package/.docs/raw/reference/tools/mcp-client.mdx +1 -1
- package/.docs/raw/reference/tools/mcp-server.mdx +119 -35
- package/.docs/raw/reference/tools/vector-query-tool.mdx +27 -26
- package/.docs/raw/reference/vectors/couchbase.mdx +8 -2
- package/.docs/raw/reference/vectors/libsql.mdx +2 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +7 -1
- package/.docs/raw/reference/vectors/pg.mdx +3 -0
- package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -0
- package/.docs/raw/reference/voice/google-gemini-live.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +3 -3
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -4
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +14 -14
- package/.docs/raw/reference/workflows/run-methods/start.mdx +17 -17
- package/.docs/raw/reference/workflows/run.mdx +1 -8
- package/.docs/raw/reference/workflows/step.mdx +5 -5
- 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 -13
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +5 -0
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow.mdx +1 -1
- package/.docs/raw/server-db/custom-api-routes.mdx +2 -2
- package/.docs/raw/server-db/mastra-client.mdx +23 -22
- package/.docs/raw/server-db/middleware.mdx +7 -7
- package/.docs/raw/server-db/production-server.mdx +4 -4
- package/.docs/raw/server-db/{runtime-context.mdx → request-context.mdx} +46 -45
- package/.docs/raw/server-db/storage.mdx +29 -21
- package/.docs/raw/streaming/events.mdx +3 -3
- package/.docs/raw/streaming/overview.mdx +5 -5
- package/.docs/raw/streaming/tool-streaming.mdx +18 -17
- package/.docs/raw/streaming/workflow-streaming.mdx +1 -1
- package/.docs/raw/tools-mcp/advanced-usage.mdx +5 -4
- package/.docs/raw/tools-mcp/mcp-overview.mdx +33 -20
- package/.docs/raw/tools-mcp/overview.mdx +11 -11
- package/.docs/raw/voice/overview.mdx +63 -43
- package/.docs/raw/voice/speech-to-speech.mdx +5 -3
- package/.docs/raw/voice/speech-to-text.mdx +10 -9
- package/.docs/raw/voice/text-to-speech.mdx +13 -12
- package/.docs/raw/workflows/agents-and-tools.mdx +9 -5
- package/.docs/raw/workflows/control-flow.mdx +3 -3
- package/.docs/raw/workflows/error-handling.mdx +2 -21
- package/.docs/raw/workflows/human-in-the-loop.mdx +7 -4
- package/.docs/raw/workflows/inngest-workflow.mdx +3 -3
- package/.docs/raw/workflows/input-data-mapping.mdx +107 -0
- package/.docs/raw/workflows/overview.mdx +17 -16
- package/.docs/raw/workflows/snapshots.mdx +13 -11
- package/.docs/raw/workflows/suspend-and-resume.mdx +23 -15
- package/CHANGELOG.md +55 -53
- package/README.md +11 -2
- package/dist/{chunk-TUAHUTTB.js → chunk-5NJC7NRO.js} +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/prompts/migration.d.ts +6 -0
- package/dist/prompts/migration.d.ts.map +1 -0
- package/dist/stdio.js +402 -30
- package/dist/tools/migration.d.ts +40 -0
- package/dist/tools/migration.d.ts.map +1 -0
- package/package.json +8 -12
- package/.docs/organized/changelogs/%40mastra%2Fcloud.md +0 -302
- package/.docs/raw/observability/nextjs-tracing.mdx +0 -109
- package/.docs/raw/observability/otel-tracing.mdx +0 -189
- package/.docs/raw/reference/agents/getScorers.mdx +0 -69
- package/.docs/raw/reference/agents/getTools.mdx +0 -69
- package/.docs/raw/reference/agents/getWorkflows.mdx +0 -69
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +0 -143
- package/.docs/raw/reference/core/getAgents.mdx +0 -35
- package/.docs/raw/reference/core/getLogs.mdx +0 -96
- package/.docs/raw/reference/core/getLogsByRunId.mdx +0 -87
- package/.docs/raw/reference/core/getMCPServers.mdx +0 -36
- package/.docs/raw/reference/core/getMemory.mdx +0 -36
- package/.docs/raw/reference/core/getScorerByName.mdx +0 -78
- package/.docs/raw/reference/core/getScorers.mdx +0 -43
- package/.docs/raw/reference/core/getVectors.mdx +0 -36
- package/.docs/raw/reference/core/getWorkflows.mdx +0 -45
- package/.docs/raw/reference/evals/context-position.mdx +0 -197
- package/.docs/raw/reference/evals/context-relevancy.mdx +0 -196
- package/.docs/raw/reference/evals/contextual-recall.mdx +0 -196
- package/.docs/raw/reference/evals/summarization.mdx +0 -212
- package/.docs/raw/reference/legacyWorkflows/after.mdx +0 -89
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +0 -79
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +0 -33
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +0 -76
- package/.docs/raw/reference/legacyWorkflows/else.mdx +0 -68
- package/.docs/raw/reference/legacyWorkflows/events.mdx +0 -305
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +0 -110
- package/.docs/raw/reference/legacyWorkflows/if.mdx +0 -108
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +0 -158
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +0 -133
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +0 -207
- package/.docs/raw/reference/legacyWorkflows/start.mdx +0 -87
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +0 -100
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +0 -137
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +0 -93
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +0 -69
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +0 -196
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +0 -70
- package/.docs/raw/reference/legacyWorkflows/then.mdx +0 -72
- package/.docs/raw/reference/legacyWorkflows/until.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +0 -124
- package/.docs/raw/reference/legacyWorkflows/while.mdx +0 -168
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +0 -234
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +0 -79
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +0 -110
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +0 -185
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +0 -238
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +0 -117
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +0 -81
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +0 -121
- package/.docs/raw/reference/observability/otel-tracing/providers/braintrust.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +0 -20
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +0 -73
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +0 -41
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +0 -84
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +0 -48
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +0 -43
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +0 -40
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +0 -40
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +0 -227
- package/.docs/raw/reference/scorers/bias.mdx +0 -228
- package/.docs/raw/reference/scorers/completeness.mdx +0 -214
- package/.docs/raw/reference/scorers/content-similarity.mdx +0 -197
- package/.docs/raw/reference/scorers/context-precision.mdx +0 -352
- package/.docs/raw/reference/scorers/faithfulness.mdx +0 -241
- package/.docs/raw/reference/scorers/hallucination.mdx +0 -252
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +0 -229
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +0 -668
- package/.docs/raw/reference/scorers/textual-difference.mdx +0 -203
- package/.docs/raw/reference/scorers/tone-consistency.mdx +0 -211
- package/.docs/raw/reference/scorers/toxicity.mdx +0 -228
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +0 -73
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +0 -24
- package/.docs/raw/scorers/evals-old-api/overview.mdx +0 -106
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +0 -85
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +0 -58
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +0 -50
- package/.docs/raw/workflows-legacy/control-flow.mdx +0 -774
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +0 -239
- package/.docs/raw/workflows-legacy/error-handling.mdx +0 -187
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +0 -360
- package/.docs/raw/workflows-legacy/overview.mdx +0 -182
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +0 -156
- package/.docs/raw/workflows-legacy/steps.mdx +0 -115
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +0 -406
- package/.docs/raw/workflows-legacy/variables.mdx +0 -318
|
@@ -1,189 +1,227 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference:
|
|
3
|
-
description: Documentation for the Answer Relevancy
|
|
2
|
+
title: "Reference: Answer Relevancy Scorer | Evals | Mastra Docs"
|
|
3
|
+
description: Documentation for the Answer Relevancy Scorer in Mastra, which evaluates how well LLM outputs address the input query.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Answer Relevancy Scorer
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
This documentation refers to the legacy evals API. For the latest scorer features, see [Scorers](/docs/scorers/overview).
|
|
10
|
-
:::
|
|
8
|
+
The `createAnswerRelevancyScorer()` function accepts a single options object with the following properties:
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## Basic Usage
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import { openai } from "@ai-sdk/openai";
|
|
18
|
-
import { AnswerRelevancyMetric } from "@mastra/evals/llm";
|
|
19
|
-
|
|
20
|
-
// Configure the model for evaluation
|
|
21
|
-
const model = openai("gpt-4o-mini");
|
|
22
|
-
|
|
23
|
-
const metric = new AnswerRelevancyMetric(model, {
|
|
24
|
-
uncertaintyWeight: 0.3,
|
|
25
|
-
scale: 1,
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
const result = await metric.measure(
|
|
29
|
-
"What is the capital of France?",
|
|
30
|
-
"Paris is the capital of France.",
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
console.log(result.score); // Score from 0-1
|
|
34
|
-
console.log(result.info.reason); // Explanation of the score
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Constructor Parameters
|
|
10
|
+
## Parameters
|
|
38
11
|
|
|
39
12
|
<PropertiesTable
|
|
40
13
|
content={[
|
|
41
14
|
{
|
|
42
15
|
name: "model",
|
|
43
16
|
type: "LanguageModel",
|
|
44
|
-
|
|
45
|
-
|
|
17
|
+
required: true,
|
|
18
|
+
description: "Configuration for the model used to evaluate relevancy.",
|
|
46
19
|
},
|
|
47
|
-
{
|
|
48
|
-
name: "options",
|
|
49
|
-
type: "AnswerRelevancyMetricOptions",
|
|
50
|
-
description: "Configuration options for the metric",
|
|
51
|
-
isOptional: true,
|
|
52
|
-
defaultValue: "{ uncertaintyWeight: 0.3, scale: 1 }",
|
|
53
|
-
},
|
|
54
|
-
]}
|
|
55
|
-
/>
|
|
56
|
-
|
|
57
|
-
### AnswerRelevancyMetricOptions
|
|
58
|
-
|
|
59
|
-
<PropertiesTable
|
|
60
|
-
content={[
|
|
61
20
|
{
|
|
62
21
|
name: "uncertaintyWeight",
|
|
63
22
|
type: "number",
|
|
64
|
-
|
|
65
|
-
isOptional: true,
|
|
23
|
+
required: false,
|
|
66
24
|
defaultValue: "0.3",
|
|
25
|
+
description: "Weight given to 'unsure' verdicts in scoring (0-1).",
|
|
67
26
|
},
|
|
68
27
|
{
|
|
69
28
|
name: "scale",
|
|
70
29
|
type: "number",
|
|
71
|
-
|
|
72
|
-
isOptional: true,
|
|
30
|
+
required: false,
|
|
73
31
|
defaultValue: "1",
|
|
32
|
+
description: "Maximum score value.",
|
|
74
33
|
},
|
|
75
34
|
]}
|
|
76
35
|
/>
|
|
77
36
|
|
|
78
|
-
|
|
37
|
+
This function returns an instance of the MastraScorer class. The `.run()` method accepts the same input as other scorers (see the [MastraScorer reference](./mastra-scorer)), but the return value includes LLM-specific fields as documented below.
|
|
38
|
+
|
|
39
|
+
## .run() Returns
|
|
79
40
|
|
|
80
41
|
<PropertiesTable
|
|
81
42
|
content={[
|
|
82
43
|
{
|
|
83
|
-
name: "
|
|
44
|
+
name: "runId",
|
|
84
45
|
type: "string",
|
|
85
|
-
description: "The
|
|
86
|
-
isOptional: false,
|
|
46
|
+
description: "The id of the run (optional).",
|
|
87
47
|
},
|
|
88
|
-
{
|
|
89
|
-
name: "output",
|
|
90
|
-
type: "string",
|
|
91
|
-
description: "The LLM's response to evaluate",
|
|
92
|
-
isOptional: false,
|
|
93
|
-
},
|
|
94
|
-
]}
|
|
95
|
-
/>
|
|
96
|
-
|
|
97
|
-
## Returns
|
|
98
|
-
|
|
99
|
-
<PropertiesTable
|
|
100
|
-
content={[
|
|
101
48
|
{
|
|
102
49
|
name: "score",
|
|
103
50
|
type: "number",
|
|
104
51
|
description: "Relevancy score (0 to scale, default 0-1)",
|
|
105
52
|
},
|
|
106
53
|
{
|
|
107
|
-
name: "
|
|
54
|
+
name: "preprocessPrompt",
|
|
55
|
+
type: "string",
|
|
56
|
+
description:
|
|
57
|
+
"The prompt sent to the LLM for the preprocess step (optional).",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "preprocessStepResult",
|
|
108
61
|
type: "object",
|
|
109
|
-
description: "Object
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
62
|
+
description: "Object with extracted statements: { statements: string[] }",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "analyzePrompt",
|
|
66
|
+
type: "string",
|
|
67
|
+
description:
|
|
68
|
+
"The prompt sent to the LLM for the analyze step (optional).",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "analyzeStepResult",
|
|
72
|
+
type: "object",
|
|
73
|
+
description:
|
|
74
|
+
"Object with results: { results: Array<{ result: 'yes' | 'unsure' | 'no', reason: string }> }",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "generateReasonPrompt",
|
|
78
|
+
type: "string",
|
|
79
|
+
description: "The prompt sent to the LLM for the reason step (optional).",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: "reason",
|
|
83
|
+
type: "string",
|
|
84
|
+
description: "Explanation of the score.",
|
|
122
85
|
},
|
|
123
86
|
]}
|
|
124
87
|
/>
|
|
125
88
|
|
|
126
89
|
## Scoring Details
|
|
127
90
|
|
|
128
|
-
The
|
|
91
|
+
The scorer evaluates relevancy through query-answer alignment, considering completeness and detail level, but not factual correctness.
|
|
129
92
|
|
|
130
93
|
### Scoring Process
|
|
131
94
|
|
|
132
|
-
1. Statement
|
|
133
|
-
- Breaks output into meaningful statements while preserving context
|
|
134
|
-
|
|
95
|
+
1. **Statement Preprocess:**
|
|
96
|
+
- Breaks output into meaningful statements while preserving context.
|
|
97
|
+
2. **Relevance Analysis:**
|
|
98
|
+
- Each statement is evaluated as:
|
|
99
|
+
- "yes": Full weight for direct matches
|
|
100
|
+
- "unsure": Partial weight (default: 0.3) for approximate matches
|
|
101
|
+
- "no": Zero weight for irrelevant content
|
|
102
|
+
3. **Score Calculation:**
|
|
103
|
+
- `((direct + uncertainty * partial) / total_statements) * scale`
|
|
104
|
+
|
|
105
|
+
### Score Interpretation
|
|
106
|
+
|
|
107
|
+
A relevancy score between 0 and 1:
|
|
108
|
+
|
|
109
|
+
- **1.0**: The response fully answers the query with relevant and focused information.
|
|
110
|
+
- **0.7–0.9**: The response mostly answers the query but may include minor unrelated content.
|
|
111
|
+
- **0.4–0.6**: The response partially answers the query, mixing relevant and unrelated information.
|
|
112
|
+
- **0.1–0.3**: The response includes minimal relevant content and largely misses the intent of the query.
|
|
113
|
+
- **0.0**: The response is entirely unrelated and does not answer the query.
|
|
114
|
+
|
|
115
|
+
## Examples
|
|
116
|
+
|
|
117
|
+
### High relevancy example
|
|
118
|
+
|
|
119
|
+
In this example, the response accurately addresses the input query with specific and relevant information.
|
|
120
|
+
|
|
121
|
+
```typescript title="src/example-high-answer-relevancy.ts" showLineNumbers copy
|
|
122
|
+
import { createAnswerRelevancyScorer } from "@mastra/evals/scorers/prebuilt";
|
|
123
|
+
|
|
124
|
+
const scorer = createAnswerRelevancyScorer({ model: "openai/gpt-4o-mini" });
|
|
125
|
+
|
|
126
|
+
const inputMessages = [
|
|
127
|
+
{
|
|
128
|
+
role: "user",
|
|
129
|
+
content: "What are the health benefits of regular exercise?",
|
|
130
|
+
},
|
|
131
|
+
];
|
|
132
|
+
const outputMessage = {
|
|
133
|
+
text: "Regular exercise improves cardiovascular health, strengthens muscles, boosts metabolism, and enhances mental well-being through the release of endorphins.",
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
const result = await scorer.run({
|
|
137
|
+
input: inputMessages,
|
|
138
|
+
output: outputMessage,
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
console.log(result);
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### High relevancy output
|
|
135
145
|
|
|
136
|
-
|
|
137
|
-
- "yes": Full weight for direct matches
|
|
138
|
-
- "unsure": Partial weight (default: 0.3) for approximate matches
|
|
139
|
-
- "no": Zero weight for irrelevant content
|
|
146
|
+
The output receives a high score because it accurately answers the query without including unrelated information.
|
|
140
147
|
|
|
141
|
-
|
|
148
|
+
```typescript
|
|
149
|
+
{
|
|
150
|
+
score: 1,
|
|
151
|
+
reason: 'The score is 1 because the output directly addresses the question by providing multiple explicit health benefits of regular exercise, including improvements in cardiovascular health, muscle strength, metabolism, and mental well-being. Each point is relevant and contributes to a comprehensive understanding of the health benefits.'
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Partial relevancy example
|
|
156
|
+
|
|
157
|
+
In this example, the response addresses the query in part but includes additional information that isn't directly relevant.
|
|
158
|
+
|
|
159
|
+
```typescript title="src/example-partial-answer-relevancy.ts" showLineNumbers copy
|
|
160
|
+
import { createAnswerRelevancyScorer } from "@mastra/evals/scorers/prebuilt";
|
|
142
161
|
|
|
143
|
-
|
|
162
|
+
const scorer = createAnswerRelevancyScorer({ model: "openai/gpt-4o-mini" });
|
|
144
163
|
|
|
145
|
-
|
|
164
|
+
const inputMessages = [
|
|
165
|
+
{ role: "user", content: "What should a healthy breakfast include?" },
|
|
166
|
+
];
|
|
167
|
+
const outputMessage = {
|
|
168
|
+
text: "A nutritious breakfast should include whole grains and protein. However, the timing of your breakfast is just as important - studies show eating within 2 hours of waking optimizes metabolism and energy levels throughout the day.",
|
|
169
|
+
};
|
|
146
170
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
171
|
+
const result = await scorer.run({
|
|
172
|
+
input: inputMessages,
|
|
173
|
+
output: outputMessage,
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
console.log(result);
|
|
177
|
+
```
|
|
152
178
|
|
|
153
|
-
|
|
179
|
+
#### Partial relevancy output
|
|
180
|
+
|
|
181
|
+
The output receives a lower score because it partially answers the query. While some relevant information is included, unrelated details reduce the overall relevance.
|
|
154
182
|
|
|
155
183
|
```typescript
|
|
156
|
-
|
|
157
|
-
|
|
184
|
+
{
|
|
185
|
+
score: 0.25,
|
|
186
|
+
reason: 'The score is 0.25 because the output provides a direct answer by mentioning whole grains and protein as components of a healthy breakfast, which is relevant. However, the additional information about the timing of breakfast and its effects on metabolism and energy levels is not directly related to the question, leading to a lower overall relevance score.'
|
|
187
|
+
}
|
|
188
|
+
```
|
|
158
189
|
|
|
159
|
-
|
|
160
|
-
const model = openai("gpt-4o-mini");
|
|
190
|
+
## Low relevancy example
|
|
161
191
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
192
|
+
In this example, the response does not address the query and contains information that is entirely unrelated.
|
|
193
|
+
|
|
194
|
+
```typescript title="src/example-low-answer-relevancy.ts" showLineNumbers copy
|
|
195
|
+
import { createAnswerRelevancyScorer } from "@mastra/evals/scorers/prebuilt";
|
|
196
|
+
|
|
197
|
+
const scorer = createAnswerRelevancyScorer({ model: "openai/gpt-4o-mini" });
|
|
198
|
+
|
|
199
|
+
const inputMessages = [
|
|
200
|
+
{ role: "user", content: "What are the benefits of meditation?" },
|
|
201
|
+
];
|
|
202
|
+
const outputMessage = {
|
|
203
|
+
text: "The Great Wall of China is over 13,000 miles long and was built during the Ming Dynasty to protect against invasions.",
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
const result = await scorer.run({
|
|
207
|
+
input: inputMessages,
|
|
208
|
+
output: outputMessage,
|
|
165
209
|
});
|
|
166
210
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
// The answer is highly relevant and provides appropriate detail without
|
|
180
|
-
// including unnecessary information."
|
|
181
|
-
// }
|
|
182
|
-
// }
|
|
211
|
+
console.log(result);
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### Low relevancy output
|
|
215
|
+
|
|
216
|
+
The output receives a score of 0 because it fails to answer the query or provide any relevant information.
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
{
|
|
220
|
+
score: 0,
|
|
221
|
+
reason: 'The score is 0 because the output about the Great Wall of China is completely unrelated to the benefits of meditation, providing no relevant information or context that addresses the input question.'
|
|
222
|
+
}
|
|
183
223
|
```
|
|
184
224
|
|
|
185
225
|
## Related
|
|
186
226
|
|
|
187
|
-
- [
|
|
188
|
-
- [Context Precision Metric](./context-precision)
|
|
189
|
-
- [Faithfulness Metric](./faithfulness)
|
|
227
|
+
- [Faithfulness Scorer](./faithfulness)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Reference: Answer Similarity Scorer |
|
|
2
|
+
title: "Reference: Answer Similarity Scorer | Evals | Mastra Docs"
|
|
3
3
|
description: Documentation for the Answer Similarity Scorer in Mastra, which compares agent outputs against ground truth answers for CI/CD testing.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -151,17 +151,17 @@ Score calculation: `max(0, base_score - contradiction_penalty - missing_penalty
|
|
|
151
151
|
|
|
152
152
|
## Examples
|
|
153
153
|
|
|
154
|
-
### Usage with
|
|
154
|
+
### Usage with runEvals
|
|
155
155
|
|
|
156
|
-
This scorer is designed for use with `
|
|
156
|
+
This scorer is designed for use with `runEvals` for CI/CD testing:
|
|
157
157
|
|
|
158
158
|
```typescript
|
|
159
|
-
import {
|
|
160
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
159
|
+
import { runEvals } from "@mastra/core/evals";
|
|
160
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
161
161
|
|
|
162
162
|
const scorer = createAnswerSimilarityScorer({ model });
|
|
163
163
|
|
|
164
|
-
await
|
|
164
|
+
await runEvals({
|
|
165
165
|
data: [
|
|
166
166
|
{
|
|
167
167
|
input: "What is the capital of France?",
|
|
@@ -184,13 +184,13 @@ await runExperiment({
|
|
|
184
184
|
In this example, the agent's output semantically matches the ground truth perfectly.
|
|
185
185
|
|
|
186
186
|
```typescript title="src/example-perfect-similarity.ts" showLineNumbers copy
|
|
187
|
-
import {
|
|
188
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
187
|
+
import { runEvals } from "@mastra/core/evals";
|
|
188
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
189
189
|
import { myAgent } from "./agent";
|
|
190
190
|
|
|
191
191
|
const scorer = createAnswerSimilarityScorer({ model: "openai/gpt-4o-mini" });
|
|
192
192
|
|
|
193
|
-
const result = await
|
|
193
|
+
const result = await runEvals({
|
|
194
194
|
data: [
|
|
195
195
|
{
|
|
196
196
|
input: "What is 2+2?",
|
|
@@ -222,13 +222,13 @@ The output receives a perfect score because both the agent's answer and ground t
|
|
|
222
222
|
In this example, the agent provides the same information as the ground truth but with different phrasing.
|
|
223
223
|
|
|
224
224
|
```typescript title="src/example-semantic-similarity.ts" showLineNumbers copy
|
|
225
|
-
import {
|
|
226
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
225
|
+
import { runEvals } from "@mastra/core/evals";
|
|
226
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
227
227
|
import { myAgent } from "./agent";
|
|
228
228
|
|
|
229
229
|
const scorer = createAnswerSimilarityScorer({ model: "openai/gpt-4o-mini" });
|
|
230
230
|
|
|
231
|
-
const result = await
|
|
231
|
+
const result = await runEvals({
|
|
232
232
|
data: [
|
|
233
233
|
{
|
|
234
234
|
input: "What is the capital of France?",
|
|
@@ -260,13 +260,13 @@ The output receives a high score because it conveys the same information with eq
|
|
|
260
260
|
In this example, the agent's response is partially correct but missing key information.
|
|
261
261
|
|
|
262
262
|
```typescript title="src/example-partial-similarity.ts" showLineNumbers copy
|
|
263
|
-
import {
|
|
264
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
263
|
+
import { runEvals } from "@mastra/core/evals";
|
|
264
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
265
265
|
import { myAgent } from "./agent";
|
|
266
266
|
|
|
267
267
|
const scorer = createAnswerSimilarityScorer({ model: "openai/gpt-4o-mini" });
|
|
268
268
|
|
|
269
|
-
const result = await
|
|
269
|
+
const result = await runEvals({
|
|
270
270
|
data: [
|
|
271
271
|
{
|
|
272
272
|
input: "What are the primary colors?",
|
|
@@ -298,13 +298,13 @@ The output receives a moderate score because it includes some correct informatio
|
|
|
298
298
|
In this example, the agent provides factually incorrect information that contradicts the ground truth.
|
|
299
299
|
|
|
300
300
|
```typescript title="src/example-contradiction.ts" showLineNumbers copy
|
|
301
|
-
import {
|
|
302
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
301
|
+
import { runEvals } from "@mastra/core/evals";
|
|
302
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
303
303
|
import { myAgent } from "./agent";
|
|
304
304
|
|
|
305
305
|
const scorer = createAnswerSimilarityScorer({ model: "openai/gpt-4o-mini" });
|
|
306
306
|
|
|
307
|
-
const result = await
|
|
307
|
+
const result = await runEvals({
|
|
308
308
|
data: [
|
|
309
309
|
{
|
|
310
310
|
input: "Who wrote Romeo and Juliet?",
|
|
@@ -337,15 +337,15 @@ Use the scorer in your test suites to ensure agent consistency over time:
|
|
|
337
337
|
|
|
338
338
|
```typescript title="src/ci-integration.test.ts" showLineNumbers copy
|
|
339
339
|
import { describe, it, expect } from "vitest";
|
|
340
|
-
import {
|
|
341
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
340
|
+
import { runEvals } from "@mastra/core/evals";
|
|
341
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
342
342
|
import { myAgent } from "./agent";
|
|
343
343
|
|
|
344
344
|
describe("Agent Consistency Tests", () => {
|
|
345
345
|
const scorer = createAnswerSimilarityScorer({ model: "openai/gpt-4o-mini" });
|
|
346
346
|
|
|
347
347
|
it("should provide accurate factual answers", async () => {
|
|
348
|
-
const result = await
|
|
348
|
+
const result = await runEvals({
|
|
349
349
|
data: [
|
|
350
350
|
{
|
|
351
351
|
input: "What is the speed of light?",
|
|
@@ -376,9 +376,9 @@ describe("Agent Consistency Tests", () => {
|
|
|
376
376
|
|
|
377
377
|
// Run multiple times to check consistency
|
|
378
378
|
const results = await Promise.all([
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
379
|
+
runEvals({ data: [testData], scorers: [scorer], target: myAgent }),
|
|
380
|
+
runEvals({ data: [testData], scorers: [scorer], target: myAgent }),
|
|
381
|
+
runEvals({ data: [testData], scorers: [scorer], target: myAgent }),
|
|
382
382
|
]);
|
|
383
383
|
|
|
384
384
|
// Check that all runs produce similar scores (within 0.1 tolerance)
|
|
@@ -396,8 +396,8 @@ describe("Agent Consistency Tests", () => {
|
|
|
396
396
|
Customize the scorer behavior for specific use cases:
|
|
397
397
|
|
|
398
398
|
```typescript title="src/custom-config.ts" showLineNumbers copy
|
|
399
|
-
import {
|
|
400
|
-
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/
|
|
399
|
+
import { runEvals } from "@mastra/core/evals";
|
|
400
|
+
import { createAnswerSimilarityScorer } from "@mastra/evals/scorers/prebuilt";
|
|
401
401
|
import { myAgent } from "./agent";
|
|
402
402
|
|
|
403
403
|
// Configure for strict exact matching with high scale
|
|
@@ -422,7 +422,7 @@ const lenientScorer = createAnswerSimilarityScorer({
|
|
|
422
422
|
},
|
|
423
423
|
});
|
|
424
424
|
|
|
425
|
-
const result = await
|
|
425
|
+
const result = await runEvals({
|
|
426
426
|
data: [
|
|
427
427
|
{
|
|
428
428
|
input: "Explain photosynthesis",
|