@mastra/mcp-docs-server 1.0.0-beta.1 → 1.0.0-beta.10
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 +1 -15
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +1 -7
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +1 -55
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +250 -50
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fcodemod.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +89 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +393 -193
- package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +61 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +234 -34
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Freact.md +128 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +18 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +244 -44
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
- package/.docs/organized/changelogs/create-mastra.md +201 -1
- package/.docs/organized/changelogs/mastra.md +201 -1
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-elements.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-useChat.md +2 -2
- package/.docs/organized/code-examples/ai-sdk-v5.md +3 -2
- package/.docs/organized/code-examples/assistant-ui.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-express.md +1 -1
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +2 -2
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +2 -2
- package/.docs/organized/code-examples/client-side-tools.md +1 -1
- package/.docs/organized/code-examples/crypto-chatbot.md +2 -2
- package/.docs/organized/code-examples/fireworks-r1.md +1 -1
- package/.docs/organized/code-examples/heads-up-game.md +1 -1
- package/.docs/organized/code-examples/mcp-configuration.md +0 -3
- package/.docs/organized/code-examples/mcp-server-adapters.md +720 -0
- package/.docs/organized/code-examples/memory-per-resource-example.md +1 -1
- package/.docs/organized/code-examples/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/openapi-spec-writer.md +1 -1
- package/.docs/organized/code-examples/processors-with-ai-sdk.md +14 -0
- package/.docs/organized/code-examples/quick-start.md +2 -2
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/organized/code-examples/server-express-adapter.md +87 -0
- package/.docs/organized/code-examples/server-hono-adapter.md +85 -0
- package/.docs/organized/code-examples/stock-price-tool.md +1 -21
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +1 -1
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-memory.md +1 -1
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +1 -1
- package/.docs/organized/code-examples/workflow-with-suspend-resume.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +56 -10
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/agent-memory.mdx +1 -1
- package/.docs/raw/agents/guardrails.mdx +27 -24
- package/.docs/raw/agents/networks.mdx +3 -3
- package/.docs/raw/agents/overview.mdx +18 -167
- package/.docs/raw/agents/processors.mdx +279 -0
- package/.docs/raw/agents/structured-output.mdx +224 -0
- package/.docs/raw/agents/using-tools.mdx +14 -14
- package/.docs/raw/auth/auth0.mdx +1 -1
- package/.docs/raw/auth/clerk.mdx +1 -1
- package/.docs/raw/auth/firebase.mdx +1 -1
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +1 -1
- package/.docs/raw/auth/supabase.mdx +1 -1
- package/.docs/raw/auth/workos.mdx +1 -1
- package/.docs/raw/community/contributing-templates.mdx +1 -1
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
- package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
- package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
- package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
- package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
- package/.docs/raw/deployment/{server-deployment.mdx → building-mastra.mdx} +4 -4
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +3 -3
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +2 -2
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/cloudflare-deployer.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +2 -2
- package/.docs/raw/deployment/cloud-providers/index.mdx +26 -29
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/netlify-deployer.mdx +45 -14
- package/.docs/raw/deployment/{serverless-platforms → cloud-providers}/vercel-deployer.mdx +1 -1
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/dashboard.mdx +3 -3
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +53 -0
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/overview.mdx +3 -3
- package/.docs/raw/{mastra-cloud → deployment/mastra-cloud}/setting-up.mdx +4 -4
- package/.docs/raw/deployment/monorepo.mdx +3 -3
- package/.docs/raw/deployment/overview.mdx +7 -7
- package/.docs/raw/deployment/web-framework.mdx +6 -6
- package/.docs/raw/evals/{off-the-shelf-scorers.mdx → built-in-scorers.mdx} +17 -15
- package/.docs/raw/evals/custom-scorers.mdx +4 -6
- package/.docs/raw/evals/overview.mdx +5 -6
- package/.docs/raw/evals/running-in-ci.mdx +2 -4
- package/.docs/raw/getting-started/{installation.mdx → manual-install.mdx} +6 -80
- package/.docs/raw/getting-started/mcp-docs-server.mdx +6 -6
- package/.docs/raw/getting-started/project-structure.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +8 -6
- package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +147 -0
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +627 -0
- package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +71 -19
- package/.docs/raw/guides/build-your-ui/copilotkit.mdx +206 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +24 -26
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +4 -5
- package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +26 -25
- package/.docs/raw/guides/getting-started/quickstart.mdx +97 -0
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +24 -26
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
- package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
- package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
- package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
- package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
- package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
- package/.docs/raw/guides/guide/web-search.mdx +12 -10
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +119 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +51 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/client.mdx +42 -2
- package/.docs/raw/guides/migrations/upgrade-to-v1/evals.mdx +31 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/mastra.mdx +27 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/mcp.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/memory.mdx +28 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/overview.mdx +25 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/storage.mdx +80 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +68 -3
- package/.docs/raw/guides/migrations/upgrade-to-v1/vectors.mdx +25 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +174 -1
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +3 -3
- package/.docs/raw/mcp/overview.mdx +358 -0
- package/.docs/raw/mcp/publishing-mcp-server.mdx +139 -0
- package/.docs/raw/memory/conversation-history.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -80
- package/.docs/raw/memory/overview.mdx +2 -2
- package/.docs/raw/memory/semantic-recall.mdx +9 -9
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +150 -0
- package/.docs/raw/memory/storage/memory-with-pg.mdx +3 -8
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +3 -8
- package/.docs/raw/memory/threads-and-resources.mdx +4 -4
- package/.docs/raw/memory/working-memory.mdx +16 -8
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +7 -7
- package/.docs/raw/observability/overview.mdx +3 -4
- package/.docs/raw/observability/tracing/bridges/otel.mdx +200 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +37 -1
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +20 -1
- package/.docs/raw/observability/tracing/exporters/cloud.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/default.mdx +1 -1
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +84 -1
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +13 -1
- package/.docs/raw/observability/tracing/exporters/otel.mdx +123 -25
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +127 -0
- package/.docs/raw/observability/tracing/overview.mdx +80 -9
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +1 -2
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +4 -3
- package/.docs/raw/rag/retrieval.mdx +44 -39
- package/.docs/raw/rag/vector-databases.mdx +94 -3
- package/.docs/raw/reference/agents/agent.mdx +8 -12
- package/.docs/raw/reference/agents/generate.mdx +67 -99
- package/.docs/raw/reference/agents/generateLegacy.mdx +3 -3
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +1 -1
- package/.docs/raw/reference/agents/getDescription.mdx +1 -1
- package/.docs/raw/reference/agents/getInstructions.mdx +1 -1
- package/.docs/raw/reference/agents/getLLM.mdx +2 -2
- package/.docs/raw/reference/agents/getMemory.mdx +1 -1
- package/.docs/raw/reference/agents/getModel.mdx +1 -1
- package/.docs/raw/reference/agents/getTools.mdx +69 -0
- package/.docs/raw/reference/agents/getVoice.mdx +1 -1
- package/.docs/raw/reference/agents/listAgents.mdx +1 -1
- package/.docs/raw/reference/agents/listScorers.mdx +1 -1
- package/.docs/raw/reference/agents/listTools.mdx +2 -2
- package/.docs/raw/reference/agents/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +33 -72
- package/.docs/raw/reference/ai-sdk/chat-route.mdx +127 -0
- package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +117 -0
- package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +64 -0
- package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +116 -0
- package/.docs/raw/reference/ai-sdk/network-route.mdx +99 -0
- package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +289 -0
- package/.docs/raw/reference/ai-sdk/with-mastra.mdx +119 -0
- package/.docs/raw/reference/ai-sdk/workflow-route.mdx +110 -0
- package/.docs/raw/reference/auth/auth0.mdx +1 -1
- package/.docs/raw/reference/auth/clerk.mdx +1 -1
- package/.docs/raw/reference/auth/firebase.mdx +1 -1
- package/.docs/raw/reference/auth/jwt.mdx +1 -1
- package/.docs/raw/reference/auth/supabase.mdx +1 -1
- package/.docs/raw/reference/auth/workos.mdx +1 -1
- package/.docs/raw/reference/cli/create-mastra.mdx +1 -1
- package/.docs/raw/reference/cli/mastra.mdx +19 -6
- package/.docs/raw/reference/client-js/agents.mdx +252 -68
- 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 +4 -4
- package/.docs/raw/reference/client-js/memory.mdx +48 -2
- package/.docs/raw/reference/client-js/observability.mdx +1 -1
- 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.mdx +93 -64
- package/.docs/raw/reference/core/addGateway.mdx +59 -0
- 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 +1 -1
- package/.docs/raw/reference/core/getGateway.mdx +59 -0
- package/.docs/raw/reference/core/getGatewayById.mdx +62 -0
- package/.docs/raw/reference/core/getLogger.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServer.mdx +2 -2
- package/.docs/raw/reference/core/getMCPServerById.mdx +2 -2
- package/.docs/raw/reference/core/getMemory.mdx +73 -0
- package/.docs/raw/reference/core/getScorer.mdx +1 -1
- package/.docs/raw/reference/core/getScorerById.mdx +1 -1
- package/.docs/raw/reference/core/getServer.mdx +2 -2
- package/.docs/raw/reference/core/getStorage.mdx +1 -1
- package/.docs/raw/reference/core/getStoredAgentById.mdx +183 -0
- package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
- package/.docs/raw/reference/core/getVector.mdx +1 -1
- package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
- package/.docs/raw/reference/core/listAgents.mdx +1 -1
- package/.docs/raw/reference/core/listGateways.mdx +53 -0
- 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 +2 -2
- package/.docs/raw/reference/core/listMemory.mdx +70 -0
- package/.docs/raw/reference/core/listScorers.mdx +1 -1
- package/.docs/raw/reference/core/listStoredAgents.mdx +151 -0
- package/.docs/raw/reference/core/listVectors.mdx +1 -1
- package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
- package/.docs/raw/reference/core/mastra-class.mdx +17 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +227 -0
- package/.docs/raw/reference/core/setLogger.mdx +2 -2
- package/.docs/raw/reference/core/setStorage.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +2 -2
- package/.docs/raw/reference/deployer/cloudflare.mdx +1 -1
- package/.docs/raw/reference/deployer/deployer.mdx +1 -1
- package/.docs/raw/reference/deployer/netlify.mdx +2 -3
- package/.docs/raw/reference/deployer/vercel.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +29 -99
- package/.docs/raw/reference/evals/answer-similarity.mdx +13 -259
- package/.docs/raw/reference/evals/bias.mdx +30 -88
- package/.docs/raw/reference/evals/completeness.mdx +32 -91
- package/.docs/raw/reference/evals/content-similarity.mdx +29 -89
- package/.docs/raw/reference/evals/context-precision.mdx +29 -131
- package/.docs/raw/reference/evals/context-relevance.mdx +12 -12
- package/.docs/raw/reference/evals/create-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/faithfulness.mdx +29 -102
- package/.docs/raw/reference/evals/hallucination.mdx +29 -104
- package/.docs/raw/reference/evals/keyword-coverage.mdx +29 -108
- package/.docs/raw/reference/evals/mastra-scorer.mdx +1 -1
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +12 -12
- package/.docs/raw/reference/evals/prompt-alignment.mdx +16 -16
- package/.docs/raw/reference/evals/run-evals.mdx +1 -1
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +28 -101
- package/.docs/raw/reference/evals/tone-consistency.mdx +26 -99
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +8 -8
- package/.docs/raw/reference/evals/toxicity.mdx +30 -93
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/logging/pino-logger.mdx +2 -2
- package/.docs/raw/reference/memory/createThread.mdx +1 -1
- package/.docs/raw/reference/memory/deleteMessages.mdx +1 -1
- package/.docs/raw/reference/memory/getThreadById.mdx +1 -1
- package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +1 -1
- package/.docs/raw/reference/memory/memory-class.mdx +6 -8
- package/.docs/raw/reference/memory/query.mdx +1 -1
- package/.docs/raw/reference/memory/recall.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +177 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +30 -1
- package/.docs/raw/reference/observability/tracing/exporters/braintrust.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/cloud-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/console-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/default-exporter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +44 -1
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +18 -2
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +34 -44
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +1 -5
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +30 -5
- package/.docs/raw/reference/observability/tracing/processors/sensitive-data-filter.mdx +1 -1
- package/.docs/raw/reference/observability/tracing/spans.mdx +1 -5
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
- package/.docs/raw/reference/processors/language-detector.mdx +11 -4
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +13 -6
- package/.docs/raw/reference/processors/pii-detector.mdx +13 -6
- package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +11 -4
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +4 -5
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +3 -3
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/rag/chunk.mdx +1 -1
- package/.docs/raw/reference/rag/database-config.mdx +1 -1
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +6 -6
- 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 +1 -1
- package/.docs/raw/reference/rag/rerank.mdx +2 -3
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +1 -2
- package/.docs/raw/reference/server/create-route.mdx +328 -0
- package/.docs/raw/reference/server/express-adapter.mdx +260 -0
- package/.docs/raw/reference/server/hono-adapter.mdx +242 -0
- package/.docs/raw/reference/server/mastra-server.mdx +345 -0
- package/.docs/raw/reference/server/routes.mdx +250 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +38 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +34 -1
- package/.docs/raw/reference/storage/libsql.mdx +38 -1
- package/.docs/raw/reference/storage/mongodb.mdx +40 -1
- package/.docs/raw/reference/storage/mssql.mdx +38 -1
- package/.docs/raw/reference/storage/postgresql.mdx +38 -1
- package/.docs/raw/reference/storage/upstash.mdx +1 -1
- package/.docs/raw/reference/streaming/ChunkType.mdx +2 -2
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +68 -95
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +1 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +8 -10
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +84 -25
- package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +170 -0
- package/.docs/raw/reference/templates/overview.mdx +2 -5
- package/.docs/raw/reference/tools/client.mdx +2 -3
- package/.docs/raw/reference/tools/create-tool.mdx +135 -4
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +1 -1
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +7 -7
- package/.docs/raw/reference/tools/mcp-client.mdx +131 -23
- package/.docs/raw/reference/tools/mcp-server.mdx +56 -8
- package/.docs/raw/reference/tools/vector-query-tool.mdx +16 -17
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +82 -2
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/couchbase.mdx +25 -18
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/vectors/lance.mdx +39 -23
- package/.docs/raw/reference/vectors/libsql.mdx +36 -3
- package/.docs/raw/reference/vectors/mongodb.mdx +36 -3
- package/.docs/raw/reference/vectors/opensearch.mdx +38 -17
- package/.docs/raw/reference/vectors/pg.mdx +44 -37
- package/.docs/raw/reference/vectors/pinecone.mdx +70 -3
- package/.docs/raw/reference/vectors/qdrant.mdx +37 -2
- package/.docs/raw/reference/vectors/s3vectors.mdx +1 -1
- package/.docs/raw/reference/vectors/turbopuffer.mdx +75 -1
- package/.docs/raw/reference/vectors/upstash.mdx +1 -1
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +96 -81
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +72 -29
- 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 +1 -1
- package/.docs/raw/reference/voice/google.mdx +160 -21
- 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 +3 -3
- 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 +3 -4
- package/.docs/raw/reference/voice/voice.addTools.mdx +2 -2
- package/.docs/raw/reference/voice/voice.answer.mdx +2 -2
- package/.docs/raw/reference/voice/voice.close.mdx +2 -2
- package/.docs/raw/reference/voice/voice.connect.mdx +2 -2
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +1 -1
- package/.docs/raw/reference/voice/voice.listen.mdx +87 -53
- package/.docs/raw/reference/voice/voice.off.mdx +2 -2
- package/.docs/raw/reference/voice/voice.on.mdx +2 -2
- package/.docs/raw/reference/voice/voice.send.mdx +2 -2
- package/.docs/raw/reference/voice/voice.speak.mdx +76 -41
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +2 -2
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +45 -1
- package/.docs/raw/reference/workflows/run-methods/start.mdx +48 -4
- package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +310 -0
- package/.docs/raw/reference/workflows/run.mdx +28 -6
- package/.docs/raw/reference/workflows/step.mdx +65 -1
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +1 -1
- 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 +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +1 -1
- 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 +21 -2
- package/.docs/raw/server-db/custom-adapters.mdx +386 -0
- package/.docs/raw/server-db/custom-api-routes.mdx +6 -6
- package/.docs/raw/server-db/mastra-client.mdx +3 -4
- package/.docs/raw/server-db/{production-server.mdx → mastra-server.mdx} +16 -8
- package/.docs/raw/server-db/middleware.mdx +31 -31
- package/.docs/raw/server-db/request-context.mdx +3 -4
- package/.docs/raw/server-db/server-adapters.mdx +312 -0
- package/.docs/raw/server-db/storage.mdx +12 -1
- package/.docs/raw/streaming/events.mdx +1 -1
- package/.docs/raw/streaming/overview.mdx +27 -16
- package/.docs/raw/streaming/tool-streaming.mdx +58 -19
- package/.docs/raw/streaming/workflow-streaming.mdx +6 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -3
- package/.docs/raw/tools-mcp/mcp-overview.mdx +4 -6
- package/.docs/raw/tools-mcp/overview.mdx +1 -1
- package/.docs/raw/voice/overview.mdx +88 -41
- package/.docs/raw/voice/speech-to-speech.mdx +5 -5
- package/.docs/raw/voice/speech-to-text.mdx +2 -3
- package/.docs/raw/voice/text-to-speech.mdx +2 -3
- package/.docs/raw/workflows/agents-and-tools.mdx +43 -5
- package/.docs/raw/workflows/control-flow.mdx +186 -1
- package/.docs/raw/workflows/error-handling.mdx +5 -4
- package/.docs/raw/workflows/human-in-the-loop.mdx +160 -213
- package/.docs/raw/workflows/inngest-workflow.mdx +1 -1
- package/.docs/raw/workflows/input-data-mapping.mdx +1 -1
- package/.docs/raw/workflows/overview.mdx +67 -47
- package/.docs/raw/workflows/snapshots.mdx +5 -3
- package/.docs/raw/workflows/suspend-and-resume.mdx +121 -204
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +190 -0
- package/CHANGELOG.md +81 -0
- package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
- package/dist/prepare-docs/package-changes.d.ts.map +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +17 -19
- package/package.json +11 -15
- package/.docs/raw/deployment/serverless-platforms/index.mdx +0 -58
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +0 -688
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -123
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +0 -382
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
- package/.docs/raw/getting-started/templates.mdx +0 -73
- package/.docs/raw/mastra-cloud/observability.mdx +0 -51
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Tracing | Observability
|
|
2
|
+
title: "Tracing | Observability"
|
|
3
3
|
description: "Set up Tracing for Mastra applications"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -97,7 +97,24 @@ In addition to the internal exporters, Mastra supports integration with popular
|
|
|
97
97
|
- **[Langfuse](/docs/v1/observability/tracing/exporters/langfuse)** - Sends traces to the Langfuse open-source LLM engineering platform
|
|
98
98
|
- **[LangSmith](/docs/v1/observability/tracing/exporters/langsmith)** - Pushes traces into LangSmith's observability and evaluation toolkit
|
|
99
99
|
- **[OpenTelemetry](/docs/v1/observability/tracing/exporters/otel)** - Deliver traces to any OpenTelemetry-compatible observability system
|
|
100
|
-
- Supports: Dash0, Laminar, New Relic, SigNoz, Traceloop, Zipkin, and others!
|
|
100
|
+
- Supports: Dash0, Datadog, MLflow, Laminar, New Relic, SigNoz, Traceloop, Zipkin, and others!
|
|
101
|
+
|
|
102
|
+
## Bridges
|
|
103
|
+
|
|
104
|
+
Bridges provide bidirectional integration with external tracing systems. Unlike exporters that send trace data to external platforms, bridges create native spans in external systems and inherit context from them. This enables Mastra operations to participate in existing distributed traces.
|
|
105
|
+
|
|
106
|
+
- **[OpenTelemetry Bridge](/docs/v1/observability/tracing/bridges/otel)** - Integrate with existing OpenTelemetry infrastructure
|
|
107
|
+
|
|
108
|
+
### Bridges vs Exporters
|
|
109
|
+
|
|
110
|
+
| Feature | Bridges | Exporters |
|
|
111
|
+
| --- | --- | --- |
|
|
112
|
+
| Creates native spans in external systems | Yes | No |
|
|
113
|
+
| Inherits context from external systems | Yes | No |
|
|
114
|
+
| Sends data to backends | Via external SDK | Directly |
|
|
115
|
+
| Use case | Existing distributed tracing | Standalone Mastra tracing |
|
|
116
|
+
|
|
117
|
+
You can use both together — a bridge for context propagation and exporters to send traces to additional destinations.
|
|
101
118
|
|
|
102
119
|
## Sampling Strategies
|
|
103
120
|
|
|
@@ -200,7 +217,6 @@ Use `configSelector` to choose the appropriate tracing configuration based on re
|
|
|
200
217
|
```ts title="src/mastra/index.ts" showLineNumbers copy
|
|
201
218
|
export const mastra = new Mastra({
|
|
202
219
|
observability: new Observability({
|
|
203
|
-
default: { enabled: true }, // Provides 'default' instance
|
|
204
220
|
configs: {
|
|
205
221
|
langfuse: {
|
|
206
222
|
serviceName: "langfuse-service",
|
|
@@ -233,7 +249,7 @@ export const mastra = new Mastra({
|
|
|
233
249
|
return "langfuse";
|
|
234
250
|
}
|
|
235
251
|
|
|
236
|
-
|
|
252
|
+
throw new Error('no config found')
|
|
237
253
|
},
|
|
238
254
|
}),
|
|
239
255
|
});
|
|
@@ -448,6 +464,60 @@ requestContext.set("session", { data: { experimentId: "exp-999" } });
|
|
|
448
464
|
3. **Child Span Extraction**: Child spans can also extract metadata if you pass `requestContext` when creating them
|
|
449
465
|
4. **Metadata Precedence**: Explicit metadata passed to span options always takes precedence over extracted metadata
|
|
450
466
|
|
|
467
|
+
### Adding Tags to Traces
|
|
468
|
+
|
|
469
|
+
Tags are string labels that help you categorize and filter traces. Unlike metadata (which contains structured key-value data), tags are simple strings designed for quick filtering and organization.
|
|
470
|
+
|
|
471
|
+
Use `tracingOptions.tags` to add tags when executing agents or workflows:
|
|
472
|
+
|
|
473
|
+
```ts showLineNumbers copy
|
|
474
|
+
// With agents
|
|
475
|
+
const result = await agent.generate({
|
|
476
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
477
|
+
tracingOptions: {
|
|
478
|
+
tags: ["production", "experiment-v2", "user-request"],
|
|
479
|
+
},
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
// With workflows
|
|
483
|
+
const run = await mastra.getWorkflow("myWorkflow").createRun();
|
|
484
|
+
const result = await run.start({
|
|
485
|
+
inputData: { data: "process this" },
|
|
486
|
+
tracingOptions: {
|
|
487
|
+
tags: ["batch-processing", "priority-high"],
|
|
488
|
+
},
|
|
489
|
+
});
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
#### How Tags Work
|
|
493
|
+
|
|
494
|
+
- **Root span only**: Tags are applied only to the root span of a trace (the agent run or workflow run span)
|
|
495
|
+
- **Widely supported**: Tags are supported by most exporters for filtering and searching traces:
|
|
496
|
+
- **Braintrust** - Native `tags` field
|
|
497
|
+
- **Langfuse** - Native `tags` field on traces
|
|
498
|
+
- **ArizeExporter** - `tag.tags` OpenInference attribute
|
|
499
|
+
- **OtelExporter** - `mastra.tags` span attribute
|
|
500
|
+
- **OtelBridge** - `mastra.tags` span attribute
|
|
501
|
+
- **Combinable with metadata**: You can use both `tags` and `metadata` in the same `tracingOptions`
|
|
502
|
+
|
|
503
|
+
```ts showLineNumbers copy
|
|
504
|
+
const result = await agent.generate({
|
|
505
|
+
messages: [{ role: "user", content: "Analyze this" }],
|
|
506
|
+
tracingOptions: {
|
|
507
|
+
tags: ["production", "analytics"],
|
|
508
|
+
metadata: { userId: "user-123", experimentId: "exp-456" },
|
|
509
|
+
},
|
|
510
|
+
});
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
#### Common Tag Patterns
|
|
514
|
+
|
|
515
|
+
- **Environment**: `"production"`, `"staging"`, `"development"`
|
|
516
|
+
- **Feature flags**: `"feature-x-enabled"`, `"beta-user"`
|
|
517
|
+
- **Request types**: `"user-request"`, `"batch-job"`, `"scheduled-task"`
|
|
518
|
+
- **Priority levels**: `"priority-high"`, `"priority-low"`
|
|
519
|
+
- **Experiments**: `"experiment-v1"`, `"control-group"`, `"treatment-a"`
|
|
520
|
+
|
|
451
521
|
#### Child Spans and Metadata Extraction
|
|
452
522
|
|
|
453
523
|
When creating child spans within tools or workflow steps, you can pass the `requestContext` parameter to enable metadata extraction:
|
|
@@ -619,7 +689,7 @@ console.log("Trace ID:", finalState.traceId);
|
|
|
619
689
|
Once you have a trace ID, you can:
|
|
620
690
|
|
|
621
691
|
1. **Look up traces in Studio**: Navigate to the traces view and search by ID
|
|
622
|
-
2. **Query traces in external platforms**: Use the ID in Langfuse, Braintrust, or your observability platform
|
|
692
|
+
2. **Query traces in external platforms**: Use the ID in Langfuse, Braintrust, MLflow, or your observability platform
|
|
623
693
|
3. **Correlate with logs**: Include the trace ID in your application logs for cross-referencing
|
|
624
694
|
4. **Share for debugging**: Provide trace IDs to support teams or developers for investigation
|
|
625
695
|
|
|
@@ -751,10 +821,6 @@ Mastra automatically creates spans for:
|
|
|
751
821
|
|
|
752
822
|
## See Also
|
|
753
823
|
|
|
754
|
-
### Examples
|
|
755
|
-
|
|
756
|
-
- [Basic Tracing Example](/examples/v1/observability/basic-tracing) - Working implementation
|
|
757
|
-
|
|
758
824
|
### Reference Documentation
|
|
759
825
|
|
|
760
826
|
- [Configuration API](/reference/v1/observability/tracing/configuration) - ObservabilityConfig details
|
|
@@ -770,8 +836,13 @@ Mastra automatically creates spans for:
|
|
|
770
836
|
- [Arize](/reference/v1/observability/tracing/exporters/arize) - Arize Phoenix and Arize AX integration
|
|
771
837
|
- [Braintrust](/reference/v1/observability/tracing/exporters/braintrust) - Braintrust integration
|
|
772
838
|
- [Langfuse](/reference/v1/observability/tracing/exporters/langfuse) - Langfuse integration
|
|
839
|
+
- [MLflow](/reference/v1/observability/tracing/exporters/otel#mlflow) - MLflow OTLP endpoint setup
|
|
773
840
|
- [OpenTelemetry](/reference/v1/observability/tracing/exporters/otel) - OTEL-compatible platforms
|
|
774
841
|
|
|
842
|
+
### Bridges
|
|
843
|
+
|
|
844
|
+
- [OpenTelemetry Bridge](/reference/v1/observability/tracing/bridges/otel) - OTEL context integration
|
|
845
|
+
|
|
775
846
|
### Processors
|
|
776
847
|
|
|
777
848
|
- [Sensitive Data Filter](/docs/v1/observability/tracing/processors/sensitive-data-filter) - Data redaction
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Sensitive Data Filter | Processors | Observability
|
|
2
|
+
title: "Sensitive Data Filter | Processors | Observability"
|
|
3
3
|
description: "Protect sensitive information in your traces with automatic data redaction"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -293,4 +293,3 @@ This ensures that processing errors don't prevent traces from being exported or
|
|
|
293
293
|
## Related
|
|
294
294
|
|
|
295
295
|
- [SensitiveDataFilter API](/reference/v1/observability/tracing/processors/sensitive-data-filter)
|
|
296
|
-
- [Basic Tracing Example](/examples/v1/observability/basic-tracing)
|
|
@@ -83,12 +83,8 @@ The simplest way is to use Mastra's model router with `provider/model` strings:
|
|
|
83
83
|
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
84
84
|
import { embedMany } from "ai";
|
|
85
85
|
|
|
86
|
-
const embeddingModel = new ModelRouterEmbeddingModel(
|
|
87
|
-
"openai/text-embedding-3-small",
|
|
88
|
-
);
|
|
89
|
-
|
|
90
86
|
const { embeddings } = await embedMany({
|
|
91
|
-
model:
|
|
87
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
92
88
|
values: chunks.map((chunk) => chunk.text),
|
|
93
89
|
});
|
|
94
90
|
```
|
|
@@ -105,11 +101,11 @@ The model router automatically handles API key detection from environment variab
|
|
|
105
101
|
You can also use AI SDK embedding models directly:
|
|
106
102
|
|
|
107
103
|
```ts showLineNumbers copy
|
|
108
|
-
import { openai } from "@ai-sdk/openai";
|
|
109
104
|
import { embedMany } from "ai";
|
|
105
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
110
106
|
|
|
111
107
|
const { embeddings } = await embedMany({
|
|
112
|
-
model:
|
|
108
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
113
109
|
values: chunks.map((chunk) => chunk.text),
|
|
114
110
|
});
|
|
115
111
|
```
|
|
@@ -129,19 +125,22 @@ Here are some supported models:
|
|
|
129
125
|
OpenAI (text-embedding-3 models):
|
|
130
126
|
|
|
131
127
|
```ts
|
|
128
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
129
|
+
|
|
132
130
|
const { embeddings } = await embedMany({
|
|
133
|
-
model:
|
|
131
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
132
|
+
options: {
|
|
134
133
|
dimensions: 256, // Only supported in text-embedding-3 and later
|
|
135
|
-
}
|
|
134
|
+
},
|
|
136
135
|
values: chunks.map((chunk) => chunk.text),
|
|
137
136
|
});
|
|
138
137
|
```
|
|
139
138
|
|
|
140
|
-
Google (text-embedding-
|
|
139
|
+
Google (text-embedding-001):
|
|
141
140
|
|
|
142
141
|
```ts
|
|
143
142
|
const { embeddings } = await embedMany({
|
|
144
|
-
model: google
|
|
143
|
+
model: "google/gemini-embedding-001", {
|
|
145
144
|
outputDimensionality: 256, // Truncates excessive values from the end
|
|
146
145
|
}),
|
|
147
146
|
values: chunks.map((chunk) => chunk.text),
|
|
@@ -158,8 +157,6 @@ Here's an example showing document processing and embedding generation with both
|
|
|
158
157
|
|
|
159
158
|
```ts showLineNumbers copy
|
|
160
159
|
import { embedMany } from "ai";
|
|
161
|
-
import { openai } from "@ai-sdk/openai";
|
|
162
|
-
import { cohere } from "@ai-sdk/cohere";
|
|
163
160
|
|
|
164
161
|
import { MDocument } from "@mastra/rag";
|
|
165
162
|
|
|
@@ -177,16 +174,18 @@ const chunks = await doc.chunk({
|
|
|
177
174
|
});
|
|
178
175
|
|
|
179
176
|
// Generate embeddings with OpenAI
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
178
|
+
|
|
179
|
+
const { embeddings } = await embedMany({
|
|
180
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
182
181
|
values: chunks.map((chunk) => chunk.text),
|
|
183
182
|
});
|
|
184
183
|
|
|
185
184
|
// OR
|
|
186
185
|
|
|
187
186
|
// Generate embeddings with Cohere
|
|
188
|
-
const { embeddings
|
|
189
|
-
model: cohere
|
|
187
|
+
const { embeddings } = await embedMany({
|
|
188
|
+
model: "cohere/embed-english-v3.0",
|
|
190
189
|
values: chunks.map((chunk) => chunk.text),
|
|
191
190
|
});
|
|
192
191
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "RAG (Retrieval-Augmented Generation) in Mastra | RAG
|
|
2
|
+
title: "RAG (Retrieval-Augmented Generation) in Mastra | RAG"
|
|
3
3
|
description: Overview of Retrieval-Augmented Generation (RAG) in Mastra, detailing its capabilities for enhancing LLM outputs with relevant context.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -20,7 +20,6 @@ To implement RAG, you process your documents into chunks, create embeddings, sto
|
|
|
20
20
|
|
|
21
21
|
```ts showLineNumbers copy
|
|
22
22
|
import { embedMany } from "ai";
|
|
23
|
-
import { openai } from "@ai-sdk/openai";
|
|
24
23
|
import { PgVector } from "@mastra/pg";
|
|
25
24
|
import { MDocument } from "@mastra/rag";
|
|
26
25
|
import { z } from "zod";
|
|
@@ -36,9 +35,11 @@ const chunks = await doc.chunk({
|
|
|
36
35
|
});
|
|
37
36
|
|
|
38
37
|
// 3. Generate embeddings; we need to pass the text of each chunk
|
|
38
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
39
|
+
|
|
39
40
|
const { embeddings } = await embedMany({
|
|
40
41
|
values: chunks.map((chunk) => chunk.text),
|
|
41
|
-
model:
|
|
42
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small")
|
|
42
43
|
});
|
|
43
44
|
|
|
44
45
|
// 4. Store in vector database
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Retrieval, Semantic Search, Reranking | RAG
|
|
2
|
+
title: "Retrieval, Semantic Search, Reranking | RAG"
|
|
3
3
|
description: Guide on retrieval processes in Mastra's RAG systems, including semantic search, filtering, and re-ranking.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -27,14 +27,14 @@ Mastra provides flexible retrieval options with support for semantic search, fil
|
|
|
27
27
|
The simplest approach is direct semantic search. This method uses vector similarity to find chunks that are semantically similar to the query:
|
|
28
28
|
|
|
29
29
|
```ts showLineNumbers copy
|
|
30
|
-
import { openai } from "@ai-sdk/openai";
|
|
31
30
|
import { embed } from "ai";
|
|
32
31
|
import { PgVector } from "@mastra/pg";
|
|
32
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
33
33
|
|
|
34
34
|
// Convert query to embedding
|
|
35
35
|
const { embedding } = await embed({
|
|
36
36
|
value: "What are the main points in the article?",
|
|
37
|
-
model:
|
|
37
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
// Query vector store
|
|
@@ -52,6 +52,8 @@ const results = await pgVector.query({
|
|
|
52
52
|
console.log(results);
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
+
The `topK` parameter specifies the maximum number of most similar results to return from the vector search.
|
|
56
|
+
|
|
55
57
|
Results include both the text content and a similarity score:
|
|
56
58
|
|
|
57
59
|
```ts showLineNumbers copy
|
|
@@ -70,8 +72,6 @@ Results include both the text content and a similarity score:
|
|
|
70
72
|
];
|
|
71
73
|
```
|
|
72
74
|
|
|
73
|
-
For an example of how to use the basic retrieval method, see the [Retrieve Results](/examples/v1/rag/query/retrieve-results) example.
|
|
74
|
-
|
|
75
75
|
## Advanced Retrieval options
|
|
76
76
|
|
|
77
77
|
### Metadata Filtering
|
|
@@ -156,7 +156,7 @@ Sometimes you want to give your agent the ability to query a vector database dir
|
|
|
156
156
|
const vectorQueryTool = createVectorQueryTool({
|
|
157
157
|
vectorStoreName: "pgVector",
|
|
158
158
|
indexName: "embeddings",
|
|
159
|
-
model:
|
|
159
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
160
160
|
});
|
|
161
161
|
```
|
|
162
162
|
|
|
@@ -170,14 +170,21 @@ This is particularly useful when:
|
|
|
170
170
|
|
|
171
171
|
#### Database-Specific Configurations
|
|
172
172
|
|
|
173
|
-
The Vector Query Tool supports database-specific configurations that enable you to leverage unique features and optimizations of different vector stores
|
|
173
|
+
The Vector Query Tool supports database-specific configurations that enable you to leverage unique features and optimizations of different vector stores.
|
|
174
|
+
|
|
175
|
+
:::note
|
|
176
|
+
These configurations are for **query-time options** like namespaces, performance tuning, and filtering—not for database connection setup.
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
Connection credentials (URLs, auth tokens) are configured when you instantiate the vector store class (e.g., `new LibSQLVector({ connectionUrl: '...' })`).
|
|
180
|
+
:::
|
|
174
181
|
|
|
175
182
|
```ts showLineNumbers copy
|
|
176
183
|
// Pinecone with namespace
|
|
177
184
|
const pineconeQueryTool = createVectorQueryTool({
|
|
178
185
|
vectorStoreName: "pinecone",
|
|
179
186
|
indexName: "docs",
|
|
180
|
-
model:
|
|
187
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
181
188
|
databaseConfig: {
|
|
182
189
|
pinecone: {
|
|
183
190
|
namespace: "production", // Isolate data by environment
|
|
@@ -189,7 +196,7 @@ const pineconeQueryTool = createVectorQueryTool({
|
|
|
189
196
|
const pgVectorQueryTool = createVectorQueryTool({
|
|
190
197
|
vectorStoreName: "postgres",
|
|
191
198
|
indexName: "embeddings",
|
|
192
|
-
model:
|
|
199
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
193
200
|
databaseConfig: {
|
|
194
201
|
pgvector: {
|
|
195
202
|
minScore: 0.7, // Filter low-quality results
|
|
@@ -203,7 +210,7 @@ const pgVectorQueryTool = createVectorQueryTool({
|
|
|
203
210
|
const chromaQueryTool = createVectorQueryTool({
|
|
204
211
|
vectorStoreName: "chroma",
|
|
205
212
|
indexName: "documents",
|
|
206
|
-
model:
|
|
213
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
207
214
|
databaseConfig: {
|
|
208
215
|
chroma: {
|
|
209
216
|
where: { category: "technical" },
|
|
@@ -216,7 +223,7 @@ const chromaQueryTool = createVectorQueryTool({
|
|
|
216
223
|
const lanceQueryTool = createVectorQueryTool({
|
|
217
224
|
vectorStoreName: "lance",
|
|
218
225
|
indexName: "documents",
|
|
219
|
-
model:
|
|
226
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
220
227
|
databaseConfig: {
|
|
221
228
|
lance: {
|
|
222
229
|
tableName: "myVectors", // Specify which table to query
|
|
@@ -272,13 +279,12 @@ When implementing filtering, these prompts are required in the agent's instructi
|
|
|
272
279
|
<TabItem value="pgvector" label="pgVector">
|
|
273
280
|
|
|
274
281
|
```ts showLineNumbers copy
|
|
275
|
-
import { openai } from "@ai-sdk/openai";
|
|
276
282
|
import { PGVECTOR_PROMPT } from "@mastra/pg";
|
|
277
283
|
|
|
278
284
|
export const ragAgent = new Agent({
|
|
279
285
|
id: "rag-agent",
|
|
280
286
|
name: "RAG Agent",
|
|
281
|
-
model: openai
|
|
287
|
+
model: "openai/gpt-5.1",
|
|
282
288
|
instructions: `
|
|
283
289
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
284
290
|
${PGVECTOR_PROMPT}
|
|
@@ -292,13 +298,12 @@ export const ragAgent = new Agent({
|
|
|
292
298
|
<TabItem value="pinecone" label="Pinecone">
|
|
293
299
|
|
|
294
300
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
295
|
-
import { openai } from "@ai-sdk/openai";
|
|
296
301
|
import { PINECONE_PROMPT } from "@mastra/pinecone";
|
|
297
302
|
|
|
298
303
|
export const ragAgent = new Agent({
|
|
299
304
|
id: "rag-agent",
|
|
300
305
|
name: "RAG Agent",
|
|
301
|
-
model: openai
|
|
306
|
+
model: "openai/gpt-5.1",
|
|
302
307
|
instructions: `
|
|
303
308
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
304
309
|
${PINECONE_PROMPT}
|
|
@@ -312,13 +317,12 @@ export const ragAgent = new Agent({
|
|
|
312
317
|
<TabItem value="qdrant" label="Qdrant">
|
|
313
318
|
|
|
314
319
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
315
|
-
import { openai } from "@ai-sdk/openai";
|
|
316
320
|
import { QDRANT_PROMPT } from "@mastra/qdrant";
|
|
317
321
|
|
|
318
322
|
export const ragAgent = new Agent({
|
|
319
323
|
id: "rag-agent",
|
|
320
324
|
name: "RAG Agent",
|
|
321
|
-
model: openai
|
|
325
|
+
model: "openai/gpt-5.1",
|
|
322
326
|
instructions: `
|
|
323
327
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
324
328
|
${QDRANT_PROMPT}
|
|
@@ -332,13 +336,12 @@ export const ragAgent = new Agent({
|
|
|
332
336
|
<TabItem value="chroma" label="Chroma">
|
|
333
337
|
|
|
334
338
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
335
|
-
import { openai } from "@ai-sdk/openai";
|
|
336
339
|
import { CHROMA_PROMPT } from "@mastra/chroma";
|
|
337
340
|
|
|
338
341
|
export const ragAgent = new Agent({
|
|
339
342
|
id: "rag-agent",
|
|
340
343
|
name: "RAG Agent",
|
|
341
|
-
model: openai
|
|
344
|
+
model: "openai/gpt-5.1",
|
|
342
345
|
instructions: `
|
|
343
346
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
344
347
|
${CHROMA_PROMPT}
|
|
@@ -352,13 +355,12 @@ export const ragAgent = new Agent({
|
|
|
352
355
|
<TabItem value="astra" label="Astra">
|
|
353
356
|
|
|
354
357
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
355
|
-
import { openai } from "@ai-sdk/openai";
|
|
356
358
|
import { ASTRA_PROMPT } from "@mastra/astra";
|
|
357
359
|
|
|
358
360
|
export const ragAgent = new Agent({
|
|
359
361
|
id: "rag-agent",
|
|
360
362
|
name: "RAG Agent",
|
|
361
|
-
model: openai
|
|
363
|
+
model: "openai/gpt-5.1",
|
|
362
364
|
instructions: `
|
|
363
365
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
364
366
|
${ASTRA_PROMPT}
|
|
@@ -372,13 +374,12 @@ export const ragAgent = new Agent({
|
|
|
372
374
|
<TabItem value="libsql" label="LibSQL">
|
|
373
375
|
|
|
374
376
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
375
|
-
import { openai } from "@ai-sdk/openai";
|
|
376
377
|
import { LIBSQL_PROMPT } from "@mastra/libsql";
|
|
377
378
|
|
|
378
379
|
export const ragAgent = new Agent({
|
|
379
380
|
id: "rag-agent",
|
|
380
381
|
name: "RAG Agent",
|
|
381
|
-
model: openai
|
|
382
|
+
model: "openai/gpt-5.1",
|
|
382
383
|
instructions: `
|
|
383
384
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
384
385
|
${LIBSQL_PROMPT}
|
|
@@ -392,13 +393,12 @@ export const ragAgent = new Agent({
|
|
|
392
393
|
<TabItem value="upstash" label="Upstash">
|
|
393
394
|
|
|
394
395
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
395
|
-
import { openai } from "@ai-sdk/openai";
|
|
396
396
|
import { UPSTASH_PROMPT } from "@mastra/upstash";
|
|
397
397
|
|
|
398
398
|
export const ragAgent = new Agent({
|
|
399
399
|
id: "rag-agent",
|
|
400
400
|
name: "RAG Agent",
|
|
401
|
-
model: openai
|
|
401
|
+
model: "openai/gpt-5.1",
|
|
402
402
|
instructions: `
|
|
403
403
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
404
404
|
${UPSTASH_PROMPT}
|
|
@@ -412,13 +412,12 @@ export const ragAgent = new Agent({
|
|
|
412
412
|
<TabItem value="vectorize" label="Vectorize">
|
|
413
413
|
|
|
414
414
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
415
|
-
import { openai } from "@ai-sdk/openai";
|
|
416
415
|
import { VECTORIZE_PROMPT } from "@mastra/vectorize";
|
|
417
416
|
|
|
418
417
|
export const ragAgent = new Agent({
|
|
419
418
|
id: "rag-agent",
|
|
420
419
|
name: "RAG Agent",
|
|
421
|
-
model: openai
|
|
420
|
+
model: "openai/gpt-5.1",
|
|
422
421
|
instructions: `
|
|
423
422
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
424
423
|
${VECTORIZE_PROMPT}
|
|
@@ -432,13 +431,12 @@ export const ragAgent = new Agent({
|
|
|
432
431
|
<TabItem value="mongodb" label="MongoDB">
|
|
433
432
|
|
|
434
433
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
435
|
-
import { openai } from "@ai-sdk/openai";
|
|
436
434
|
import { MONGODB_PROMPT } from "@mastra/mongodb";
|
|
437
435
|
|
|
438
436
|
export const ragAgent = new Agent({
|
|
439
437
|
id: "rag-agent",
|
|
440
438
|
name: "RAG Agent",
|
|
441
|
-
model: openai
|
|
439
|
+
model: "openai/gpt-5.1",
|
|
442
440
|
instructions: `
|
|
443
441
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
444
442
|
${MONGODB_PROMPT}
|
|
@@ -452,13 +450,12 @@ export const ragAgent = new Agent({
|
|
|
452
450
|
<TabItem value="opensearch" label="OpenSearch">
|
|
453
451
|
|
|
454
452
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
455
|
-
import { openai } from "@ai-sdk/openai";
|
|
456
453
|
import { OPENSEARCH_PROMPT } from "@mastra/opensearch";
|
|
457
454
|
|
|
458
455
|
export const ragAgent = new Agent({
|
|
459
456
|
id: "rag-agent",
|
|
460
457
|
name: "RAG Agent",
|
|
461
|
-
model: openai
|
|
458
|
+
model: "openai/gpt-5.1",
|
|
462
459
|
instructions: `
|
|
463
460
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
464
461
|
${OPENSEARCH_PROMPT}
|
|
@@ -472,13 +469,12 @@ export const ragAgent = new Agent({
|
|
|
472
469
|
<TabItem value="s3vectors" label="S3Vectors">
|
|
473
470
|
|
|
474
471
|
```ts title="vector-store.ts" showLineNumbers copy
|
|
475
|
-
import { openai } from "@ai-sdk/openai";
|
|
476
472
|
import { S3VECTORS_PROMPT } from "@mastra/s3vectors";
|
|
477
473
|
|
|
478
474
|
export const ragAgent = new Agent({
|
|
479
475
|
id: "rag-agent",
|
|
480
476
|
name: "RAG Agent",
|
|
481
|
-
model: openai
|
|
477
|
+
model: "openai/gpt-5.1",
|
|
482
478
|
instructions: `
|
|
483
479
|
Process queries using the provided context. Structure responses to be concise and relevant.
|
|
484
480
|
${S3VECTORS_PROMPT}
|
|
@@ -502,7 +498,6 @@ Initial vector similarity search can sometimes miss nuanced relevance. Re-rankin
|
|
|
502
498
|
Here's how to use re-ranking:
|
|
503
499
|
|
|
504
500
|
```ts showLineNumbers copy
|
|
505
|
-
import { openai } from "@ai-sdk/openai";
|
|
506
501
|
import {
|
|
507
502
|
rerankWithScorer as rerank,
|
|
508
503
|
MastraAgentRelevanceScorer
|
|
@@ -516,19 +511,31 @@ const initialResults = await pgVector.query({
|
|
|
516
511
|
});
|
|
517
512
|
|
|
518
513
|
// Create a relevance scorer
|
|
519
|
-
const relevanceProvider = new MastraAgentRelevanceScorer('relevance-scorer', openai
|
|
514
|
+
const relevanceProvider = new MastraAgentRelevanceScorer('relevance-scorer', "openai/gpt-5.1");
|
|
520
515
|
|
|
521
516
|
// Re-rank the results
|
|
522
517
|
const rerankedResults = await rerank({
|
|
523
518
|
results: initialResults,
|
|
524
519
|
query,
|
|
525
|
-
|
|
520
|
+
scorer: relevanceProvider,
|
|
526
521
|
options: {
|
|
522
|
+
weights: {
|
|
523
|
+
semantic: 0.5, // How well the content matches the query semantically
|
|
524
|
+
vector: 0.3, // Original vector similarity score
|
|
525
|
+
position: 0.2, // Preserves original result ordering
|
|
526
|
+
},
|
|
527
527
|
topK: 10,
|
|
528
528
|
},
|
|
529
529
|
);
|
|
530
530
|
```
|
|
531
531
|
|
|
532
|
+
The weights control how different factors influence the final ranking:
|
|
533
|
+
|
|
534
|
+
- `semantic`: Higher values prioritize semantic understanding and relevance to the query
|
|
535
|
+
- `vector`: Higher values favor the original vector similarity scores
|
|
536
|
+
- `position`: Higher values help maintain the original ordering of results
|
|
537
|
+
|
|
538
|
+
|
|
532
539
|
> **Note:** For semantic scoring to work properly during re-ranking, each result must include the text content in its `metadata.text` field.
|
|
533
540
|
|
|
534
541
|
You can also use other relevance score providers like Cohere or ZeroEntropy:
|
|
@@ -545,8 +552,6 @@ The re-ranked results combine vector similarity with semantic understanding to i
|
|
|
545
552
|
|
|
546
553
|
For more details about re-ranking, see the [rerank()](/reference/v1/rag/rerankWithScorer) method.
|
|
547
554
|
|
|
548
|
-
For an example of how to use the re-ranking method, see the Re-ranking Results example in the examples section.
|
|
549
|
-
|
|
550
555
|
### Graph-based Retrieval
|
|
551
556
|
|
|
552
557
|
For documents with complex relationships, graph-based retrieval can follow connections between chunks. This helps when:
|
|
@@ -561,7 +566,7 @@ Example setup:
|
|
|
561
566
|
const graphQueryTool = createGraphQueryTool({
|
|
562
567
|
vectorStoreName: "pgVector",
|
|
563
568
|
indexName: "embeddings",
|
|
564
|
-
model:
|
|
569
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
565
570
|
graphOptions: {
|
|
566
571
|
threshold: 0.7,
|
|
567
572
|
},
|