@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.
Files changed (254) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fastra.md +302 -0
  2. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +302 -0
  3. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +161 -0
  4. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +302 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +110 -0
  6. package/.docs/organized/changelogs/%40mastra%2Fcore.md +302 -0
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +302 -0
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +302 -0
  9. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +302 -0
  10. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +302 -0
  11. package/.docs/organized/changelogs/%40mastra%2Fevals.md +302 -0
  12. package/.docs/organized/changelogs/%40mastra%2Ffirecrawl.md +302 -0
  13. package/.docs/organized/changelogs/%40mastra%2Fgithub.md +302 -0
  14. package/.docs/organized/changelogs/%40mastra%2Floggers.md +302 -0
  15. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +302 -0
  16. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +26 -0
  17. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +302 -0
  18. package/.docs/organized/changelogs/%40mastra%2Fmem0.md +196 -0
  19. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +302 -0
  20. package/.docs/organized/changelogs/%40mastra%2Fpg.md +302 -0
  21. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +302 -0
  22. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +302 -0
  23. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +302 -0
  24. package/.docs/organized/changelogs/%40mastra%2Frag.md +302 -0
  25. package/.docs/organized/changelogs/%40mastra%2Fragie.md +302 -0
  26. package/.docs/organized/changelogs/%40mastra%2Fserver.md +302 -0
  27. package/.docs/organized/changelogs/%40mastra%2Fspeech-azure.md +302 -0
  28. package/.docs/organized/changelogs/%40mastra%2Fspeech-deepgram.md +302 -0
  29. package/.docs/organized/changelogs/%40mastra%2Fspeech-elevenlabs.md +302 -0
  30. package/.docs/organized/changelogs/%40mastra%2Fspeech-google.md +302 -0
  31. package/.docs/organized/changelogs/%40mastra%2Fspeech-ibm.md +302 -0
  32. package/.docs/organized/changelogs/%40mastra%2Fspeech-murf.md +302 -0
  33. package/.docs/organized/changelogs/%40mastra%2Fspeech-openai.md +302 -0
  34. package/.docs/organized/changelogs/%40mastra%2Fspeech-playai.md +302 -0
  35. package/.docs/organized/changelogs/%40mastra%2Fspeech-replicate.md +302 -0
  36. package/.docs/organized/changelogs/%40mastra%2Fspeech-speechify.md +302 -0
  37. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +302 -0
  38. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +302 -0
  39. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +302 -0
  40. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +250 -0
  41. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +250 -0
  42. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +302 -0
  43. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +302 -0
  44. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +302 -0
  45. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +302 -0
  46. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +302 -0
  47. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +302 -0
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +302 -0
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +302 -0
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +302 -0
  51. package/.docs/organized/changelogs/create-mastra.md +302 -0
  52. package/.docs/organized/changelogs/mastra.md +302 -0
  53. package/.docs/organized/code-examples/agent-network.md +282 -0
  54. package/.docs/organized/code-examples/agent.md +388 -0
  55. package/.docs/organized/code-examples/ai-sdk-useChat.md +378 -0
  56. package/.docs/organized/code-examples/assistant-ui.md +37 -0
  57. package/.docs/organized/code-examples/bird-checker-with-express.md +235 -0
  58. package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +360 -0
  59. package/.docs/organized/code-examples/bird-checker-with-nextjs.md +250 -0
  60. package/.docs/organized/code-examples/client-side-tools.md +69 -0
  61. package/.docs/organized/code-examples/crypto-chatbot.md +96 -0
  62. package/.docs/organized/code-examples/fireworks-r1.md +159 -0
  63. package/.docs/organized/code-examples/mcp-registry-registry.md +63 -0
  64. package/.docs/organized/code-examples/memory-todo-agent.md +164 -0
  65. package/.docs/organized/code-examples/memory-with-context.md +167 -0
  66. package/.docs/organized/code-examples/memory-with-libsql.md +204 -0
  67. package/.docs/organized/code-examples/memory-with-mem0.md +121 -0
  68. package/.docs/organized/code-examples/memory-with-pg.md +224 -0
  69. package/.docs/organized/code-examples/memory-with-upstash.md +268 -0
  70. package/.docs/organized/code-examples/quick-start.md +129 -0
  71. package/.docs/organized/code-examples/stock-price-tool.md +124 -0
  72. package/.docs/organized/code-examples/weather-agent.md +353 -0
  73. package/.docs/organized/code-examples/workflow-ai-recruiter.md +159 -0
  74. package/.docs/organized/code-examples/workflow-with-inline-steps.md +111 -0
  75. package/.docs/organized/code-examples/workflow-with-memory.md +393 -0
  76. package/.docs/organized/code-examples/workflow-with-separate-steps.md +131 -0
  77. package/.docs/raw/agents/adding-tools.mdx +317 -0
  78. package/.docs/raw/agents/adding-voice.mdx +175 -0
  79. package/.docs/raw/agents/agent-memory.mdx +62 -0
  80. package/.docs/raw/agents/mcp-guide.mdx +215 -0
  81. package/.docs/raw/agents/overview.mdx +303 -0
  82. package/.docs/raw/community/discord.mdx +12 -0
  83. package/.docs/raw/community/licensing.mdx +63 -0
  84. package/.docs/raw/deployment/client.mdx +120 -0
  85. package/.docs/raw/deployment/deployment.mdx +127 -0
  86. package/.docs/raw/deployment/server.mdx +282 -0
  87. package/.docs/raw/evals/custom-eval.mdx +22 -0
  88. package/.docs/raw/evals/overview.mdx +95 -0
  89. package/.docs/raw/evals/running-in-ci.mdx +81 -0
  90. package/.docs/raw/evals/textual-evals.mdx +54 -0
  91. package/.docs/raw/faq/index.mdx +63 -0
  92. package/.docs/raw/frameworks/ai-sdk.mdx +296 -0
  93. package/.docs/raw/frameworks/next-js.mdx +238 -0
  94. package/.docs/raw/getting-started/installation.mdx +442 -0
  95. package/.docs/raw/getting-started/mcp-docs-server.mdx +141 -0
  96. package/.docs/raw/getting-started/project-structure.mdx +80 -0
  97. package/.docs/raw/index.mdx +22 -0
  98. package/.docs/raw/integrations/index.mdx +213 -0
  99. package/.docs/raw/local-dev/add-to-existing-project.mdx +48 -0
  100. package/.docs/raw/local-dev/creating-a-new-project.mdx +54 -0
  101. package/.docs/raw/local-dev/mastra-dev.mdx +108 -0
  102. package/.docs/raw/memory/memory-processors.mdx +131 -0
  103. package/.docs/raw/memory/overview.mdx +119 -0
  104. package/.docs/raw/memory/semantic-recall.mdx +122 -0
  105. package/.docs/raw/memory/working-memory.mdx +87 -0
  106. package/.docs/raw/observability/logging.mdx +38 -0
  107. package/.docs/raw/observability/nextjs-tracing.mdx +108 -0
  108. package/.docs/raw/observability/tracing.mdx +115 -0
  109. package/.docs/raw/rag/chunking-and-embedding.mdx +156 -0
  110. package/.docs/raw/rag/overview.mdx +85 -0
  111. package/.docs/raw/rag/retrieval.mdx +365 -0
  112. package/.docs/raw/rag/vector-databases.mdx +340 -0
  113. package/.docs/raw/reference/agents/createTool.mdx +229 -0
  114. package/.docs/raw/reference/agents/generate.mdx +334 -0
  115. package/.docs/raw/reference/agents/getAgent.mdx +54 -0
  116. package/.docs/raw/reference/agents/stream.mdx +369 -0
  117. package/.docs/raw/reference/cli/build.mdx +55 -0
  118. package/.docs/raw/reference/cli/dev.mdx +134 -0
  119. package/.docs/raw/reference/cli/init.mdx +43 -0
  120. package/.docs/raw/reference/client-js/agents.mdx +107 -0
  121. package/.docs/raw/reference/client-js/error-handling.mdx +38 -0
  122. package/.docs/raw/reference/client-js/logs.mdx +24 -0
  123. package/.docs/raw/reference/client-js/memory.mdx +97 -0
  124. package/.docs/raw/reference/client-js/telemetry.mdx +20 -0
  125. package/.docs/raw/reference/client-js/tools.mdx +44 -0
  126. package/.docs/raw/reference/client-js/vectors.mdx +79 -0
  127. package/.docs/raw/reference/client-js/workflows.mdx +136 -0
  128. package/.docs/raw/reference/core/mastra-class.mdx +232 -0
  129. package/.docs/raw/reference/deployer/cloudflare.mdx +207 -0
  130. package/.docs/raw/reference/deployer/deployer.mdx +159 -0
  131. package/.docs/raw/reference/deployer/netlify.mdx +109 -0
  132. package/.docs/raw/reference/deployer/vercel.mdx +117 -0
  133. package/.docs/raw/reference/evals/answer-relevancy.mdx +186 -0
  134. package/.docs/raw/reference/evals/bias.mdx +186 -0
  135. package/.docs/raw/reference/evals/completeness.mdx +174 -0
  136. package/.docs/raw/reference/evals/content-similarity.mdx +183 -0
  137. package/.docs/raw/reference/evals/context-position.mdx +190 -0
  138. package/.docs/raw/reference/evals/context-precision.mdx +189 -0
  139. package/.docs/raw/reference/evals/context-relevancy.mdx +188 -0
  140. package/.docs/raw/reference/evals/contextual-recall.mdx +191 -0
  141. package/.docs/raw/reference/evals/faithfulness.mdx +193 -0
  142. package/.docs/raw/reference/evals/hallucination.mdx +219 -0
  143. package/.docs/raw/reference/evals/keyword-coverage.mdx +176 -0
  144. package/.docs/raw/reference/evals/prompt-alignment.mdx +238 -0
  145. package/.docs/raw/reference/evals/summarization.mdx +205 -0
  146. package/.docs/raw/reference/evals/textual-difference.mdx +161 -0
  147. package/.docs/raw/reference/evals/tone-consistency.mdx +181 -0
  148. package/.docs/raw/reference/evals/toxicity.mdx +165 -0
  149. package/.docs/raw/reference/index.mdx +12 -0
  150. package/.docs/raw/reference/memory/Memory.mdx +212 -0
  151. package/.docs/raw/reference/memory/createThread.mdx +95 -0
  152. package/.docs/raw/reference/memory/getThreadById.mdx +46 -0
  153. package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +48 -0
  154. package/.docs/raw/reference/memory/query.mdx +167 -0
  155. package/.docs/raw/reference/networks/agent-network.mdx +159 -0
  156. package/.docs/raw/reference/observability/create-logger.mdx +106 -0
  157. package/.docs/raw/reference/observability/logger.mdx +55 -0
  158. package/.docs/raw/reference/observability/otel-config.mdx +120 -0
  159. package/.docs/raw/reference/observability/providers/braintrust.mdx +40 -0
  160. package/.docs/raw/reference/observability/providers/dash0.mdx +40 -0
  161. package/.docs/raw/reference/observability/providers/index.mdx +16 -0
  162. package/.docs/raw/reference/observability/providers/laminar.mdx +41 -0
  163. package/.docs/raw/reference/observability/providers/langfuse.mdx +51 -0
  164. package/.docs/raw/reference/observability/providers/langsmith.mdx +48 -0
  165. package/.docs/raw/reference/observability/providers/langwatch.mdx +45 -0
  166. package/.docs/raw/reference/observability/providers/new-relic.mdx +40 -0
  167. package/.docs/raw/reference/observability/providers/signoz.mdx +40 -0
  168. package/.docs/raw/reference/observability/providers/traceloop.mdx +40 -0
  169. package/.docs/raw/reference/rag/astra.mdx +258 -0
  170. package/.docs/raw/reference/rag/chroma.mdx +281 -0
  171. package/.docs/raw/reference/rag/chunk.mdx +235 -0
  172. package/.docs/raw/reference/rag/document.mdx +127 -0
  173. package/.docs/raw/reference/rag/embeddings.mdx +160 -0
  174. package/.docs/raw/reference/rag/extract-params.mdx +226 -0
  175. package/.docs/raw/reference/rag/graph-rag.mdx +182 -0
  176. package/.docs/raw/reference/rag/libsql.mdx +357 -0
  177. package/.docs/raw/reference/rag/metadata-filters.mdx +298 -0
  178. package/.docs/raw/reference/rag/pg.mdx +477 -0
  179. package/.docs/raw/reference/rag/pinecone.mdx +281 -0
  180. package/.docs/raw/reference/rag/qdrant.mdx +236 -0
  181. package/.docs/raw/reference/rag/rerank.mdx +212 -0
  182. package/.docs/raw/reference/rag/turbopuffer.mdx +249 -0
  183. package/.docs/raw/reference/rag/upstash.mdx +247 -0
  184. package/.docs/raw/reference/rag/vectorize.mdx +298 -0
  185. package/.docs/raw/reference/storage/libsql.mdx +74 -0
  186. package/.docs/raw/reference/storage/postgresql.mdx +48 -0
  187. package/.docs/raw/reference/storage/upstash.mdx +86 -0
  188. package/.docs/raw/reference/tools/client.mdx +207 -0
  189. package/.docs/raw/reference/tools/document-chunker-tool.mdx +141 -0
  190. package/.docs/raw/reference/tools/graph-rag-tool.mdx +154 -0
  191. package/.docs/raw/reference/tools/mcp-configuration.mdx +206 -0
  192. package/.docs/raw/reference/tools/vector-query-tool.mdx +212 -0
  193. package/.docs/raw/reference/voice/composite-voice.mdx +140 -0
  194. package/.docs/raw/reference/voice/deepgram.mdx +164 -0
  195. package/.docs/raw/reference/voice/elevenlabs.mdx +216 -0
  196. package/.docs/raw/reference/voice/google.mdx +198 -0
  197. package/.docs/raw/reference/voice/mastra-voice.mdx +394 -0
  198. package/.docs/raw/reference/voice/murf.mdx +251 -0
  199. package/.docs/raw/reference/voice/openai-realtime.mdx +431 -0
  200. package/.docs/raw/reference/voice/openai.mdx +168 -0
  201. package/.docs/raw/reference/voice/playai.mdx +159 -0
  202. package/.docs/raw/reference/voice/sarvam.mdx +260 -0
  203. package/.docs/raw/reference/voice/speechify.mdx +145 -0
  204. package/.docs/raw/reference/voice/voice.answer.mdx +122 -0
  205. package/.docs/raw/reference/voice/voice.connect.mdx +124 -0
  206. package/.docs/raw/reference/voice/voice.listen.mdx +195 -0
  207. package/.docs/raw/reference/voice/voice.on.mdx +189 -0
  208. package/.docs/raw/reference/voice/voice.send.mdx +118 -0
  209. package/.docs/raw/reference/voice/voice.speak.mdx +203 -0
  210. package/.docs/raw/reference/workflows/after.mdx +88 -0
  211. package/.docs/raw/reference/workflows/afterEvent.mdx +76 -0
  212. package/.docs/raw/reference/workflows/commit.mdx +37 -0
  213. package/.docs/raw/reference/workflows/createRun.mdx +77 -0
  214. package/.docs/raw/reference/workflows/else.mdx +72 -0
  215. package/.docs/raw/reference/workflows/events.mdx +305 -0
  216. package/.docs/raw/reference/workflows/execute.mdx +110 -0
  217. package/.docs/raw/reference/workflows/if.mdx +107 -0
  218. package/.docs/raw/reference/workflows/resume.mdx +155 -0
  219. package/.docs/raw/reference/workflows/resumeWithEvent.mdx +133 -0
  220. package/.docs/raw/reference/workflows/snapshots.mdx +207 -0
  221. package/.docs/raw/reference/workflows/start.mdx +84 -0
  222. package/.docs/raw/reference/workflows/step-class.mdx +100 -0
  223. package/.docs/raw/reference/workflows/step-condition.mdx +134 -0
  224. package/.docs/raw/reference/workflows/step-function.mdx +92 -0
  225. package/.docs/raw/reference/workflows/step-options.mdx +69 -0
  226. package/.docs/raw/reference/workflows/step-retries.mdx +203 -0
  227. package/.docs/raw/reference/workflows/suspend.mdx +70 -0
  228. package/.docs/raw/reference/workflows/then.mdx +74 -0
  229. package/.docs/raw/reference/workflows/until.mdx +165 -0
  230. package/.docs/raw/reference/workflows/watch.mdx +118 -0
  231. package/.docs/raw/reference/workflows/while.mdx +168 -0
  232. package/.docs/raw/reference/workflows/workflow.mdx +233 -0
  233. package/.docs/raw/storage/overview.mdx +378 -0
  234. package/.docs/raw/voice/overview.mdx +135 -0
  235. package/.docs/raw/voice/speech-to-text.mdx +45 -0
  236. package/.docs/raw/voice/text-to-speech.mdx +52 -0
  237. package/.docs/raw/voice/voice-to-voice.mdx +310 -0
  238. package/.docs/raw/workflows/control-flow.mdx +778 -0
  239. package/.docs/raw/workflows/dynamic-workflows.mdx +236 -0
  240. package/.docs/raw/workflows/error-handling.mdx +183 -0
  241. package/.docs/raw/workflows/nested-workflows.mdx +352 -0
  242. package/.docs/raw/workflows/overview.mdx +203 -0
  243. package/.docs/raw/workflows/steps.mdx +108 -0
  244. package/.docs/raw/workflows/suspend-and-resume.mdx +404 -0
  245. package/.docs/raw/workflows/variables.mdx +313 -0
  246. package/LICENSE.md +46 -0
  247. package/README.md +129 -0
  248. package/dist/_tsup-dts-rollup.d.ts +149 -0
  249. package/dist/chunk-QWYMT5LP.js +194 -0
  250. package/dist/prepare-docs/prepare.d.ts +1 -0
  251. package/dist/prepare-docs/prepare.js +1 -0
  252. package/dist/stdio.d.ts +1 -0
  253. package/dist/stdio.js +518 -0
  254. 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)