@mastra/mcp-docs-server 0.0.0-commonjs-20250414101718
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/%40mastra%2Fastra.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +161 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +110 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Ffirecrawl.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fgithub.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmem0.md +196 -0
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Frag.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fragie.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-azure.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-deepgram.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-elevenlabs.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-google.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-ibm.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-murf.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-openai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-playai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-replicate.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-speechify.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +250 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +250 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +302 -0
- package/.docs/organized/changelogs/create-mastra.md +302 -0
- package/.docs/organized/changelogs/mastra.md +302 -0
- package/.docs/organized/code-examples/agent-network.md +282 -0
- package/.docs/organized/code-examples/agent.md +388 -0
- package/.docs/organized/code-examples/ai-sdk-useChat.md +378 -0
- package/.docs/organized/code-examples/assistant-ui.md +37 -0
- package/.docs/organized/code-examples/bird-checker-with-express.md +235 -0
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +360 -0
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +250 -0
- package/.docs/organized/code-examples/client-side-tools.md +69 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +96 -0
- package/.docs/organized/code-examples/fireworks-r1.md +159 -0
- package/.docs/organized/code-examples/mcp-registry-registry.md +63 -0
- package/.docs/organized/code-examples/memory-todo-agent.md +164 -0
- package/.docs/organized/code-examples/memory-with-context.md +167 -0
- package/.docs/organized/code-examples/memory-with-libsql.md +204 -0
- package/.docs/organized/code-examples/memory-with-mem0.md +121 -0
- package/.docs/organized/code-examples/memory-with-pg.md +224 -0
- package/.docs/organized/code-examples/memory-with-upstash.md +268 -0
- package/.docs/organized/code-examples/quick-start.md +129 -0
- package/.docs/organized/code-examples/stock-price-tool.md +124 -0
- package/.docs/organized/code-examples/weather-agent.md +353 -0
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +159 -0
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +111 -0
- package/.docs/organized/code-examples/workflow-with-memory.md +393 -0
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +131 -0
- package/.docs/raw/agents/adding-tools.mdx +317 -0
- package/.docs/raw/agents/adding-voice.mdx +175 -0
- package/.docs/raw/agents/agent-memory.mdx +62 -0
- package/.docs/raw/agents/mcp-guide.mdx +215 -0
- package/.docs/raw/agents/overview.mdx +303 -0
- package/.docs/raw/community/discord.mdx +12 -0
- package/.docs/raw/community/licensing.mdx +63 -0
- package/.docs/raw/deployment/client.mdx +120 -0
- package/.docs/raw/deployment/deployment.mdx +127 -0
- package/.docs/raw/deployment/server.mdx +282 -0
- package/.docs/raw/evals/custom-eval.mdx +22 -0
- package/.docs/raw/evals/overview.mdx +95 -0
- package/.docs/raw/evals/running-in-ci.mdx +81 -0
- package/.docs/raw/evals/textual-evals.mdx +54 -0
- package/.docs/raw/faq/index.mdx +63 -0
- package/.docs/raw/frameworks/ai-sdk.mdx +296 -0
- package/.docs/raw/frameworks/next-js.mdx +238 -0
- package/.docs/raw/getting-started/installation.mdx +442 -0
- package/.docs/raw/getting-started/mcp-docs-server.mdx +141 -0
- package/.docs/raw/getting-started/project-structure.mdx +80 -0
- package/.docs/raw/index.mdx +22 -0
- package/.docs/raw/integrations/index.mdx +213 -0
- package/.docs/raw/local-dev/add-to-existing-project.mdx +48 -0
- package/.docs/raw/local-dev/creating-a-new-project.mdx +54 -0
- package/.docs/raw/local-dev/mastra-dev.mdx +108 -0
- package/.docs/raw/memory/memory-processors.mdx +131 -0
- package/.docs/raw/memory/overview.mdx +119 -0
- package/.docs/raw/memory/semantic-recall.mdx +122 -0
- package/.docs/raw/memory/working-memory.mdx +87 -0
- package/.docs/raw/observability/logging.mdx +38 -0
- package/.docs/raw/observability/nextjs-tracing.mdx +108 -0
- package/.docs/raw/observability/tracing.mdx +115 -0
- package/.docs/raw/rag/chunking-and-embedding.mdx +156 -0
- package/.docs/raw/rag/overview.mdx +85 -0
- package/.docs/raw/rag/retrieval.mdx +365 -0
- package/.docs/raw/rag/vector-databases.mdx +340 -0
- package/.docs/raw/reference/agents/createTool.mdx +229 -0
- package/.docs/raw/reference/agents/generate.mdx +334 -0
- package/.docs/raw/reference/agents/getAgent.mdx +54 -0
- package/.docs/raw/reference/agents/stream.mdx +369 -0
- package/.docs/raw/reference/cli/build.mdx +55 -0
- package/.docs/raw/reference/cli/dev.mdx +134 -0
- package/.docs/raw/reference/cli/init.mdx +43 -0
- package/.docs/raw/reference/client-js/agents.mdx +107 -0
- package/.docs/raw/reference/client-js/error-handling.mdx +38 -0
- package/.docs/raw/reference/client-js/logs.mdx +24 -0
- package/.docs/raw/reference/client-js/memory.mdx +97 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +20 -0
- package/.docs/raw/reference/client-js/tools.mdx +44 -0
- package/.docs/raw/reference/client-js/vectors.mdx +79 -0
- package/.docs/raw/reference/client-js/workflows.mdx +136 -0
- package/.docs/raw/reference/core/mastra-class.mdx +232 -0
- package/.docs/raw/reference/deployer/cloudflare.mdx +207 -0
- package/.docs/raw/reference/deployer/deployer.mdx +159 -0
- package/.docs/raw/reference/deployer/netlify.mdx +109 -0
- package/.docs/raw/reference/deployer/vercel.mdx +117 -0
- package/.docs/raw/reference/evals/answer-relevancy.mdx +186 -0
- package/.docs/raw/reference/evals/bias.mdx +186 -0
- package/.docs/raw/reference/evals/completeness.mdx +174 -0
- package/.docs/raw/reference/evals/content-similarity.mdx +183 -0
- package/.docs/raw/reference/evals/context-position.mdx +190 -0
- package/.docs/raw/reference/evals/context-precision.mdx +189 -0
- package/.docs/raw/reference/evals/context-relevancy.mdx +188 -0
- package/.docs/raw/reference/evals/contextual-recall.mdx +191 -0
- package/.docs/raw/reference/evals/faithfulness.mdx +193 -0
- package/.docs/raw/reference/evals/hallucination.mdx +219 -0
- package/.docs/raw/reference/evals/keyword-coverage.mdx +176 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +238 -0
- package/.docs/raw/reference/evals/summarization.mdx +205 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +161 -0
- package/.docs/raw/reference/evals/tone-consistency.mdx +181 -0
- package/.docs/raw/reference/evals/toxicity.mdx +165 -0
- package/.docs/raw/reference/index.mdx +12 -0
- package/.docs/raw/reference/memory/Memory.mdx +212 -0
- package/.docs/raw/reference/memory/createThread.mdx +95 -0
- package/.docs/raw/reference/memory/getThreadById.mdx +46 -0
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +48 -0
- package/.docs/raw/reference/memory/query.mdx +167 -0
- package/.docs/raw/reference/networks/agent-network.mdx +159 -0
- package/.docs/raw/reference/observability/create-logger.mdx +106 -0
- package/.docs/raw/reference/observability/logger.mdx +55 -0
- package/.docs/raw/reference/observability/otel-config.mdx +120 -0
- package/.docs/raw/reference/observability/providers/braintrust.mdx +40 -0
- package/.docs/raw/reference/observability/providers/dash0.mdx +40 -0
- package/.docs/raw/reference/observability/providers/index.mdx +16 -0
- package/.docs/raw/reference/observability/providers/laminar.mdx +41 -0
- package/.docs/raw/reference/observability/providers/langfuse.mdx +51 -0
- package/.docs/raw/reference/observability/providers/langsmith.mdx +48 -0
- package/.docs/raw/reference/observability/providers/langwatch.mdx +45 -0
- package/.docs/raw/reference/observability/providers/new-relic.mdx +40 -0
- package/.docs/raw/reference/observability/providers/signoz.mdx +40 -0
- package/.docs/raw/reference/observability/providers/traceloop.mdx +40 -0
- package/.docs/raw/reference/rag/astra.mdx +258 -0
- package/.docs/raw/reference/rag/chroma.mdx +281 -0
- package/.docs/raw/reference/rag/chunk.mdx +235 -0
- package/.docs/raw/reference/rag/document.mdx +127 -0
- package/.docs/raw/reference/rag/embeddings.mdx +160 -0
- package/.docs/raw/reference/rag/extract-params.mdx +226 -0
- package/.docs/raw/reference/rag/graph-rag.mdx +182 -0
- package/.docs/raw/reference/rag/libsql.mdx +357 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +298 -0
- package/.docs/raw/reference/rag/pg.mdx +477 -0
- package/.docs/raw/reference/rag/pinecone.mdx +281 -0
- package/.docs/raw/reference/rag/qdrant.mdx +236 -0
- package/.docs/raw/reference/rag/rerank.mdx +212 -0
- package/.docs/raw/reference/rag/turbopuffer.mdx +249 -0
- package/.docs/raw/reference/rag/upstash.mdx +247 -0
- package/.docs/raw/reference/rag/vectorize.mdx +298 -0
- package/.docs/raw/reference/storage/libsql.mdx +74 -0
- package/.docs/raw/reference/storage/postgresql.mdx +48 -0
- package/.docs/raw/reference/storage/upstash.mdx +86 -0
- package/.docs/raw/reference/tools/client.mdx +207 -0
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +141 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +154 -0
- package/.docs/raw/reference/tools/mcp-configuration.mdx +206 -0
- package/.docs/raw/reference/tools/vector-query-tool.mdx +212 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +140 -0
- package/.docs/raw/reference/voice/deepgram.mdx +164 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +216 -0
- package/.docs/raw/reference/voice/google.mdx +198 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +394 -0
- package/.docs/raw/reference/voice/murf.mdx +251 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +431 -0
- package/.docs/raw/reference/voice/openai.mdx +168 -0
- package/.docs/raw/reference/voice/playai.mdx +159 -0
- package/.docs/raw/reference/voice/sarvam.mdx +260 -0
- package/.docs/raw/reference/voice/speechify.mdx +145 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +122 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +124 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +195 -0
- package/.docs/raw/reference/voice/voice.on.mdx +189 -0
- package/.docs/raw/reference/voice/voice.send.mdx +118 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +203 -0
- package/.docs/raw/reference/workflows/after.mdx +88 -0
- package/.docs/raw/reference/workflows/afterEvent.mdx +76 -0
- package/.docs/raw/reference/workflows/commit.mdx +37 -0
- package/.docs/raw/reference/workflows/createRun.mdx +77 -0
- package/.docs/raw/reference/workflows/else.mdx +72 -0
- package/.docs/raw/reference/workflows/events.mdx +305 -0
- package/.docs/raw/reference/workflows/execute.mdx +110 -0
- package/.docs/raw/reference/workflows/if.mdx +107 -0
- package/.docs/raw/reference/workflows/resume.mdx +155 -0
- package/.docs/raw/reference/workflows/resumeWithEvent.mdx +133 -0
- package/.docs/raw/reference/workflows/snapshots.mdx +207 -0
- package/.docs/raw/reference/workflows/start.mdx +84 -0
- package/.docs/raw/reference/workflows/step-class.mdx +100 -0
- package/.docs/raw/reference/workflows/step-condition.mdx +134 -0
- package/.docs/raw/reference/workflows/step-function.mdx +92 -0
- package/.docs/raw/reference/workflows/step-options.mdx +69 -0
- package/.docs/raw/reference/workflows/step-retries.mdx +203 -0
- package/.docs/raw/reference/workflows/suspend.mdx +70 -0
- package/.docs/raw/reference/workflows/then.mdx +74 -0
- package/.docs/raw/reference/workflows/until.mdx +165 -0
- package/.docs/raw/reference/workflows/watch.mdx +118 -0
- package/.docs/raw/reference/workflows/while.mdx +168 -0
- package/.docs/raw/reference/workflows/workflow.mdx +233 -0
- package/.docs/raw/storage/overview.mdx +378 -0
- package/.docs/raw/voice/overview.mdx +135 -0
- package/.docs/raw/voice/speech-to-text.mdx +45 -0
- package/.docs/raw/voice/text-to-speech.mdx +52 -0
- package/.docs/raw/voice/voice-to-voice.mdx +310 -0
- package/.docs/raw/workflows/control-flow.mdx +778 -0
- package/.docs/raw/workflows/dynamic-workflows.mdx +236 -0
- package/.docs/raw/workflows/error-handling.mdx +183 -0
- package/.docs/raw/workflows/nested-workflows.mdx +352 -0
- package/.docs/raw/workflows/overview.mdx +203 -0
- package/.docs/raw/workflows/steps.mdx +108 -0
- package/.docs/raw/workflows/suspend-and-resume.mdx +404 -0
- package/.docs/raw/workflows/variables.mdx +313 -0
- package/LICENSE.md +46 -0
- package/README.md +129 -0
- package/dist/_tsup-dts-rollup.d.ts +149 -0
- package/dist/chunk-QWYMT5LP.js +194 -0
- package/dist/prepare-docs/prepare.d.ts +1 -0
- package/dist/prepare-docs/prepare.js +1 -0
- package/dist/stdio.d.ts +1 -0
- package/dist/stdio.js +518 -0
- package/package.json +60 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: ExtractParams | Document Processing | RAG | Mastra Docs"
|
|
3
|
+
description: Documentation for metadata extraction configuration in Mastra.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ExtractParams
|
|
7
|
+
|
|
8
|
+
ExtractParams configures metadata extraction from document chunks using LLM analysis.
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```typescript showLineNumbers copy
|
|
13
|
+
import { MDocument } from "@mastra/rag";
|
|
14
|
+
|
|
15
|
+
const doc = MDocument.fromText(text);
|
|
16
|
+
const chunks = await doc.chunk({
|
|
17
|
+
extract: {
|
|
18
|
+
title: true, // Extract titles using default settings
|
|
19
|
+
summary: true, // Generate summaries using default settings
|
|
20
|
+
keywords: true // Extract keywords using default settings
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// Example output:
|
|
25
|
+
// chunks[0].metadata = {
|
|
26
|
+
// documentTitle: "AI Systems Overview",
|
|
27
|
+
// sectionSummary: "Overview of artificial intelligence concepts and applications",
|
|
28
|
+
// excerptKeywords: "KEYWORDS: AI, machine learning, algorithms"
|
|
29
|
+
// }
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Parameters
|
|
33
|
+
|
|
34
|
+
The `extract` parameter accepts the following fields:
|
|
35
|
+
|
|
36
|
+
<PropertiesTable
|
|
37
|
+
content={[
|
|
38
|
+
{
|
|
39
|
+
name: "title",
|
|
40
|
+
type: "boolean | TitleExtractorsArgs",
|
|
41
|
+
isOptional: true,
|
|
42
|
+
description:
|
|
43
|
+
"Enable title extraction. Set to true for default settings, or provide custom configuration.",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "summary",
|
|
47
|
+
type: "boolean | SummaryExtractArgs",
|
|
48
|
+
isOptional: true,
|
|
49
|
+
description:
|
|
50
|
+
"Enable summary extraction. Set to true for default settings, or provide custom configuration.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "questions",
|
|
54
|
+
type: "boolean | QuestionAnswerExtractArgs",
|
|
55
|
+
isOptional: true,
|
|
56
|
+
description:
|
|
57
|
+
"Enable question generation. Set to true for default settings, or provide custom configuration.",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "keywords",
|
|
61
|
+
type: "boolean | KeywordExtractArgs",
|
|
62
|
+
isOptional: true,
|
|
63
|
+
description:
|
|
64
|
+
"Enable keyword extraction. Set to true for default settings, or provide custom configuration.",
|
|
65
|
+
},
|
|
66
|
+
]}
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
## Extractor Arguments
|
|
70
|
+
|
|
71
|
+
### TitleExtractorsArgs
|
|
72
|
+
|
|
73
|
+
<PropertiesTable
|
|
74
|
+
content={[
|
|
75
|
+
{
|
|
76
|
+
name: "llm",
|
|
77
|
+
type: "LLM",
|
|
78
|
+
isOptional: true,
|
|
79
|
+
description: "Custom LLM instance to use for title extraction"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: "nodes",
|
|
83
|
+
type: "number",
|
|
84
|
+
isOptional: true,
|
|
85
|
+
description: "Number of title nodes to extract"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "nodeTemplate",
|
|
89
|
+
type: "string",
|
|
90
|
+
isOptional: true,
|
|
91
|
+
description: "Custom prompt template for title node extraction. Must include {context} placeholder"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: "combineTemplate",
|
|
95
|
+
type: "string",
|
|
96
|
+
isOptional: true,
|
|
97
|
+
description: "Custom prompt template for combining titles. Must include {context} placeholder"
|
|
98
|
+
}
|
|
99
|
+
]}
|
|
100
|
+
/>
|
|
101
|
+
|
|
102
|
+
### SummaryExtractArgs
|
|
103
|
+
|
|
104
|
+
<PropertiesTable
|
|
105
|
+
content={[
|
|
106
|
+
{
|
|
107
|
+
name: "llm",
|
|
108
|
+
type: "LLM",
|
|
109
|
+
isOptional: true,
|
|
110
|
+
description: "Custom LLM instance to use for summary extraction"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "summaries",
|
|
114
|
+
type: "('self' | 'prev' | 'next')[]",
|
|
115
|
+
isOptional: true,
|
|
116
|
+
description: "List of summary types to generate. Can only include 'self' (current chunk), 'prev' (previous chunk), or 'next' (next chunk)"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "promptTemplate",
|
|
120
|
+
type: "string",
|
|
121
|
+
isOptional: true,
|
|
122
|
+
description: "Custom prompt template for summary generation. Must include {context} placeholder"
|
|
123
|
+
}
|
|
124
|
+
]}
|
|
125
|
+
/>
|
|
126
|
+
|
|
127
|
+
### QuestionAnswerExtractArgs
|
|
128
|
+
|
|
129
|
+
<PropertiesTable
|
|
130
|
+
content={[
|
|
131
|
+
{
|
|
132
|
+
name: "llm",
|
|
133
|
+
type: "LLM",
|
|
134
|
+
isOptional: true,
|
|
135
|
+
description: "Custom LLM instance to use for question generation"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: "questions",
|
|
139
|
+
type: "number",
|
|
140
|
+
isOptional: true,
|
|
141
|
+
description: "Number of questions to generate"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "promptTemplate",
|
|
145
|
+
type: "string",
|
|
146
|
+
isOptional: true,
|
|
147
|
+
description: "Custom prompt template for question generation. Must include both {context} and {numQuestions} placeholders"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: "embeddingOnly",
|
|
151
|
+
type: "boolean",
|
|
152
|
+
isOptional: true,
|
|
153
|
+
description: "If true, only generate embeddings without actual questions"
|
|
154
|
+
}
|
|
155
|
+
]}
|
|
156
|
+
/>
|
|
157
|
+
|
|
158
|
+
### KeywordExtractArgs
|
|
159
|
+
|
|
160
|
+
<PropertiesTable
|
|
161
|
+
content={[
|
|
162
|
+
{
|
|
163
|
+
name: "llm",
|
|
164
|
+
type: "LLM",
|
|
165
|
+
isOptional: true,
|
|
166
|
+
description: "Custom LLM instance to use for keyword extraction"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "keywords",
|
|
170
|
+
type: "number",
|
|
171
|
+
isOptional: true,
|
|
172
|
+
description: "Number of keywords to extract"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: "promptTemplate",
|
|
176
|
+
type: "string",
|
|
177
|
+
isOptional: true,
|
|
178
|
+
description: "Custom prompt template for keyword extraction. Must include both {context} and {maxKeywords} placeholders"
|
|
179
|
+
}
|
|
180
|
+
]}
|
|
181
|
+
/>
|
|
182
|
+
|
|
183
|
+
## Advanced Example
|
|
184
|
+
|
|
185
|
+
```typescript showLineNumbers copy
|
|
186
|
+
import { MDocument } from "@mastra/rag";
|
|
187
|
+
|
|
188
|
+
const doc = MDocument.fromText(text);
|
|
189
|
+
const chunks = await doc.chunk({
|
|
190
|
+
extract: {
|
|
191
|
+
// Title extraction with custom settings
|
|
192
|
+
title: {
|
|
193
|
+
nodes: 2, // Extract 2 title nodes
|
|
194
|
+
nodeTemplate: "Generate a title for this: {context}",
|
|
195
|
+
combineTemplate: "Combine these titles: {context}"
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
// Summary extraction with custom settings
|
|
199
|
+
summary: {
|
|
200
|
+
summaries: ["self"], // Generate summaries for current chunk
|
|
201
|
+
promptTemplate: "Summarize this: {context}"
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
// Question generation with custom settings
|
|
205
|
+
questions: {
|
|
206
|
+
questions: 3, // Generate 3 questions
|
|
207
|
+
promptTemplate: "Generate {numQuestions} questions about: {context}",
|
|
208
|
+
embeddingOnly: false
|
|
209
|
+
},
|
|
210
|
+
|
|
211
|
+
// Keyword extraction with custom settings
|
|
212
|
+
keywords: {
|
|
213
|
+
keywords: 5, // Extract 5 keywords
|
|
214
|
+
promptTemplate: "Extract {maxKeywords} key terms from: {context}"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
// Example output:
|
|
220
|
+
// chunks[0].metadata = {
|
|
221
|
+
// documentTitle: "AI in Modern Computing",
|
|
222
|
+
// sectionSummary: "Overview of AI concepts and their applications in computing",
|
|
223
|
+
// questionsThisExcerptCanAnswer: "1. What is machine learning?\n2. How do neural networks work?",
|
|
224
|
+
// excerptKeywords: "1. Machine learning\n2. Neural networks\n3. Training data"
|
|
225
|
+
// }
|
|
226
|
+
```
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: GraphRAG | Graph-based RAG | RAG | Mastra Docs"
|
|
3
|
+
description: Documentation for the GraphRAG class in Mastra, which implements a graph-based approach to retrieval augmented generation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GraphRAG
|
|
7
|
+
|
|
8
|
+
The `GraphRAG` class implements a graph-based approach to retrieval augmented generation. It creates a knowledge graph from document chunks where nodes represent documents and edges represent semantic relationships, enabling both direct similarity matching and discovery of related content through graph traversal.
|
|
9
|
+
|
|
10
|
+
## Basic Usage
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import { GraphRAG } from "@mastra/rag";
|
|
14
|
+
|
|
15
|
+
const graphRag = new GraphRAG({
|
|
16
|
+
dimension: 1536,
|
|
17
|
+
threshold: 0.7
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// Create the graph from chunks and embeddings
|
|
21
|
+
graphRag.createGraph(documentChunks, embeddings);
|
|
22
|
+
|
|
23
|
+
// Query the graph with embedding
|
|
24
|
+
const results = await graphRag.query({
|
|
25
|
+
query: queryEmbedding,
|
|
26
|
+
topK: 10,
|
|
27
|
+
randomWalkSteps: 100,
|
|
28
|
+
restartProb: 0.15
|
|
29
|
+
});
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Constructor Parameters
|
|
33
|
+
|
|
34
|
+
<PropertiesTable
|
|
35
|
+
content={[
|
|
36
|
+
{
|
|
37
|
+
name: "dimension",
|
|
38
|
+
type: "number",
|
|
39
|
+
description: "Dimension of the embedding vectors",
|
|
40
|
+
isOptional: true,
|
|
41
|
+
defaultValue: "1536",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: "threshold",
|
|
45
|
+
type: "number",
|
|
46
|
+
description: "Similarity threshold for creating edges between nodes (0-1)",
|
|
47
|
+
isOptional: true,
|
|
48
|
+
defaultValue: "0.7",
|
|
49
|
+
}
|
|
50
|
+
]}
|
|
51
|
+
/>
|
|
52
|
+
|
|
53
|
+
## Methods
|
|
54
|
+
|
|
55
|
+
### createGraph
|
|
56
|
+
|
|
57
|
+
Creates a knowledge graph from document chunks and their embeddings.
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
createGraph(chunks: GraphChunk[], embeddings: GraphEmbedding[]): void
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Parameters
|
|
64
|
+
<PropertiesTable
|
|
65
|
+
content={[
|
|
66
|
+
{
|
|
67
|
+
name: "chunks",
|
|
68
|
+
type: "GraphChunk[]",
|
|
69
|
+
description: "Array of document chunks with text and metadata",
|
|
70
|
+
isOptional: false,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "embeddings",
|
|
74
|
+
type: "GraphEmbedding[]",
|
|
75
|
+
description: "Array of embeddings corresponding to chunks",
|
|
76
|
+
isOptional: false,
|
|
77
|
+
}
|
|
78
|
+
]}
|
|
79
|
+
/>
|
|
80
|
+
|
|
81
|
+
### query
|
|
82
|
+
|
|
83
|
+
Performs a graph-based search combining vector similarity and graph traversal.
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
query({
|
|
87
|
+
query,
|
|
88
|
+
topK = 10,
|
|
89
|
+
randomWalkSteps = 100,
|
|
90
|
+
restartProb = 0.15
|
|
91
|
+
}: {
|
|
92
|
+
query: number[];
|
|
93
|
+
topK?: number;
|
|
94
|
+
randomWalkSteps?: number;
|
|
95
|
+
restartProb?: number;
|
|
96
|
+
}): RankedNode[]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Parameters
|
|
100
|
+
<PropertiesTable
|
|
101
|
+
content={[
|
|
102
|
+
{
|
|
103
|
+
name: "query",
|
|
104
|
+
type: "number[]",
|
|
105
|
+
description: "Query embedding vector",
|
|
106
|
+
isOptional: false,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "topK",
|
|
110
|
+
type: "number",
|
|
111
|
+
description: "Number of results to return",
|
|
112
|
+
isOptional: true,
|
|
113
|
+
defaultValue: "10",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: "randomWalkSteps",
|
|
117
|
+
type: "number",
|
|
118
|
+
description: "Number of steps in random walk",
|
|
119
|
+
isOptional: true,
|
|
120
|
+
defaultValue: "100",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "restartProb",
|
|
124
|
+
type: "number",
|
|
125
|
+
description: "Probability of restarting walk from query node",
|
|
126
|
+
isOptional: true,
|
|
127
|
+
defaultValue: "0.15",
|
|
128
|
+
}
|
|
129
|
+
]}
|
|
130
|
+
/>
|
|
131
|
+
|
|
132
|
+
#### Returns
|
|
133
|
+
Returns an array of `RankedNode` objects, where each node contains:
|
|
134
|
+
|
|
135
|
+
<PropertiesTable
|
|
136
|
+
content={[
|
|
137
|
+
{
|
|
138
|
+
name: "id",
|
|
139
|
+
type: "string",
|
|
140
|
+
description: "Unique identifier for the node",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
name: "content",
|
|
144
|
+
type: "string",
|
|
145
|
+
description: "Text content of the document chunk",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: "metadata",
|
|
149
|
+
type: "Record<string, any>",
|
|
150
|
+
description: "Additional metadata associated with the chunk",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: "score",
|
|
154
|
+
type: "number",
|
|
155
|
+
description: "Combined relevance score from graph traversal",
|
|
156
|
+
}
|
|
157
|
+
]}
|
|
158
|
+
/>
|
|
159
|
+
|
|
160
|
+
## Advanced Example
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
const graphRag = new GraphRAG({
|
|
164
|
+
dimension: 1536,
|
|
165
|
+
threshold: 0.8 // Stricter similarity threshold
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// Create graph from chunks and embeddings
|
|
169
|
+
graphRag.createGraph(documentChunks, embeddings);
|
|
170
|
+
|
|
171
|
+
// Query with custom parameters
|
|
172
|
+
const results = await graphRag.query({
|
|
173
|
+
query: queryEmbedding,
|
|
174
|
+
topK: 5,
|
|
175
|
+
randomWalkSteps: 200,
|
|
176
|
+
restartProb: 0.2
|
|
177
|
+
});
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Related
|
|
181
|
+
|
|
182
|
+
- [createGraphRAGTool](../tools/graph-rag-tool)
|