@mastra/mcp-docs-server 0.13.37 → 0.13.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/%40internal%2Fchangeset-cli.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fexternal-types.md +2 -0
- package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +8 -8
- package/.docs/organized/changelogs/%40internal%2Ftypes-builder.md +2 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +23 -23
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +69 -69
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +17 -17
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +25 -25
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Freact.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +23 -23
- package/.docs/organized/changelogs/create-mastra.md +5 -5
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/raw/agents/adding-voice.mdx +20 -9
- package/.docs/raw/agents/agent-memory.mdx +55 -39
- package/.docs/raw/agents/guardrails.mdx +68 -61
- package/.docs/raw/agents/networks.mdx +50 -46
- package/.docs/raw/agents/overview.mdx +125 -88
- package/.docs/raw/agents/using-tools.mdx +14 -15
- package/.docs/raw/auth/auth0.mdx +28 -27
- package/.docs/raw/auth/clerk.mdx +22 -20
- package/.docs/raw/auth/firebase.mdx +42 -39
- package/.docs/raw/auth/index.mdx +1 -1
- package/.docs/raw/auth/jwt.mdx +18 -16
- package/.docs/raw/auth/supabase.mdx +20 -18
- package/.docs/raw/auth/workos.mdx +32 -26
- package/.docs/raw/community/contributing-templates.mdx +7 -7
- package/.docs/raw/community/discord.mdx +2 -2
- package/.docs/raw/community/licensing.mdx +1 -1
- package/.docs/raw/course/03-agent-memory/26-updating-mastra-export-comprehensive.md +0 -32
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +41 -22
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +48 -29
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +52 -24
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +86 -55
- package/.docs/raw/deployment/cloud-providers/index.mdx +16 -13
- package/.docs/raw/deployment/monorepo.mdx +32 -42
- package/.docs/raw/deployment/overview.mdx +15 -15
- package/.docs/raw/deployment/server-deployment.mdx +18 -23
- package/.docs/raw/deployment/serverless-platforms/cloudflare-deployer.mdx +16 -17
- package/.docs/raw/deployment/serverless-platforms/index.mdx +15 -12
- package/.docs/raw/deployment/serverless-platforms/netlify-deployer.mdx +14 -23
- package/.docs/raw/deployment/serverless-platforms/vercel-deployer.mdx +16 -23
- package/.docs/raw/deployment/web-framework.mdx +14 -14
- package/.docs/raw/frameworks/agentic-uis/ai-sdk.mdx +138 -145
- package/.docs/raw/frameworks/agentic-uis/assistant-ui.mdx +54 -43
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +51 -36
- package/.docs/raw/frameworks/agentic-uis/copilotkit.mdx +161 -120
- package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +59 -48
- package/.docs/raw/frameworks/servers/express.mdx +45 -44
- package/.docs/raw/frameworks/web-frameworks/astro.mdx +245 -162
- package/.docs/raw/frameworks/web-frameworks/next-js.mdx +112 -69
- package/.docs/raw/frameworks/web-frameworks/sveltekit.mdx +189 -164
- package/.docs/raw/frameworks/web-frameworks/vite-react.mdx +94 -81
- package/.docs/raw/getting-started/installation.mdx +164 -133
- package/.docs/raw/getting-started/mcp-docs-server.mdx +36 -39
- package/.docs/raw/getting-started/project-structure.mdx +34 -42
- package/.docs/raw/getting-started/studio.mdx +40 -58
- package/.docs/raw/getting-started/templates.mdx +22 -27
- package/.docs/raw/index.mdx +9 -9
- package/.docs/raw/mastra-cloud/dashboard.mdx +10 -10
- package/.docs/raw/mastra-cloud/observability.mdx +7 -8
- package/.docs/raw/mastra-cloud/overview.mdx +16 -22
- package/.docs/raw/mastra-cloud/setting-up.mdx +33 -20
- package/.docs/raw/memory/conversation-history.mdx +2 -2
- package/.docs/raw/memory/overview.mdx +21 -23
- package/.docs/raw/memory/semantic-recall.mdx +14 -13
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +27 -28
- package/.docs/raw/memory/storage/memory-with-pg.mdx +26 -26
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +26 -27
- package/.docs/raw/memory/threads-and-resources.mdx +23 -20
- package/.docs/raw/memory/working-memory.mdx +27 -38
- package/.docs/raw/observability/ai-tracing/exporters/arize.mdx +30 -29
- package/.docs/raw/observability/ai-tracing/exporters/braintrust.mdx +8 -9
- package/.docs/raw/observability/ai-tracing/exporters/cloud.mdx +17 -16
- package/.docs/raw/observability/ai-tracing/exporters/default.mdx +31 -32
- package/.docs/raw/observability/ai-tracing/exporters/langfuse.mdx +18 -17
- package/.docs/raw/observability/ai-tracing/exporters/langsmith.mdx +14 -14
- package/.docs/raw/observability/ai-tracing/exporters/otel.mdx +56 -46
- package/.docs/raw/observability/ai-tracing/overview.mdx +145 -122
- package/.docs/raw/observability/ai-tracing/processors/sensitive-data-filter.mdx +57 -36
- package/.docs/raw/observability/logging.mdx +14 -17
- package/.docs/raw/observability/nextjs-tracing.mdx +5 -5
- package/.docs/raw/observability/otel-tracing.mdx +17 -18
- package/.docs/raw/observability/overview.mdx +14 -10
- package/.docs/raw/rag/chunking-and-embedding.mdx +10 -8
- package/.docs/raw/rag/overview.mdx +5 -5
- package/.docs/raw/rag/retrieval.mdx +125 -107
- package/.docs/raw/rag/vector-databases.mdx +232 -223
- package/.docs/raw/reference/agents/agent.mdx +54 -41
- package/.docs/raw/reference/agents/generate.mdx +367 -261
- package/.docs/raw/reference/agents/generateLegacy.mdx +260 -178
- package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +7 -5
- package/.docs/raw/reference/agents/getDescription.mdx +3 -2
- package/.docs/raw/reference/agents/getInstructions.mdx +7 -5
- package/.docs/raw/reference/agents/getLLM.mdx +11 -7
- package/.docs/raw/reference/agents/getMemory.mdx +7 -5
- package/.docs/raw/reference/agents/getModel.mdx +7 -5
- package/.docs/raw/reference/agents/getScorers.mdx +7 -5
- package/.docs/raw/reference/agents/getTools.mdx +7 -5
- package/.docs/raw/reference/agents/getVoice.mdx +7 -5
- package/.docs/raw/reference/agents/getWorkflows.mdx +7 -5
- package/.docs/raw/reference/agents/listAgents.mdx +6 -4
- package/.docs/raw/reference/agents/network.mdx +171 -116
- package/.docs/raw/reference/auth/auth0.mdx +18 -14
- package/.docs/raw/reference/auth/clerk.mdx +15 -12
- package/.docs/raw/reference/auth/firebase.mdx +23 -16
- package/.docs/raw/reference/auth/jwt.mdx +7 -6
- package/.docs/raw/reference/auth/supabase.mdx +13 -10
- package/.docs/raw/reference/auth/workos.mdx +17 -13
- package/.docs/raw/reference/cli/create-mastra.mdx +61 -44
- package/.docs/raw/reference/cli/mastra.mdx +11 -11
- package/.docs/raw/reference/client-js/agents.mdx +40 -43
- package/.docs/raw/reference/client-js/error-handling.mdx +1 -1
- package/.docs/raw/reference/client-js/logs.mdx +1 -1
- package/.docs/raw/reference/client-js/mastra-client.mdx +21 -13
- package/.docs/raw/reference/client-js/memory.mdx +6 -2
- package/.docs/raw/reference/client-js/observability.mdx +10 -9
- package/.docs/raw/reference/client-js/telemetry.mdx +1 -1
- package/.docs/raw/reference/client-js/tools.mdx +1 -1
- package/.docs/raw/reference/client-js/vectors.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows-legacy.mdx +1 -1
- package/.docs/raw/reference/client-js/workflows.mdx +7 -7
- package/.docs/raw/reference/core/getAgent.mdx +6 -5
- package/.docs/raw/reference/core/getAgentById.mdx +5 -4
- package/.docs/raw/reference/core/getAgents.mdx +3 -3
- package/.docs/raw/reference/core/getDeployer.mdx +4 -3
- package/.docs/raw/reference/core/getLogger.mdx +4 -3
- package/.docs/raw/reference/core/getLogs.mdx +10 -6
- package/.docs/raw/reference/core/getLogsByRunId.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServer.mdx +8 -5
- package/.docs/raw/reference/core/getMCPServers.mdx +4 -3
- package/.docs/raw/reference/core/getMemory.mdx +4 -3
- package/.docs/raw/reference/core/getScorer.mdx +15 -12
- package/.docs/raw/reference/core/getScorerByName.mdx +12 -9
- package/.docs/raw/reference/core/getScorers.mdx +3 -2
- package/.docs/raw/reference/core/getServer.mdx +4 -3
- package/.docs/raw/reference/core/getStorage.mdx +4 -3
- package/.docs/raw/reference/core/getTelemetry.mdx +4 -3
- package/.docs/raw/reference/core/getVector.mdx +6 -4
- package/.docs/raw/reference/core/getVectors.mdx +4 -3
- package/.docs/raw/reference/core/getWorkflow.mdx +7 -4
- package/.docs/raw/reference/core/getWorkflows.mdx +5 -3
- package/.docs/raw/reference/core/mastra-class.mdx +16 -16
- package/.docs/raw/reference/core/setLogger.mdx +6 -4
- package/.docs/raw/reference/core/setStorage.mdx +4 -4
- package/.docs/raw/reference/core/setTelemetry.mdx +4 -3
- package/.docs/raw/reference/deployer/cloudflare.mdx +11 -7
- package/.docs/raw/reference/deployer/deployer.mdx +2 -1
- package/.docs/raw/reference/deployer/netlify.mdx +4 -4
- package/.docs/raw/reference/deployer/vercel.mdx +6 -6
- package/.docs/raw/reference/evals/answer-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/bias.mdx +4 -5
- package/.docs/raw/reference/evals/completeness.mdx +4 -5
- package/.docs/raw/reference/evals/content-similarity.mdx +4 -5
- package/.docs/raw/reference/evals/context-position.mdx +4 -5
- package/.docs/raw/reference/evals/context-precision.mdx +4 -5
- package/.docs/raw/reference/evals/context-relevancy.mdx +4 -5
- package/.docs/raw/reference/evals/contextual-recall.mdx +4 -5
- package/.docs/raw/reference/evals/faithfulness.mdx +4 -5
- package/.docs/raw/reference/evals/hallucination.mdx +4 -6
- package/.docs/raw/reference/evals/keyword-coverage.mdx +4 -5
- package/.docs/raw/reference/evals/prompt-alignment.mdx +4 -6
- package/.docs/raw/reference/evals/summarization.mdx +4 -6
- package/.docs/raw/reference/evals/textual-difference.mdx +4 -5
- package/.docs/raw/reference/evals/tone-consistency.mdx +4 -7
- package/.docs/raw/reference/evals/toxicity.mdx +4 -5
- package/.docs/raw/reference/index.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/after.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/afterEvent.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/commit.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/createRun.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/else.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/events.mdx +7 -7
- package/.docs/raw/reference/legacyWorkflows/execute.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/if.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resume.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/resumeWithEvent.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/snapshots.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/start.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-class.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-condition.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/step-function.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/step-options.mdx +6 -6
- package/.docs/raw/reference/legacyWorkflows/step-retries.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/suspend.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/then.mdx +5 -5
- package/.docs/raw/reference/legacyWorkflows/until.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/watch.mdx +3 -3
- package/.docs/raw/reference/legacyWorkflows/while.mdx +4 -4
- package/.docs/raw/reference/legacyWorkflows/workflow.mdx +7 -7
- package/.docs/raw/reference/memory/createThread.mdx +10 -10
- package/.docs/raw/reference/memory/deleteMessages.mdx +7 -5
- package/.docs/raw/reference/memory/getThreadById.mdx +6 -5
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +11 -10
- package/.docs/raw/reference/memory/getThreadsByResourceIdPaginated.mdx +10 -9
- package/.docs/raw/reference/memory/{Memory.mdx → memory-class.mdx} +53 -46
- package/.docs/raw/reference/memory/query.mdx +39 -25
- package/.docs/raw/reference/observability/ai-tracing/ai-tracing.mdx +9 -5
- package/.docs/raw/reference/observability/ai-tracing/configuration.mdx +26 -22
- package/.docs/raw/reference/observability/ai-tracing/exporters/arize.mdx +16 -12
- package/.docs/raw/reference/observability/ai-tracing/exporters/braintrust.mdx +14 -14
- package/.docs/raw/reference/observability/ai-tracing/exporters/cloud-exporter.mdx +16 -11
- package/.docs/raw/reference/observability/ai-tracing/exporters/console-exporter.mdx +10 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/default-exporter.mdx +23 -15
- package/.docs/raw/reference/observability/ai-tracing/exporters/langfuse.mdx +6 -6
- package/.docs/raw/reference/observability/ai-tracing/exporters/langsmith.mdx +13 -13
- package/.docs/raw/reference/observability/ai-tracing/exporters/otel.mdx +44 -36
- package/.docs/raw/reference/observability/ai-tracing/interfaces.mdx +115 -106
- package/.docs/raw/reference/observability/ai-tracing/processors/sensitive-data-filter.mdx +37 -32
- package/.docs/raw/reference/observability/ai-tracing/span.mdx +29 -26
- package/.docs/raw/reference/observability/logging/pino-logger.mdx +13 -15
- package/.docs/raw/reference/observability/otel-tracing/otel-config.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-ax.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/arize-phoenix.mdx +2 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/dash0.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/index.mdx +12 -14
- package/.docs/raw/reference/observability/otel-tracing/providers/keywordsai.mdx +3 -3
- package/.docs/raw/reference/observability/otel-tracing/providers/laminar.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langfuse.mdx +4 -4
- package/.docs/raw/reference/observability/otel-tracing/providers/langsmith.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/langwatch.mdx +2 -2
- package/.docs/raw/reference/observability/otel-tracing/providers/new-relic.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/signoz.mdx +1 -1
- package/.docs/raw/reference/observability/otel-tracing/providers/traceloop.mdx +1 -1
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +13 -10
- package/.docs/raw/reference/processors/language-detector.mdx +27 -17
- package/.docs/raw/reference/processors/moderation-processor.mdx +26 -17
- package/.docs/raw/reference/processors/pii-detector.mdx +28 -18
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +25 -17
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +26 -17
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +22 -15
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +13 -12
- package/.docs/raw/reference/rag/chunk.mdx +41 -23
- package/.docs/raw/reference/rag/database-config.mdx +56 -38
- package/.docs/raw/reference/rag/document.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +1 -1
- package/.docs/raw/reference/rag/extract-params.mdx +1 -1
- package/.docs/raw/reference/rag/graph-rag.mdx +1 -1
- package/.docs/raw/reference/rag/metadata-filters.mdx +23 -26
- package/.docs/raw/reference/rag/rerank.mdx +1 -1
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +2 -2
- package/.docs/raw/reference/scorers/answer-relevancy.mdx +35 -17
- package/.docs/raw/reference/scorers/answer-similarity.mdx +84 -68
- package/.docs/raw/reference/scorers/bias.mdx +22 -19
- package/.docs/raw/reference/scorers/completeness.mdx +21 -16
- package/.docs/raw/reference/scorers/content-similarity.mdx +12 -10
- package/.docs/raw/reference/scorers/context-precision.mdx +73 -64
- package/.docs/raw/reference/scorers/context-relevance.mdx +142 -126
- package/.docs/raw/reference/scorers/create-scorer.mdx +93 -61
- package/.docs/raw/reference/scorers/faithfulness.mdx +21 -13
- package/.docs/raw/reference/scorers/hallucination.mdx +17 -12
- package/.docs/raw/reference/scorers/keyword-coverage.mdx +32 -27
- package/.docs/raw/reference/scorers/mastra-scorer.mdx +39 -33
- package/.docs/raw/reference/scorers/noise-sensitivity.mdx +203 -152
- package/.docs/raw/reference/scorers/prompt-alignment.mdx +186 -132
- package/.docs/raw/reference/scorers/run-experiment.mdx +40 -31
- package/.docs/raw/reference/scorers/textual-difference.mdx +25 -26
- package/.docs/raw/reference/scorers/tone-consistency.mdx +29 -26
- package/.docs/raw/reference/scorers/tool-call-accuracy.mdx +180 -176
- package/.docs/raw/reference/scorers/toxicity.mdx +35 -31
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +1 -1
- package/.docs/raw/reference/storage/cloudflare.mdx +1 -1
- package/.docs/raw/reference/storage/dynamodb.mdx +1 -1
- package/.docs/raw/reference/storage/lance.mdx +1 -1
- package/.docs/raw/reference/storage/libsql.mdx +2 -2
- package/.docs/raw/reference/storage/mongodb.mdx +4 -5
- package/.docs/raw/reference/storage/mssql.mdx +5 -4
- package/.docs/raw/reference/storage/postgresql.mdx +35 -33
- package/.docs/raw/reference/storage/upstash.mdx +6 -5
- package/.docs/raw/reference/streaming/ChunkType.mdx +788 -314
- package/.docs/raw/reference/streaming/agents/MastraModelOutput.mdx +265 -109
- package/.docs/raw/reference/streaming/agents/stream.mdx +375 -266
- package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +233 -162
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +4 -4
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +5 -5
- package/.docs/raw/reference/streaming/workflows/resumeStreamVNext.mdx +24 -20
- package/.docs/raw/reference/streaming/workflows/stream.mdx +35 -26
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +36 -27
- package/.docs/raw/reference/templates/overview.mdx +16 -39
- package/.docs/raw/reference/tools/client.mdx +1 -1
- package/.docs/raw/reference/tools/create-tool.mdx +45 -35
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +2 -2
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +12 -12
- package/.docs/raw/reference/tools/mcp-client.mdx +70 -64
- package/.docs/raw/reference/tools/mcp-server.mdx +91 -78
- package/.docs/raw/reference/tools/vector-query-tool.mdx +48 -38
- package/.docs/raw/reference/vectors/astra.mdx +1 -1
- package/.docs/raw/reference/vectors/chroma.mdx +25 -19
- package/.docs/raw/reference/vectors/couchbase.mdx +4 -4
- package/.docs/raw/reference/vectors/lance.mdx +5 -6
- package/.docs/raw/reference/vectors/libsql.mdx +1 -1
- package/.docs/raw/reference/vectors/mongodb.mdx +1 -1
- package/.docs/raw/reference/vectors/opensearch.mdx +1 -1
- package/.docs/raw/reference/vectors/pg.mdx +8 -4
- package/.docs/raw/reference/vectors/pinecone.mdx +1 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +1 -1
- package/.docs/raw/reference/vectors/s3vectors.mdx +35 -27
- package/.docs/raw/reference/vectors/turbopuffer.mdx +1 -1
- package/.docs/raw/reference/vectors/upstash.mdx +33 -25
- package/.docs/raw/reference/vectors/vectorize.mdx +1 -1
- package/.docs/raw/reference/voice/azure.mdx +1 -1
- package/.docs/raw/reference/voice/cloudflare.mdx +1 -1
- package/.docs/raw/reference/voice/composite-voice.mdx +1 -1
- package/.docs/raw/reference/voice/deepgram.mdx +1 -1
- package/.docs/raw/reference/voice/elevenlabs.mdx +1 -1
- package/.docs/raw/reference/voice/google-gemini-live.mdx +6 -4
- package/.docs/raw/reference/voice/google.mdx +1 -1
- package/.docs/raw/reference/voice/mastra-voice.mdx +1 -1
- package/.docs/raw/reference/voice/murf.mdx +1 -1
- package/.docs/raw/reference/voice/openai-realtime.mdx +1 -1
- package/.docs/raw/reference/voice/openai.mdx +1 -1
- package/.docs/raw/reference/voice/playai.mdx +1 -1
- package/.docs/raw/reference/voice/sarvam.mdx +1 -1
- package/.docs/raw/reference/voice/speechify.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +1 -1
- package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
- package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
- package/.docs/raw/reference/voice/voice.close.mdx +1 -1
- package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
- package/.docs/raw/reference/voice/voice.events.mdx +1 -1
- package/.docs/raw/reference/voice/voice.getSpeakers.mdx +23 -30
- package/.docs/raw/reference/voice/voice.listen.mdx +1 -1
- package/.docs/raw/reference/voice/voice.off.mdx +1 -1
- package/.docs/raw/reference/voice/voice.on.mdx +1 -1
- package/.docs/raw/reference/voice/voice.send.mdx +1 -1
- package/.docs/raw/reference/voice/voice.speak.mdx +1 -1
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/reference/workflows/run-methods/cancel.mdx +4 -3
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +49 -34
- package/.docs/raw/reference/workflows/run-methods/start.mdx +43 -31
- package/.docs/raw/reference/workflows/run-methods/watch.mdx +7 -8
- package/.docs/raw/reference/workflows/run.mdx +7 -10
- package/.docs/raw/reference/workflows/step.mdx +15 -12
- package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +7 -7
- package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +2 -2
- package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/map.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +5 -5
- package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +3 -2
- package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
- package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +3 -3
- package/.docs/raw/reference/workflows/workflow.mdx +13 -10
- package/.docs/raw/scorers/custom-scorers.mdx +58 -48
- package/.docs/raw/scorers/evals-old-api/custom-eval.mdx +6 -8
- package/.docs/raw/scorers/evals-old-api/overview.mdx +8 -8
- package/.docs/raw/scorers/evals-old-api/running-in-ci.mdx +9 -9
- package/.docs/raw/scorers/evals-old-api/textual-evals.mdx +5 -5
- package/.docs/raw/scorers/off-the-shelf-scorers.mdx +3 -1
- package/.docs/raw/scorers/overview.mdx +20 -19
- package/.docs/raw/server-db/custom-api-routes.mdx +8 -8
- package/.docs/raw/server-db/mastra-client.mdx +56 -54
- package/.docs/raw/server-db/middleware.mdx +11 -7
- package/.docs/raw/server-db/production-server.mdx +5 -7
- package/.docs/raw/server-db/runtime-context.mdx +41 -38
- package/.docs/raw/server-db/storage.mdx +82 -87
- package/.docs/raw/streaming/events.mdx +24 -16
- package/.docs/raw/streaming/overview.mdx +17 -18
- package/.docs/raw/streaming/tool-streaming.mdx +9 -10
- package/.docs/raw/streaming/workflow-streaming.mdx +14 -12
- package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +92 -102
- package/.docs/raw/tools-mcp/overview.mdx +9 -14
- package/.docs/raw/voice/overview.mdx +273 -250
- package/.docs/raw/voice/speech-to-speech.mdx +14 -12
- package/.docs/raw/voice/speech-to-text.mdx +2 -2
- package/.docs/raw/voice/text-to-speech.mdx +2 -2
- package/.docs/raw/workflows/agents-and-tools.mdx +29 -28
- package/.docs/raw/workflows/control-flow.mdx +24 -24
- package/.docs/raw/workflows/error-handling.mdx +15 -17
- package/.docs/raw/workflows/human-in-the-loop.mdx +39 -39
- package/.docs/raw/workflows/inngest-workflow.mdx +33 -29
- package/.docs/raw/workflows/input-data-mapping.mdx +9 -9
- package/.docs/raw/workflows/overview.mdx +60 -60
- package/.docs/raw/workflows/snapshots.mdx +54 -36
- package/.docs/raw/workflows/suspend-and-resume.mdx +52 -57
- package/.docs/raw/workflows-legacy/control-flow.mdx +15 -17
- package/.docs/raw/workflows-legacy/dynamic-workflows.mdx +3 -1
- package/.docs/raw/workflows-legacy/error-handling.mdx +8 -6
- package/.docs/raw/workflows-legacy/nested-workflows.mdx +6 -0
- package/.docs/raw/workflows-legacy/overview.mdx +28 -26
- package/.docs/raw/workflows-legacy/runtime-variables.mdx +4 -2
- package/.docs/raw/workflows-legacy/steps.mdx +5 -3
- package/.docs/raw/workflows-legacy/suspend-and-resume.mdx +10 -8
- package/.docs/raw/workflows-legacy/variables.mdx +10 -8
- package/CHANGELOG.md +14 -0
- package/package.json +5 -5
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -148
|
@@ -1,80 +1,80 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "Storing Embeddings in A Vector Database | Mastra Docs"
|
|
2
|
+
title: "Storing Embeddings in A Vector Database | RAG | Mastra Docs"
|
|
3
3
|
description: Guide on vector storage options in Mastra, including embedded and dedicated vector databases for similarity search.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import Tabs from "@theme/Tabs";
|
|
7
|
+
import TabItem from "@theme/TabItem";
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
# Storing Embeddings in A Vector Database
|
|
9
10
|
|
|
10
11
|
After generating embeddings, you need to store them in a database that supports vector similarity search. Mastra provides a consistent interface for storing and querying embeddings across various vector databases.
|
|
11
12
|
|
|
12
13
|
## Supported Databases
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
vectors: embeddings,
|
|
61
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
62
|
-
});
|
|
15
|
+
<Tabs>
|
|
16
|
+
<TabItem value="mongodb" label="MongoDB">
|
|
17
|
+
|
|
18
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
19
|
+
import { MongoDBVector } from "@mastra/mongodb";
|
|
20
|
+
|
|
21
|
+
const store = new MongoDBVector({
|
|
22
|
+
uri: process.env.MONGODB_URI,
|
|
23
|
+
dbName: process.env.MONGODB_DATABASE,
|
|
24
|
+
});
|
|
25
|
+
await store.createIndex({
|
|
26
|
+
indexName: "myCollection",
|
|
27
|
+
dimension: 1536,
|
|
28
|
+
});
|
|
29
|
+
await store.upsert({
|
|
30
|
+
indexName: "myCollection",
|
|
31
|
+
vectors: embeddings,
|
|
32
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Using MongoDB Atlas Vector search
|
|
37
|
+
|
|
38
|
+
For detailed setup instructions and best practices, see the [official MongoDB Atlas Vector Search documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-overview/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=mastra-docs).
|
|
39
|
+
|
|
40
|
+
</TabItem>
|
|
41
|
+
|
|
42
|
+
<TabItem value="pg-vector" label="PgVector">
|
|
43
|
+
|
|
44
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
45
|
+
import { PgVector } from "@mastra/pg";
|
|
46
|
+
|
|
47
|
+
const store = new PgVector({
|
|
48
|
+
connectionString: process.env.POSTGRES_CONNECTION_STRING,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
await store.createIndex({
|
|
52
|
+
indexName: "myCollection",
|
|
53
|
+
dimension: 1536,
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
await store.upsert({
|
|
57
|
+
indexName: "myCollection",
|
|
58
|
+
vectors: embeddings,
|
|
59
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
60
|
+
});
|
|
63
61
|
```
|
|
64
62
|
|
|
65
63
|
### Using PostgreSQL with pgvector
|
|
66
64
|
|
|
67
65
|
PostgreSQL with the pgvector extension is a good solution for teams already using PostgreSQL who want to minimize infrastructure complexity.
|
|
68
66
|
For detailed setup instructions and best practices, see the [official pgvector repository](https://github.com/pgvector/pgvector).
|
|
69
|
-
</Tabs.Tab>
|
|
70
67
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
</TabItem>
|
|
69
|
+
|
|
70
|
+
<TabItem value="pinecone" label="Pinecone">
|
|
71
|
+
|
|
72
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
73
|
+
import { PineconeVector } from "@mastra/pinecone";
|
|
74
74
|
|
|
75
75
|
const store = new PineconeVector({
|
|
76
76
|
apiKey: process.env.PINECONE_API_KEY,
|
|
77
|
-
})
|
|
77
|
+
});
|
|
78
78
|
await store.createIndex({
|
|
79
79
|
indexName: "myCollection",
|
|
80
80
|
dimension: 1536,
|
|
@@ -82,37 +82,40 @@ await store.createIndex({
|
|
|
82
82
|
await store.upsert({
|
|
83
83
|
indexName: "myCollection",
|
|
84
84
|
vectors: embeddings,
|
|
85
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
85
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
86
86
|
});
|
|
87
87
|
```
|
|
88
|
-
</Tabs.Tab>
|
|
89
88
|
|
|
90
|
-
|
|
91
|
-
```ts filename="vector-store.ts" showLineNumbers copy
|
|
92
|
-
import { QdrantVector } from '@mastra/qdrant'
|
|
89
|
+
</TabItem>
|
|
93
90
|
|
|
94
|
-
|
|
95
|
-
url: process.env.QDRANT_URL,
|
|
96
|
-
apiKey: process.env.QDRANT_API_KEY
|
|
97
|
-
})
|
|
91
|
+
<TabItem value="qdrant" label="Qdrant">
|
|
98
92
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
dimension: 1536,
|
|
102
|
-
});
|
|
93
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
94
|
+
import { QdrantVector } from "@mastra/qdrant";
|
|
103
95
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
});
|
|
96
|
+
const store = new QdrantVector({
|
|
97
|
+
url: process.env.QDRANT_URL,
|
|
98
|
+
apiKey: process.env.QDRANT_API_KEY,
|
|
99
|
+
});
|
|
109
100
|
|
|
101
|
+
await store.createIndex({
|
|
102
|
+
indexName: "myCollection",
|
|
103
|
+
dimension: 1536,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
await store.upsert({
|
|
107
|
+
indexName: "myCollection",
|
|
108
|
+
vectors: embeddings,
|
|
109
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
110
|
+
});
|
|
110
111
|
```
|
|
111
|
-
</Tabs.Tab>
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
</TabItem>
|
|
114
|
+
|
|
115
|
+
<TabItem value="chroma" label="Chroma">
|
|
116
|
+
|
|
117
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
118
|
+
import { ChromaVector } from "@mastra/chroma";
|
|
116
119
|
|
|
117
120
|
// Running Chroma locally
|
|
118
121
|
// const store = new ChromaVector()
|
|
@@ -121,8 +124,8 @@ import { ChromaVector } from '@mastra/chroma'
|
|
|
121
124
|
const store = new ChromaVector({
|
|
122
125
|
apiKey: process.env.CHROMA_API_KEY,
|
|
123
126
|
tenant: process.env.CHROMA_TENANT,
|
|
124
|
-
database: process.env.CHROMA_DATABASE
|
|
125
|
-
})
|
|
127
|
+
database: process.env.CHROMA_DATABASE,
|
|
128
|
+
});
|
|
126
129
|
|
|
127
130
|
await store.createIndex({
|
|
128
131
|
indexName: "myCollection",
|
|
@@ -132,44 +135,46 @@ await store.createIndex({
|
|
|
132
135
|
await store.upsert({
|
|
133
136
|
indexName: "myCollection",
|
|
134
137
|
vectors: embeddings,
|
|
135
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
138
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
136
139
|
});
|
|
137
140
|
```
|
|
138
|
-
</Tabs.Tab>
|
|
139
141
|
|
|
140
|
-
|
|
141
|
-
```ts filename="vector-store.ts" showLineNumbers copy
|
|
142
|
-
import { AstraVector } from '@mastra/astra'
|
|
142
|
+
</TabItem>
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
token: process.env.ASTRA_DB_TOKEN,
|
|
146
|
-
endpoint: process.env.ASTRA_DB_ENDPOINT,
|
|
147
|
-
keyspace: process.env.ASTRA_DB_KEYSPACE
|
|
148
|
-
})
|
|
144
|
+
<TabItem value="astra" label="Astra">
|
|
149
145
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
dimension: 1536,
|
|
153
|
-
});
|
|
146
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
147
|
+
import { AstraVector } from "@mastra/astra";
|
|
154
148
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
149
|
+
const store = new AstraVector({
|
|
150
|
+
token: process.env.ASTRA_DB_TOKEN,
|
|
151
|
+
endpoint: process.env.ASTRA_DB_ENDPOINT,
|
|
152
|
+
keyspace: process.env.ASTRA_DB_KEYSPACE,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
await store.createIndex({
|
|
156
|
+
indexName: "myCollection",
|
|
157
|
+
dimension: 1536,
|
|
158
|
+
});
|
|
160
159
|
|
|
160
|
+
await store.upsert({
|
|
161
|
+
indexName: "myCollection",
|
|
162
|
+
vectors: embeddings,
|
|
163
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
164
|
+
});
|
|
161
165
|
```
|
|
162
|
-
</Tabs.Tab>
|
|
163
166
|
|
|
167
|
+
</TabItem>
|
|
164
168
|
|
|
165
|
-
<
|
|
166
|
-
|
|
169
|
+
<TabItem value="libsql" label="LibSQL">
|
|
170
|
+
|
|
171
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
167
172
|
import { LibSQLVector } from "@mastra/core/vector/libsql";
|
|
168
173
|
|
|
169
174
|
const store = new LibSQLVector({
|
|
170
175
|
connectionUrl: process.env.DATABASE_URL,
|
|
171
|
-
authToken: process.env.DATABASE_AUTH_TOKEN // Optional: for Turso cloud databases
|
|
172
|
-
})
|
|
176
|
+
authToken: process.env.DATABASE_AUTH_TOKEN, // Optional: for Turso cloud databases
|
|
177
|
+
});
|
|
173
178
|
|
|
174
179
|
await store.createIndex({
|
|
175
180
|
indexName: "myCollection",
|
|
@@ -179,39 +184,43 @@ await store.createIndex({
|
|
|
179
184
|
await store.upsert({
|
|
180
185
|
indexName: "myCollection",
|
|
181
186
|
vectors: embeddings,
|
|
182
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
187
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
183
188
|
});
|
|
184
189
|
```
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
190
|
+
|
|
191
|
+
</TabItem>
|
|
192
|
+
|
|
193
|
+
<TabItem value="upstash" label="Upstash">
|
|
194
|
+
|
|
195
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
196
|
+
import { UpstashVector } from "@mastra/upstash";
|
|
197
|
+
|
|
198
|
+
// In upstash they refer to the store as an index
|
|
199
|
+
const store = new UpstashVector({
|
|
200
|
+
url: process.env.UPSTASH_URL,
|
|
201
|
+
token: process.env.UPSTASH_TOKEN,
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
// There is no store.createIndex call here, Upstash creates indexes (known as namespaces in Upstash) automatically
|
|
205
|
+
// when you upsert if that namespace does not exist yet.
|
|
206
|
+
await store.upsert({
|
|
207
|
+
indexName: "myCollection", // the namespace name in Upstash
|
|
208
|
+
vectors: embeddings,
|
|
209
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
210
|
+
});
|
|
204
211
|
```
|
|
205
|
-
</Tabs.Tab>
|
|
206
212
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
213
|
+
</TabItem>
|
|
214
|
+
|
|
215
|
+
<TabItem value="cloudflare" label="Cloudflare">
|
|
216
|
+
|
|
217
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
218
|
+
import { CloudflareVector } from "@mastra/vectorize";
|
|
210
219
|
|
|
211
220
|
const store = new CloudflareVector({
|
|
212
221
|
accountId: process.env.CF_ACCOUNT_ID,
|
|
213
|
-
apiToken: process.env.CF_API_TOKEN
|
|
214
|
-
})
|
|
222
|
+
apiToken: process.env.CF_API_TOKEN,
|
|
223
|
+
});
|
|
215
224
|
await store.createIndex({
|
|
216
225
|
indexName: "myCollection",
|
|
217
226
|
dimension: 1536,
|
|
@@ -219,17 +228,18 @@ await store.createIndex({
|
|
|
219
228
|
await store.upsert({
|
|
220
229
|
indexName: "myCollection",
|
|
221
230
|
vectors: embeddings,
|
|
222
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
231
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
223
232
|
});
|
|
224
233
|
```
|
|
225
234
|
|
|
226
|
-
</
|
|
235
|
+
</TabItem>
|
|
236
|
+
|
|
237
|
+
<TabItem value="opensearch" label="OpenSearch">
|
|
227
238
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
import { OpenSearchVector } from '@mastra/opensearch'
|
|
239
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
240
|
+
import { OpenSearchVector } from "@mastra/opensearch";
|
|
231
241
|
|
|
232
|
-
const store = new OpenSearchVector({ url: process.env.OPENSEARCH_URL })
|
|
242
|
+
const store = new OpenSearchVector({ url: process.env.OPENSEARCH_URL });
|
|
233
243
|
|
|
234
244
|
await store.createIndex({
|
|
235
245
|
indexName: "my-collection",
|
|
@@ -239,60 +249,65 @@ await store.createIndex({
|
|
|
239
249
|
await store.upsert({
|
|
240
250
|
indexName: "my-collection",
|
|
241
251
|
vectors: embeddings,
|
|
242
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
252
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
253
|
+
});
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
</TabItem>
|
|
257
|
+
<TabItem value="couchbase" label="Couchbase">
|
|
258
|
+
|
|
259
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
260
|
+
import { CouchbaseVector } from "@mastra/couchbase";
|
|
261
|
+
|
|
262
|
+
const store = new CouchbaseVector({
|
|
263
|
+
connectionString: process.env.COUCHBASE_CONNECTION_STRING,
|
|
264
|
+
username: process.env.COUCHBASE_USERNAME,
|
|
265
|
+
password: process.env.COUCHBASE_PASSWORD,
|
|
266
|
+
bucketName: process.env.COUCHBASE_BUCKET,
|
|
267
|
+
scopeName: process.env.COUCHBASE_SCOPE,
|
|
268
|
+
collectionName: process.env.COUCHBASE_COLLECTION,
|
|
269
|
+
});
|
|
270
|
+
await store.createIndex({
|
|
271
|
+
indexName: "myCollection",
|
|
272
|
+
dimension: 1536,
|
|
273
|
+
});
|
|
274
|
+
await store.upsert({
|
|
275
|
+
indexName: "myCollection",
|
|
276
|
+
vectors: embeddings,
|
|
277
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
243
278
|
});
|
|
244
279
|
```
|
|
245
280
|
|
|
246
|
-
</
|
|
247
|
-
<
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
await store.createIndex({
|
|
277
|
-
tableName: "myVectors",
|
|
278
|
-
indexName: "myCollection",
|
|
279
|
-
dimension: 1536,
|
|
280
|
-
});
|
|
281
|
-
|
|
282
|
-
await store.upsert({
|
|
283
|
-
tableName: "myVectors",
|
|
284
|
-
vectors: embeddings,
|
|
285
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
286
|
-
});
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### Using LanceDB
|
|
290
|
-
|
|
291
|
-
LanceDB is an embedded vector database built on the Lance columnar format, suitable for local development or cloud deployment.
|
|
292
|
-
For detailed setup instructions and best practices, see the [official LanceDB documentation](https://lancedb.github.io/lancedb/).
|
|
293
|
-
</Tabs.Tab>
|
|
294
|
-
<Tabs.Tab>
|
|
295
|
-
```ts filename="vector-store.ts" showLineNumbers copy
|
|
281
|
+
</TabItem>
|
|
282
|
+
<TabItem value="lancedb" label="Lance">
|
|
283
|
+
|
|
284
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
285
|
+
import { LanceVectorStore } from "@mastra/lance";
|
|
286
|
+
|
|
287
|
+
const store = await LanceVectorStore.create("/path/to/db");
|
|
288
|
+
|
|
289
|
+
await store.createIndex({
|
|
290
|
+
tableName: "myVectors",
|
|
291
|
+
indexName: "myCollection",
|
|
292
|
+
dimension: 1536,
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
await store.upsert({
|
|
296
|
+
tableName: "myVectors",
|
|
297
|
+
vectors: embeddings,
|
|
298
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
299
|
+
});
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Using LanceDB
|
|
303
|
+
|
|
304
|
+
LanceDB is an embedded vector database built on the Lance columnar format, suitable for local development or cloud deployment.
|
|
305
|
+
For detailed setup instructions and best practices, see the [official LanceDB documentation](https://lancedb.github.io/lancedb/).
|
|
306
|
+
|
|
307
|
+
</TabItem>
|
|
308
|
+
<TabItem value="s3vectors" label="S3 Vectors">
|
|
309
|
+
|
|
310
|
+
```ts title="vector-store.ts" showLineNumbers copy
|
|
296
311
|
import { S3Vectors } from "@mastra/s3vectors";
|
|
297
312
|
|
|
298
313
|
const store = new S3Vectors({
|
|
@@ -310,10 +325,11 @@ await store.createIndex({
|
|
|
310
325
|
await store.upsert({
|
|
311
326
|
indexName: "my-index",
|
|
312
327
|
vectors: embeddings,
|
|
313
|
-
metadata: chunks.map(chunk => ({ text: chunk.text })),
|
|
328
|
+
metadata: chunks.map((chunk) => ({ text: chunk.text })),
|
|
314
329
|
});
|
|
315
330
|
```
|
|
316
|
-
|
|
331
|
+
|
|
332
|
+
</TabItem>
|
|
317
333
|
|
|
318
334
|
</Tabs>
|
|
319
335
|
|
|
@@ -325,7 +341,7 @@ Once initialized, all vector stores share the same interface for creating indexe
|
|
|
325
341
|
|
|
326
342
|
Before storing embeddings, you need to create an index with the appropriate dimension size for your embedding model:
|
|
327
343
|
|
|
328
|
-
```ts
|
|
344
|
+
```ts title="store-embeddings.ts" showLineNumbers copy
|
|
329
345
|
// Create an index with dimension 1536 (for text-embedding-3-small)
|
|
330
346
|
await store.createIndex({
|
|
331
347
|
indexName: "myCollection",
|
|
@@ -345,15 +361,8 @@ The dimension size must match the output dimension of your chosen embedding mode
|
|
|
345
361
|
|
|
346
362
|
Each vector database enforces specific naming conventions for indexes and collections to ensure compatibility and prevent conflicts.
|
|
347
363
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
Each tab explains the specific naming requirements and restrictions for that database provider.
|
|
351
|
-
This helps users understand the constraints and avoid naming conflicts when creating indexes or collections.
|
|
352
|
-
The tabs provide examples of valid and invalid names to clarify the rules for each database.
|
|
353
|
-
*/}
|
|
354
|
-
|
|
355
|
-
<Tabs items={['MongoDB', 'Pg Vector', 'Pinecone', 'Qdrant', 'Chroma', 'Astra', 'LibSQL', 'Upstash', 'Cloudflare', 'OpenSearch', 'S3 Vectors']}>
|
|
356
|
-
<Tabs.Tab>
|
|
364
|
+
<Tabs>
|
|
365
|
+
<TabItem value="mongodb" label="MongoDB">
|
|
357
366
|
Collection (index) names must:
|
|
358
367
|
- Start with a letter or underscore
|
|
359
368
|
- Be up to 120 bytes long
|
|
@@ -362,15 +371,15 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
362
371
|
- Example: `my_collection.123` is valid
|
|
363
372
|
- Example: `my-index` is not valid (contains hyphen)
|
|
364
373
|
- Example: `My$Collection` is not valid (contains `$`)
|
|
365
|
-
</
|
|
366
|
-
<
|
|
374
|
+
</TabItem>
|
|
375
|
+
<TabItem value="pgVector" label="PgVector">
|
|
367
376
|
Index names must:
|
|
368
377
|
- Start with a letter or underscore
|
|
369
378
|
- Contain only letters, numbers, and underscores
|
|
370
379
|
- Example: `my_index_123` is valid
|
|
371
380
|
- Example: `my-index` is not valid (contains hyphen)
|
|
372
|
-
</
|
|
373
|
-
<
|
|
381
|
+
</TabItem>
|
|
382
|
+
<TabItem value="pinecone" label="Pinecone">
|
|
374
383
|
Index names must:
|
|
375
384
|
- Use only lowercase letters, numbers, and dashes
|
|
376
385
|
- Not contain dots (used for DNS routing)
|
|
@@ -378,8 +387,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
378
387
|
- Have a combined length (with project ID) under 52 characters
|
|
379
388
|
- Example: `my-index-123` is valid
|
|
380
389
|
- Example: `my.index` is not valid (contains dot)
|
|
381
|
-
</
|
|
382
|
-
<
|
|
390
|
+
</TabItem>
|
|
391
|
+
<TabItem value="qdrant" label="Qdrant">
|
|
383
392
|
Collection names must:
|
|
384
393
|
- Be 1-255 characters long
|
|
385
394
|
- Not contain any of these special characters:
|
|
@@ -388,8 +397,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
388
397
|
- Unit separator (`\u{1F}`)
|
|
389
398
|
- Example: `my_collection_123` is valid
|
|
390
399
|
- Example: `my/collection` is not valid (contains slash)
|
|
391
|
-
</
|
|
392
|
-
<
|
|
400
|
+
</TabItem>
|
|
401
|
+
<TabItem value="chroma" label="Chroma">
|
|
393
402
|
Collection names must:
|
|
394
403
|
- Be 3-63 characters long
|
|
395
404
|
- Start and end with a letter or number
|
|
@@ -398,23 +407,23 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
398
407
|
- Not be a valid IPv4 address
|
|
399
408
|
- Example: `my-collection-123` is valid
|
|
400
409
|
- Example: `my..collection` is not valid (consecutive periods)
|
|
401
|
-
</
|
|
402
|
-
<
|
|
410
|
+
</TabItem>
|
|
411
|
+
<TabItem value="astra" label="Astra">
|
|
403
412
|
Collection names must:
|
|
404
413
|
- Not be empty
|
|
405
414
|
- Be 48 characters or less
|
|
406
415
|
- Contain only letters, numbers, and underscores
|
|
407
416
|
- Example: `my_collection_123` is valid
|
|
408
417
|
- Example: `my-collection` is not valid (contains hyphen)
|
|
409
|
-
</
|
|
410
|
-
<
|
|
418
|
+
</TabItem>
|
|
419
|
+
<TabItem value="libsql" label="LibSQL">
|
|
411
420
|
Index names must:
|
|
412
421
|
- Start with a letter or underscore
|
|
413
422
|
- Contain only letters, numbers, and underscores
|
|
414
423
|
- Example: `my_index_123` is valid
|
|
415
424
|
- Example: `my-index` is not valid (contains hyphen)
|
|
416
|
-
</
|
|
417
|
-
<
|
|
425
|
+
</TabItem>
|
|
426
|
+
<TabItem value="upstash" label="Upstash">
|
|
418
427
|
Namespace names must:
|
|
419
428
|
- Be 2-100 characters long
|
|
420
429
|
- Contain only:
|
|
@@ -424,8 +433,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
424
433
|
- Can be case-sensitive
|
|
425
434
|
- Example: `MyNamespace123` is valid
|
|
426
435
|
- Example: `_namespace` is not valid (starts with underscore)
|
|
427
|
-
</
|
|
428
|
-
<
|
|
436
|
+
</TabItem>
|
|
437
|
+
<TabItem value="cloudflare" label="Cloudflare">
|
|
429
438
|
Index names must:
|
|
430
439
|
- Start with a letter
|
|
431
440
|
- Be shorter than 32 characters
|
|
@@ -433,8 +442,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
433
442
|
- Use dashes instead of spaces
|
|
434
443
|
- Example: `my-index-123` is valid
|
|
435
444
|
- Example: `My_Index` is not valid (uppercase and underscore)
|
|
436
|
-
</
|
|
437
|
-
<
|
|
445
|
+
</TabItem>
|
|
446
|
+
<TabItem value="opensearch" label="OpenSearch">
|
|
438
447
|
Index names must:
|
|
439
448
|
- Use only lowercase letters
|
|
440
449
|
- Not begin with underscores or hyphens
|
|
@@ -443,8 +452,8 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
443
452
|
- Example: `my-index-123` is valid
|
|
444
453
|
- Example: `My_Index` is not valid (contains uppercase letters)
|
|
445
454
|
- Example: `_myindex` is not valid (begins with underscore)
|
|
446
|
-
</
|
|
447
|
-
<
|
|
455
|
+
</TabItem>
|
|
456
|
+
<TabItem value="s3vectors" label="S3 Vectors">
|
|
448
457
|
Index names must:
|
|
449
458
|
- Be unique within the same vector bucket
|
|
450
459
|
- Be 3–63 characters long
|
|
@@ -455,14 +464,14 @@ The tabs provide examples of valid and invalid names to clarify the rules for ea
|
|
|
455
464
|
- Example: `-myindex` is not valid (begins with hyphen)
|
|
456
465
|
- Example: `myindex-` is not valid (ends with hyphen)
|
|
457
466
|
- Example: `MyIndex` is not valid (contains uppercase letters)
|
|
458
|
-
</
|
|
467
|
+
</TabItem>
|
|
459
468
|
</Tabs>
|
|
460
469
|
|
|
461
470
|
### Upserting Embeddings
|
|
462
471
|
|
|
463
472
|
After creating an index, you can store embeddings along with their basic metadata:
|
|
464
473
|
|
|
465
|
-
```ts
|
|
474
|
+
```ts title="store-embeddings.ts" showLineNumbers copy
|
|
466
475
|
// Store embeddings with their corresponding metadata
|
|
467
476
|
await store.upsert({
|
|
468
477
|
indexName: "myCollection", // index name
|
|
@@ -481,7 +490,7 @@ The upsert operation:
|
|
|
481
490
|
- Creates new vectors if they don't exist
|
|
482
491
|
- Automatically handles batching for large datasets
|
|
483
492
|
|
|
484
|
-
For complete examples of upserting embeddings in different vector stores, see the [Upsert Embeddings](
|
|
493
|
+
For complete examples of upserting embeddings in different vector stores, see the [Upsert Embeddings](/examples/rag/upsert/upsert-embeddings) guide.
|
|
485
494
|
|
|
486
495
|
## Adding Metadata
|
|
487
496
|
|