@mastra/mcp-docs-server 1.0.0-beta.3 → 1.0.0-beta.5
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%2Fstorage-test-utils.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +201 -1
- 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%2Fcore.md +370 -170
- 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%2Fdynamodb.md +201 -1
- 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 +201 -1
- 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 +80 -1
- package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +36 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +201 -1
- 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/memory-with-processors.md +1 -1
- package/.docs/organized/code-examples/quick-start.md +1 -1
- package/.docs/raw/agents/adding-voice.mdx +55 -9
- package/.docs/raw/agents/guardrails.mdx +19 -20
- package/.docs/raw/agents/human-in-the-loop-with-tools.mdx +6 -5
- package/.docs/raw/agents/networks.mdx +1 -2
- package/.docs/raw/agents/overview.mdx +5 -5
- package/.docs/raw/agents/using-tools.mdx +4 -5
- 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/building-mastra.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +1 -1
- package/.docs/raw/deployment/cloud-providers/index.mdx +1 -1
- package/.docs/raw/deployment/mastra-cloud/observability.mdx +19 -17
- package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +1 -1
- package/.docs/raw/deployment/overview.mdx +2 -2
- package/.docs/raw/deployment/web-framework.mdx +5 -5
- package/.docs/raw/evals/custom-scorers.mdx +3 -5
- package/.docs/raw/evals/overview.mdx +2 -3
- package/.docs/raw/getting-started/project-structure.mdx +1 -1
- package/.docs/raw/getting-started/start.mdx +72 -0
- package/.docs/raw/getting-started/studio.mdx +1 -1
- package/.docs/raw/{frameworks/agentic-uis/ai-sdk.mdx → guides/build-your-ui/ai-sdk-ui.mdx} +105 -11
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +23 -25
- package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +3 -4
- package/.docs/raw/guides/{guide → getting-started}/manual-install.mdx +1 -1
- package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +11 -11
- package/.docs/raw/guides/{quickstarts/standalone-server.mdx → getting-started/quickstart.mdx} +7 -7
- package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +23 -25
- 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/migrations/agentnetwork.mdx +4 -4
- package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +1 -1
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +29 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +5 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +22 -0
- package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
- package/.docs/raw/index.mdx +2 -2
- package/.docs/raw/mcp/overview.mdx +3 -5
- package/.docs/raw/memory/memory-processors.mdx +1 -2
- package/.docs/raw/memory/semantic-recall.mdx +7 -7
- package/.docs/raw/memory/storage/memory-with-libsql.mdx +2 -4
- package/.docs/raw/memory/storage/memory-with-mongodb.mdx +2 -4
- package/.docs/raw/memory/storage/memory-with-pg.mdx +2 -4
- package/.docs/raw/memory/storage/memory-with-upstash.mdx +2 -4
- package/.docs/raw/memory/threads-and-resources.mdx +3 -3
- package/.docs/raw/memory/working-memory.mdx +4 -5
- package/.docs/raw/{logging.mdx → observability/logging.mdx} +1 -1
- package/.docs/raw/observability/overview.mdx +2 -2
- package/.docs/raw/observability/tracing/exporters/otel.mdx +21 -2
- package/.docs/raw/observability/tracing/exporters/posthog.mdx +107 -0
- package/.docs/raw/observability/tracing/overview.mdx +3 -2
- package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
- package/.docs/raw/rag/overview.mdx +3 -2
- package/.docs/raw/rag/retrieval.mdx +20 -32
- package/.docs/raw/reference/agents/agent.mdx +7 -10
- package/.docs/raw/reference/agents/generate.mdx +11 -92
- package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
- package/.docs/raw/reference/agents/getLLM.mdx +1 -1
- package/.docs/raw/reference/agents/network.mdx +5 -88
- package/.docs/raw/reference/cli/mastra.mdx +2 -1
- package/.docs/raw/reference/client-js/agents.mdx +3 -3
- package/.docs/raw/reference/core/getLogger.mdx +1 -1
- package/.docs/raw/reference/core/listLogs.mdx +1 -1
- package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
- package/.docs/raw/reference/core/mastra-model-gateway.mdx +5 -19
- package/.docs/raw/reference/core/setLogger.mdx +1 -1
- package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
- package/.docs/raw/reference/evals/answer-relevancy.mdx +28 -98
- package/.docs/raw/reference/evals/answer-similarity.mdx +12 -258
- package/.docs/raw/reference/evals/bias.mdx +29 -87
- package/.docs/raw/reference/evals/completeness.mdx +31 -90
- package/.docs/raw/reference/evals/content-similarity.mdx +28 -88
- package/.docs/raw/reference/evals/context-precision.mdx +28 -130
- package/.docs/raw/reference/evals/context-relevance.mdx +11 -11
- package/.docs/raw/reference/evals/faithfulness.mdx +28 -101
- package/.docs/raw/reference/evals/hallucination.mdx +28 -103
- package/.docs/raw/reference/evals/keyword-coverage.mdx +28 -107
- package/.docs/raw/reference/evals/noise-sensitivity.mdx +11 -11
- package/.docs/raw/reference/evals/prompt-alignment.mdx +15 -15
- package/.docs/raw/reference/evals/textual-difference.mdx +27 -100
- package/.docs/raw/reference/evals/tone-consistency.mdx +25 -98
- package/.docs/raw/reference/evals/tool-call-accuracy.mdx +7 -7
- package/.docs/raw/reference/evals/toxicity.mdx +29 -92
- package/.docs/raw/reference/memory/memory-class.mdx +5 -7
- package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
- package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
- package/.docs/raw/reference/processors/language-detector.mdx +1 -1
- package/.docs/raw/reference/processors/moderation-processor.mdx +2 -2
- package/.docs/raw/reference/processors/pii-detector.mdx +2 -2
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +1 -1
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -3
- package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
- package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
- package/.docs/raw/reference/rag/embeddings.mdx +5 -5
- package/.docs/raw/reference/rag/rerank.mdx +1 -2
- package/.docs/raw/reference/rag/rerankWithScorer.mdx +0 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +11 -93
- package/.docs/raw/reference/templates/overview.mdx +1 -4
- package/.docs/raw/reference/tools/client.mdx +1 -2
- package/.docs/raw/reference/tools/create-tool.mdx +132 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +5 -5
- package/.docs/raw/reference/tools/mcp-client.mdx +2 -4
- package/.docs/raw/reference/tools/mcp-server.mdx +1 -2
- package/.docs/raw/reference/tools/vector-query-tool.mdx +14 -15
- package/.docs/raw/reference/vectors/chroma.mdx +81 -1
- package/.docs/raw/reference/vectors/couchbase.mdx +24 -17
- package/.docs/raw/reference/vectors/lance.mdx +38 -22
- package/.docs/raw/reference/vectors/libsql.mdx +35 -2
- package/.docs/raw/reference/vectors/mongodb.mdx +35 -2
- package/.docs/raw/reference/vectors/opensearch.mdx +37 -16
- package/.docs/raw/reference/vectors/pg.mdx +43 -36
- package/.docs/raw/reference/vectors/pinecone.mdx +48 -1
- package/.docs/raw/reference/vectors/qdrant.mdx +36 -1
- package/.docs/raw/reference/vectors/turbopuffer.mdx +74 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +71 -28
- package/.docs/raw/reference/voice/openai-realtime.mdx +2 -2
- package/.docs/raw/reference/voice/voice.addInstructions.mdx +2 -3
- 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.listen.mdx +86 -52
- 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 +75 -40
- package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
- package/.docs/raw/server-db/mastra-client.mdx +1 -2
- package/.docs/raw/streaming/overview.mdx +20 -9
- package/.docs/raw/streaming/tool-streaming.mdx +47 -4
- package/.docs/raw/tools-mcp/advanced-usage.mdx +1 -2
- package/.docs/raw/tools-mcp/mcp-overview.mdx +3 -5
- package/.docs/raw/voice/overview.mdx +87 -40
- package/.docs/raw/voice/speech-to-speech.mdx +4 -4
- package/.docs/raw/voice/speech-to-text.mdx +1 -2
- package/.docs/raw/voice/text-to-speech.mdx +1 -2
- package/.docs/raw/workflows/control-flow.mdx +180 -0
- package/.docs/raw/workflows/overview.mdx +1 -1
- package/CHANGELOG.md +17 -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 +1 -1
- package/package.json +7 -7
- package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -102
- 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/quickstart.mdx +0 -27
- package/.docs/raw/getting-started/templates.mdx +0 -73
- /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +0 -0
- /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/copilotkit.mdx +0 -0
|
@@ -13,13 +13,13 @@ The `createVectorQueryTool()` function creates a tool for semantic search over v
|
|
|
13
13
|
## Basic Usage
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
|
-
import { openai } from "@ai-sdk/openai";
|
|
17
16
|
import { createVectorQueryTool } from "@mastra/rag";
|
|
17
|
+
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
18
18
|
|
|
19
19
|
const queryTool = createVectorQueryTool({
|
|
20
20
|
vectorStoreName: "pinecone",
|
|
21
21
|
indexName: "docs",
|
|
22
|
-
model:
|
|
22
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
23
23
|
});
|
|
24
24
|
```
|
|
25
25
|
|
|
@@ -303,7 +303,7 @@ The tool determines the number of results to return based on the user's query, w
|
|
|
303
303
|
const queryTool = createVectorQueryTool({
|
|
304
304
|
vectorStoreName: "pinecone",
|
|
305
305
|
indexName: "docs",
|
|
306
|
-
model:
|
|
306
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
307
307
|
enableFilter: true,
|
|
308
308
|
});
|
|
309
309
|
```
|
|
@@ -334,9 +334,9 @@ For an example of how agent-driven filtering works, see the [Agent-Driven Metada
|
|
|
334
334
|
const queryTool = createVectorQueryTool({
|
|
335
335
|
vectorStoreName: "milvus",
|
|
336
336
|
indexName: "documentation",
|
|
337
|
-
model:
|
|
337
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
338
338
|
reranker: {
|
|
339
|
-
model: openai
|
|
339
|
+
model: "openai/gpt-5.1",
|
|
340
340
|
options: {
|
|
341
341
|
weights: {
|
|
342
342
|
semantic: 0.5, // Semantic relevance weight
|
|
@@ -364,7 +364,7 @@ The reranker processes the initial vector search results and returns a reordered
|
|
|
364
364
|
const queryTool = createVectorQueryTool({
|
|
365
365
|
vectorStoreName: "pinecone",
|
|
366
366
|
indexName: "docs",
|
|
367
|
-
model:
|
|
367
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
368
368
|
description:
|
|
369
369
|
"Search through document archives to find relevant information for answering questions about company policies and procedures",
|
|
370
370
|
});
|
|
@@ -384,7 +384,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
|
|
|
384
384
|
const pineconeQueryTool = createVectorQueryTool({
|
|
385
385
|
vectorStoreName: "pinecone",
|
|
386
386
|
indexName: "docs",
|
|
387
|
-
model:
|
|
387
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
388
388
|
databaseConfig: {
|
|
389
389
|
pinecone: {
|
|
390
390
|
namespace: "production", // Organize vectors by environment
|
|
@@ -411,7 +411,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
|
|
|
411
411
|
const pgVectorQueryTool = createVectorQueryTool({
|
|
412
412
|
vectorStoreName: "postgres",
|
|
413
413
|
indexName: "embeddings",
|
|
414
|
-
model:
|
|
414
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
415
415
|
databaseConfig: {
|
|
416
416
|
pgvector: {
|
|
417
417
|
minScore: 0.7, // Only return results above 70% similarity
|
|
@@ -437,7 +437,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
|
|
|
437
437
|
const chromaQueryTool = createVectorQueryTool({
|
|
438
438
|
vectorStoreName: "chroma",
|
|
439
439
|
indexName: "documents",
|
|
440
|
-
model:
|
|
440
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
441
441
|
databaseConfig: {
|
|
442
442
|
chroma: {
|
|
443
443
|
where: { // Metadata filtering
|
|
@@ -467,7 +467,7 @@ The `databaseConfig` parameter allows you to leverage unique features and optimi
|
|
|
467
467
|
const multiDbQueryTool = createVectorQueryTool({
|
|
468
468
|
vectorStoreName: "dynamic-store", // Will be set at runtime
|
|
469
469
|
indexName: "docs",
|
|
470
|
-
model:
|
|
470
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
471
471
|
databaseConfig: {
|
|
472
472
|
pinecone: {
|
|
473
473
|
namespace: "default"
|
|
@@ -501,7 +501,7 @@ import { RequestContext } from "@mastra/core/request-context";
|
|
|
501
501
|
const queryTool = createVectorQueryTool({
|
|
502
502
|
vectorStoreName: "pinecone",
|
|
503
503
|
indexName: "docs",
|
|
504
|
-
|
|
504
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
505
505
|
databaseConfig: {
|
|
506
506
|
pinecone: {
|
|
507
507
|
namespace: "development",
|
|
@@ -534,7 +534,7 @@ This approach allows you to:
|
|
|
534
534
|
const queryTool = createVectorQueryTool({
|
|
535
535
|
vectorStoreName: "pinecone",
|
|
536
536
|
indexName: "docs",
|
|
537
|
-
|
|
537
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
538
538
|
});
|
|
539
539
|
```
|
|
540
540
|
|
|
@@ -555,7 +555,7 @@ requestContext.set("filter", { category: "docs" });
|
|
|
555
555
|
requestContext.set("databaseConfig", {
|
|
556
556
|
pinecone: { namespace: "runtime-namespace" },
|
|
557
557
|
});
|
|
558
|
-
requestContext.set("model", openai
|
|
558
|
+
requestContext.set("model", "openai/text-embedding-3-small");
|
|
559
559
|
|
|
560
560
|
const response = await agent.generate(
|
|
561
561
|
"Find documentation from the knowledge base.",
|
|
@@ -575,7 +575,6 @@ For more information on request context, please see:
|
|
|
575
575
|
The tool can be used by itself to retrieve documents matching a query:
|
|
576
576
|
|
|
577
577
|
```typescript copy showLineNumbers title="src/index.ts"
|
|
578
|
-
import { openai } from "@ai-sdk/openai";
|
|
579
578
|
import { RequestContext } from "@mastra/core/request-context";
|
|
580
579
|
import { createVectorQueryTool } from "@mastra/rag";
|
|
581
580
|
import { PgVector } from "@mastra/pg";
|
|
@@ -589,7 +588,7 @@ const vectorQueryTool = createVectorQueryTool({
|
|
|
589
588
|
vectorStoreName: "pgVector", // optional since we're passing in a store
|
|
590
589
|
vectorStore: pgVector,
|
|
591
590
|
indexName: "embeddings",
|
|
592
|
-
model:
|
|
591
|
+
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
593
592
|
});
|
|
594
593
|
|
|
595
594
|
const requestContext = new RequestContext();
|
|
@@ -335,6 +335,8 @@ interface IndexStats {
|
|
|
335
335
|
|
|
336
336
|
### updateVector()
|
|
337
337
|
|
|
338
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
339
|
+
|
|
338
340
|
<PropertiesTable
|
|
339
341
|
content={[
|
|
340
342
|
{
|
|
@@ -345,7 +347,14 @@ interface IndexStats {
|
|
|
345
347
|
{
|
|
346
348
|
name: "id",
|
|
347
349
|
type: "string",
|
|
348
|
-
|
|
350
|
+
isOptional: true,
|
|
351
|
+
description: "ID of the vector to update (mutually exclusive with filter)",
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
name: "filter",
|
|
355
|
+
type: "Record<string, any>",
|
|
356
|
+
isOptional: true,
|
|
357
|
+
description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
|
|
349
358
|
},
|
|
350
359
|
{
|
|
351
360
|
name: "update",
|
|
@@ -374,6 +383,24 @@ The `update` object can contain:
|
|
|
374
383
|
]}
|
|
375
384
|
/>
|
|
376
385
|
|
|
386
|
+
Example:
|
|
387
|
+
|
|
388
|
+
```typescript
|
|
389
|
+
// Update by ID
|
|
390
|
+
await vectorStore.updateVector({
|
|
391
|
+
indexName: 'docs',
|
|
392
|
+
id: 'vec_123',
|
|
393
|
+
update: { metadata: { status: 'reviewed' } }
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
// Update by filter
|
|
397
|
+
await vectorStore.updateVector({
|
|
398
|
+
indexName: 'docs',
|
|
399
|
+
filter: { source_id: 'manual.pdf' },
|
|
400
|
+
update: { metadata: { version: 2 } }
|
|
401
|
+
});
|
|
402
|
+
```
|
|
403
|
+
|
|
377
404
|
### deleteVector()
|
|
378
405
|
|
|
379
406
|
<PropertiesTable
|
|
@@ -391,6 +418,59 @@ The `update` object can contain:
|
|
|
391
418
|
]}
|
|
392
419
|
/>
|
|
393
420
|
|
|
421
|
+
### deleteVectors()
|
|
422
|
+
|
|
423
|
+
Delete multiple vectors by IDs or by metadata filter. This method enables bulk deletion and source-based vector management. Either `ids` or `filter` must be provided, but not both.
|
|
424
|
+
|
|
425
|
+
<PropertiesTable
|
|
426
|
+
content={[
|
|
427
|
+
{
|
|
428
|
+
name: "indexName",
|
|
429
|
+
type: "string",
|
|
430
|
+
description: "Name of the index containing the vectors to delete",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
name: "ids",
|
|
434
|
+
type: "string[]",
|
|
435
|
+
isOptional: true,
|
|
436
|
+
description: "Array of vector IDs to delete (mutually exclusive with filter)",
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
name: "filter",
|
|
440
|
+
type: "Record<string, any>",
|
|
441
|
+
isOptional: true,
|
|
442
|
+
description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
|
|
443
|
+
},
|
|
444
|
+
]}
|
|
445
|
+
/>
|
|
446
|
+
|
|
447
|
+
Example:
|
|
448
|
+
|
|
449
|
+
```typescript
|
|
450
|
+
// Delete all chunks from a document
|
|
451
|
+
await vectorStore.deleteVectors({
|
|
452
|
+
indexName: 'docs',
|
|
453
|
+
filter: { source_id: 'manual.pdf' }
|
|
454
|
+
});
|
|
455
|
+
|
|
456
|
+
// Delete multiple vectors by ID
|
|
457
|
+
await vectorStore.deleteVectors({
|
|
458
|
+
indexName: 'docs',
|
|
459
|
+
ids: ['vec_1', 'vec_2', 'vec_3']
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
// Delete old temporary documents
|
|
463
|
+
await vectorStore.deleteVectors({
|
|
464
|
+
indexName: 'docs',
|
|
465
|
+
filter: {
|
|
466
|
+
$and: [
|
|
467
|
+
{ bucket: 'temp' },
|
|
468
|
+
{ indexed_at: { $lt: '2025-01-01' } }
|
|
469
|
+
]
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
```
|
|
473
|
+
|
|
394
474
|
## Response Types
|
|
395
475
|
|
|
396
476
|
Query results are returned in this format:
|
|
@@ -239,7 +239,7 @@ Returns: `Promise<string[]>`
|
|
|
239
239
|
|
|
240
240
|
### updateVector()
|
|
241
241
|
|
|
242
|
-
Updates a specific vector entry by its ID with new vector data and/or metadata.
|
|
242
|
+
Updates a specific vector entry by its ID with new vector data and/or metadata. **Note:** Filter-based updates are not yet implemented for Couchbase.
|
|
243
243
|
|
|
244
244
|
<PropertiesTable
|
|
245
245
|
content={[
|
|
@@ -255,27 +255,15 @@ Updates a specific vector entry by its ID with new vector data and/or metadata.
|
|
|
255
255
|
},
|
|
256
256
|
{
|
|
257
257
|
name: "update",
|
|
258
|
-
type: "
|
|
259
|
-
description: "
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
name: "update.vector",
|
|
263
|
-
type: "number[]",
|
|
264
|
-
isOptional: true,
|
|
265
|
-
description: "New vector data to update",
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
name: "update.metadata",
|
|
269
|
-
type: "Record<string, any>",
|
|
270
|
-
isOptional: true,
|
|
271
|
-
description: "New metadata to update",
|
|
258
|
+
type: "{ vector?: number[]; metadata?: Record<string, any>; }",
|
|
259
|
+
description: "Object containing the vector and/or metadata to update",
|
|
272
260
|
},
|
|
273
261
|
]}
|
|
274
262
|
/>
|
|
275
263
|
|
|
276
264
|
### deleteVector()
|
|
277
265
|
|
|
278
|
-
Deletes a
|
|
266
|
+
Deletes a single vector by its ID from the index.
|
|
279
267
|
|
|
280
268
|
<PropertiesTable
|
|
281
269
|
content={[
|
|
@@ -287,7 +275,26 @@ Deletes a specific vector entry from an index by its ID.
|
|
|
287
275
|
{
|
|
288
276
|
name: "id",
|
|
289
277
|
type: "string",
|
|
290
|
-
description: "ID of the vector
|
|
278
|
+
description: "ID of the vector to delete",
|
|
279
|
+
},
|
|
280
|
+
]}
|
|
281
|
+
/>
|
|
282
|
+
|
|
283
|
+
### deleteVectors()
|
|
284
|
+
|
|
285
|
+
Deletes multiple vectors by their IDs. **Note:** Filter-based deletion is not yet implemented for Couchbase.
|
|
286
|
+
|
|
287
|
+
<PropertiesTable
|
|
288
|
+
content={[
|
|
289
|
+
{
|
|
290
|
+
name: "indexName",
|
|
291
|
+
type: "string",
|
|
292
|
+
description: "Name of the index containing the vectors to delete",
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: "ids",
|
|
296
|
+
type: "string[]",
|
|
297
|
+
description: "Array of vector IDs to delete",
|
|
291
298
|
},
|
|
292
299
|
]}
|
|
293
300
|
/>
|
|
@@ -345,6 +345,8 @@ interface IndexStats {
|
|
|
345
345
|
|
|
346
346
|
### updateVector()
|
|
347
347
|
|
|
348
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
349
|
+
|
|
348
350
|
<PropertiesTable
|
|
349
351
|
content={[
|
|
350
352
|
{
|
|
@@ -355,31 +357,19 @@ interface IndexStats {
|
|
|
355
357
|
{
|
|
356
358
|
name: "id",
|
|
357
359
|
type: "string",
|
|
358
|
-
|
|
360
|
+
isOptional: true,
|
|
361
|
+
description: "ID of the vector to update (mutually exclusive with filter)",
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
name: "filter",
|
|
365
|
+
type: "Record<string, any>",
|
|
366
|
+
isOptional: true,
|
|
367
|
+
description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
|
|
359
368
|
},
|
|
360
369
|
{
|
|
361
370
|
name: "update",
|
|
362
|
-
type: "
|
|
363
|
-
description: "
|
|
364
|
-
properties: [
|
|
365
|
-
{
|
|
366
|
-
type: "object",
|
|
367
|
-
parameters: [
|
|
368
|
-
{
|
|
369
|
-
name: "vector",
|
|
370
|
-
type: "number[]",
|
|
371
|
-
description: "New vector values",
|
|
372
|
-
isOptional: true,
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
name: "metadata",
|
|
376
|
-
type: "Record<string, any>",
|
|
377
|
-
description: "New metadata values",
|
|
378
|
-
isOptional: true,
|
|
379
|
-
},
|
|
380
|
-
],
|
|
381
|
-
},
|
|
382
|
-
],
|
|
371
|
+
type: "{ vector?: number[]; metadata?: Record<string, any>; }",
|
|
372
|
+
description: "Object containing the vector and/or metadata to update",
|
|
383
373
|
},
|
|
384
374
|
]}
|
|
385
375
|
/>
|
|
@@ -401,6 +391,32 @@ interface IndexStats {
|
|
|
401
391
|
]}
|
|
402
392
|
/>
|
|
403
393
|
|
|
394
|
+
### deleteVectors()
|
|
395
|
+
|
|
396
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
397
|
+
|
|
398
|
+
<PropertiesTable
|
|
399
|
+
content={[
|
|
400
|
+
{
|
|
401
|
+
name: "indexName",
|
|
402
|
+
type: "string",
|
|
403
|
+
description: "Name of the index containing the vectors to delete",
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
name: "ids",
|
|
407
|
+
type: "string[]",
|
|
408
|
+
isOptional: true,
|
|
409
|
+
description: "Array of vector IDs to delete (mutually exclusive with filter)",
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
name: "filter",
|
|
413
|
+
type: "Record<string, any>",
|
|
414
|
+
isOptional: true,
|
|
415
|
+
description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
|
|
416
|
+
},
|
|
417
|
+
]}
|
|
418
|
+
/>
|
|
419
|
+
|
|
404
420
|
### close()
|
|
405
421
|
|
|
406
422
|
Closes the database connection.
|
|
@@ -253,7 +253,7 @@ Removes all vectors from an index while keeping the index structure.
|
|
|
253
253
|
|
|
254
254
|
### updateVector()
|
|
255
255
|
|
|
256
|
-
|
|
256
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
257
257
|
|
|
258
258
|
<PropertiesTable
|
|
259
259
|
content={[
|
|
@@ -265,7 +265,14 @@ Updates a specific vector entry by its ID with new vector data and/or metadata.
|
|
|
265
265
|
{
|
|
266
266
|
name: "id",
|
|
267
267
|
type: "string",
|
|
268
|
-
|
|
268
|
+
isOptional: true,
|
|
269
|
+
description: "ID of the vector entry to update (mutually exclusive with filter)",
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
name: "filter",
|
|
273
|
+
type: "Record<string, any>",
|
|
274
|
+
isOptional: true,
|
|
275
|
+
description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
|
|
269
276
|
},
|
|
270
277
|
{
|
|
271
278
|
name: "update",
|
|
@@ -306,6 +313,32 @@ Deletes a specific vector entry from an index by its ID.
|
|
|
306
313
|
]}
|
|
307
314
|
/>
|
|
308
315
|
|
|
316
|
+
### deleteVectors()
|
|
317
|
+
|
|
318
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
319
|
+
|
|
320
|
+
<PropertiesTable
|
|
321
|
+
content={[
|
|
322
|
+
{
|
|
323
|
+
name: "indexName",
|
|
324
|
+
type: "string",
|
|
325
|
+
description: "Name of the index containing the vectors to delete",
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
name: "ids",
|
|
329
|
+
type: "string[]",
|
|
330
|
+
isOptional: true,
|
|
331
|
+
description: "Array of vector IDs to delete (mutually exclusive with filter)",
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
name: "filter",
|
|
335
|
+
type: "Record<string, any>",
|
|
336
|
+
isOptional: true,
|
|
337
|
+
description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
|
|
338
|
+
},
|
|
339
|
+
]}
|
|
340
|
+
/>
|
|
341
|
+
|
|
309
342
|
## Response Types
|
|
310
343
|
|
|
311
344
|
Query results are returned in this format:
|
|
@@ -210,7 +210,7 @@ Returns: `Promise<string[]>`
|
|
|
210
210
|
|
|
211
211
|
### updateVector()
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
214
214
|
|
|
215
215
|
<PropertiesTable
|
|
216
216
|
content={[
|
|
@@ -222,7 +222,14 @@ Updates a specific vector entry by its ID with new vector data and/or metadata.
|
|
|
222
222
|
{
|
|
223
223
|
name: "id",
|
|
224
224
|
type: "string",
|
|
225
|
-
|
|
225
|
+
isOptional: true,
|
|
226
|
+
description: "ID of the vector entry to update (mutually exclusive with filter)",
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: "filter",
|
|
230
|
+
type: "Record<string, any>",
|
|
231
|
+
isOptional: true,
|
|
232
|
+
description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
|
|
226
233
|
},
|
|
227
234
|
{
|
|
228
235
|
name: "update",
|
|
@@ -263,6 +270,32 @@ Deletes a specific vector entry from an index by its ID.
|
|
|
263
270
|
]}
|
|
264
271
|
/>
|
|
265
272
|
|
|
273
|
+
### deleteVectors()
|
|
274
|
+
|
|
275
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
276
|
+
|
|
277
|
+
<PropertiesTable
|
|
278
|
+
content={[
|
|
279
|
+
{
|
|
280
|
+
name: "indexName",
|
|
281
|
+
type: "string",
|
|
282
|
+
description: "Name of the collection containing the vectors to delete",
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: "ids",
|
|
286
|
+
type: "string[]",
|
|
287
|
+
isOptional: true,
|
|
288
|
+
description: "Array of vector IDs to delete (mutually exclusive with filter)",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: "filter",
|
|
292
|
+
type: "Record<string, any>",
|
|
293
|
+
isOptional: true,
|
|
294
|
+
description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
|
|
295
|
+
},
|
|
296
|
+
]}
|
|
297
|
+
/>
|
|
298
|
+
|
|
266
299
|
### disconnect()
|
|
267
300
|
|
|
268
301
|
Closes the MongoDB client connection. Should be called when done using the store.
|
|
@@ -142,7 +142,7 @@ Gets information about an index.
|
|
|
142
142
|
|
|
143
143
|
### updateVector()
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
146
146
|
|
|
147
147
|
<PropertiesTable
|
|
148
148
|
content={[
|
|
@@ -154,43 +154,64 @@ Updates a specific vector entry by its ID with new vector data and/or metadata.
|
|
|
154
154
|
{
|
|
155
155
|
name: "id",
|
|
156
156
|
type: "string",
|
|
157
|
-
|
|
157
|
+
isOptional: true,
|
|
158
|
+
description: "The ID of the vector to update (mutually exclusive with filter)",
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "filter",
|
|
162
|
+
type: "Record<string, any>",
|
|
163
|
+
isOptional: true,
|
|
164
|
+
description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
|
|
158
165
|
},
|
|
159
166
|
{
|
|
160
167
|
name: "update",
|
|
161
|
-
type: "
|
|
162
|
-
description: "
|
|
168
|
+
type: "{ vector?: number[]; metadata?: Record<string, any>; }",
|
|
169
|
+
description: "Object containing the vector and/or metadata to update",
|
|
163
170
|
},
|
|
171
|
+
]}
|
|
172
|
+
/>
|
|
173
|
+
|
|
174
|
+
### deleteVector()
|
|
175
|
+
|
|
176
|
+
Deletes a single vector by its ID from the index.
|
|
177
|
+
|
|
178
|
+
<PropertiesTable
|
|
179
|
+
content={[
|
|
164
180
|
{
|
|
165
|
-
name: "
|
|
166
|
-
type: "
|
|
167
|
-
description: "The
|
|
168
|
-
isOptional: true,
|
|
181
|
+
name: "indexName",
|
|
182
|
+
type: "string",
|
|
183
|
+
description: "The name of the index to delete the vector from",
|
|
169
184
|
},
|
|
170
185
|
{
|
|
171
|
-
name: "
|
|
172
|
-
type: "
|
|
173
|
-
description: "The
|
|
174
|
-
isOptional: true,
|
|
186
|
+
name: "id",
|
|
187
|
+
type: "string",
|
|
188
|
+
description: "The ID of the vector to delete",
|
|
175
189
|
},
|
|
176
190
|
]}
|
|
177
191
|
/>
|
|
178
192
|
|
|
179
|
-
###
|
|
193
|
+
### deleteVectors()
|
|
180
194
|
|
|
181
|
-
|
|
195
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
182
196
|
|
|
183
197
|
<PropertiesTable
|
|
184
198
|
content={[
|
|
185
199
|
{
|
|
186
200
|
name: "indexName",
|
|
187
201
|
type: "string",
|
|
188
|
-
description: "
|
|
202
|
+
description: "Name of the index containing the vectors to delete",
|
|
189
203
|
},
|
|
190
204
|
{
|
|
191
205
|
name: "ids",
|
|
192
206
|
type: "string[]",
|
|
193
|
-
|
|
207
|
+
isOptional: true,
|
|
208
|
+
description: "Array of vector IDs to delete (mutually exclusive with filter)",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: "filter",
|
|
212
|
+
type: "Record<string, any>",
|
|
213
|
+
isOptional: true,
|
|
214
|
+
description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
|
|
194
215
|
},
|
|
195
216
|
]}
|
|
196
217
|
/>
|