@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,477 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: PG Vector Store | Vector Databases | RAG | Mastra Docs"
|
|
3
|
+
description: Documentation for the PgVector class in Mastra, which provides vector search using PostgreSQL with pgvector extension.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PG Vector Store
|
|
7
|
+
|
|
8
|
+
The PgVector class provides vector search using [PostgreSQL](https://www.postgresql.org/) with [pgvector](https://github.com/pgvector/pgvector) extension.
|
|
9
|
+
It provides robust vector similarity search capabilities within your existing PostgreSQL database.
|
|
10
|
+
|
|
11
|
+
## Constructor Options
|
|
12
|
+
|
|
13
|
+
<PropertiesTable
|
|
14
|
+
content={[
|
|
15
|
+
{
|
|
16
|
+
name: "connectionString",
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "PostgreSQL connection URL",
|
|
19
|
+
},
|
|
20
|
+
]}
|
|
21
|
+
/>
|
|
22
|
+
|
|
23
|
+
## Methods
|
|
24
|
+
|
|
25
|
+
### createIndex()
|
|
26
|
+
|
|
27
|
+
<PropertiesTable
|
|
28
|
+
content={[
|
|
29
|
+
{
|
|
30
|
+
name: "indexName",
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "Name of the index to create",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "dimension",
|
|
36
|
+
type: "number",
|
|
37
|
+
description: "Vector dimension (must match your embedding model)",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "metric",
|
|
41
|
+
type: "'cosine' | 'euclidean' | 'dotproduct'",
|
|
42
|
+
isOptional: true,
|
|
43
|
+
defaultValue: "cosine",
|
|
44
|
+
description: "Distance metric for similarity search",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "indexConfig",
|
|
48
|
+
type: "IndexConfig",
|
|
49
|
+
isOptional: true,
|
|
50
|
+
defaultValue: "{ type: 'ivfflat' }",
|
|
51
|
+
description: "Index configuration",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "buildIndex",
|
|
55
|
+
type: "boolean",
|
|
56
|
+
isOptional: true,
|
|
57
|
+
defaultValue: "true",
|
|
58
|
+
description: "Whether to build the index",
|
|
59
|
+
},
|
|
60
|
+
]}
|
|
61
|
+
/>
|
|
62
|
+
|
|
63
|
+
#### IndexConfig
|
|
64
|
+
|
|
65
|
+
<PropertiesTable
|
|
66
|
+
content={[
|
|
67
|
+
{
|
|
68
|
+
name: "type",
|
|
69
|
+
type: "'flat' | 'hnsw' | 'ivfflat'",
|
|
70
|
+
description: "Index type",
|
|
71
|
+
defaultValue: "ivfflat",
|
|
72
|
+
properties: [
|
|
73
|
+
{
|
|
74
|
+
type: "string",
|
|
75
|
+
parameters: [
|
|
76
|
+
{
|
|
77
|
+
name: "flat",
|
|
78
|
+
type: "flat",
|
|
79
|
+
description:
|
|
80
|
+
"Sequential scan (no index) that performs exhaustive search.",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "ivfflat",
|
|
84
|
+
type: "ivfflat",
|
|
85
|
+
description:
|
|
86
|
+
"Clusters vectors into lists for approximate search.",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "hnsw",
|
|
90
|
+
type: "hnsw",
|
|
91
|
+
description:
|
|
92
|
+
"Graph-based index offering fast search times and high recall.",
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "ivf",
|
|
100
|
+
type: "IVFConfig",
|
|
101
|
+
isOptional: true,
|
|
102
|
+
description: "IVF configuration",
|
|
103
|
+
properties: [
|
|
104
|
+
{
|
|
105
|
+
type: "object",
|
|
106
|
+
parameters: [
|
|
107
|
+
{
|
|
108
|
+
name: "lists",
|
|
109
|
+
type: "number",
|
|
110
|
+
description:
|
|
111
|
+
"Number of lists. If not specified, automatically calculated based on dataset size. (Minimum 100, Maximum 4000)",
|
|
112
|
+
isOptional: true,
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "hnsw",
|
|
120
|
+
type: "HNSWConfig",
|
|
121
|
+
isOptional: true,
|
|
122
|
+
description: "HNSW configuration",
|
|
123
|
+
properties: [
|
|
124
|
+
{
|
|
125
|
+
type: "object",
|
|
126
|
+
parameters: [
|
|
127
|
+
{
|
|
128
|
+
name: "m",
|
|
129
|
+
type: "number",
|
|
130
|
+
description:
|
|
131
|
+
"Maximum number of connections per node (default: 8)",
|
|
132
|
+
isOptional: true,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "efConstruction",
|
|
136
|
+
type: "number",
|
|
137
|
+
description: "Build-time complexity (default: 32)",
|
|
138
|
+
isOptional: true,
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
]}
|
|
145
|
+
/>
|
|
146
|
+
|
|
147
|
+
#### Memory Requirements
|
|
148
|
+
|
|
149
|
+
HNSW indexes require significant shared memory during construction. For 100K vectors:
|
|
150
|
+
|
|
151
|
+
- Small dimensions (64d): ~60MB with default settings
|
|
152
|
+
- Medium dimensions (256d): ~180MB with default settings
|
|
153
|
+
- Large dimensions (384d+): ~250MB+ with default settings
|
|
154
|
+
|
|
155
|
+
Higher M values or efConstruction values will increase memory requirements significantly. Adjust your system's shared memory limits if needed.
|
|
156
|
+
|
|
157
|
+
### upsert()
|
|
158
|
+
|
|
159
|
+
<PropertiesTable
|
|
160
|
+
content={[
|
|
161
|
+
{
|
|
162
|
+
name: "indexName",
|
|
163
|
+
type: "string",
|
|
164
|
+
description: "Name of the index to upsert vectors into",
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
name: "vectors",
|
|
168
|
+
type: "number[][]",
|
|
169
|
+
description: "Array of embedding vectors",
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: "metadata",
|
|
173
|
+
type: "Record<string, any>[]",
|
|
174
|
+
isOptional: true,
|
|
175
|
+
description: "Metadata for each vector",
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: "ids",
|
|
179
|
+
type: "string[]",
|
|
180
|
+
isOptional: true,
|
|
181
|
+
description: "Optional vector IDs (auto-generated if not provided)",
|
|
182
|
+
},
|
|
183
|
+
]}
|
|
184
|
+
/>
|
|
185
|
+
|
|
186
|
+
### query()
|
|
187
|
+
|
|
188
|
+
<PropertiesTable
|
|
189
|
+
content={[
|
|
190
|
+
{
|
|
191
|
+
name: "indexName",
|
|
192
|
+
type: "string",
|
|
193
|
+
description: "Name of the index to query",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: "vector",
|
|
197
|
+
type: "number[]",
|
|
198
|
+
description: "Query vector",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "topK",
|
|
202
|
+
type: "number",
|
|
203
|
+
isOptional: true,
|
|
204
|
+
defaultValue: "10",
|
|
205
|
+
description: "Number of results to return",
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
name: "filter",
|
|
209
|
+
type: "Record<string, any>",
|
|
210
|
+
isOptional: true,
|
|
211
|
+
description: "Metadata filters",
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: "includeVector",
|
|
215
|
+
type: "boolean",
|
|
216
|
+
isOptional: true,
|
|
217
|
+
defaultValue: "false",
|
|
218
|
+
description: "Whether to include the vector in the result",
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: "minScore",
|
|
222
|
+
type: "number",
|
|
223
|
+
isOptional: true,
|
|
224
|
+
defaultValue: "0",
|
|
225
|
+
description: "Minimum similarity score threshold",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "options",
|
|
229
|
+
type: "{ ef?: number; probes?: number }",
|
|
230
|
+
isOptional: true,
|
|
231
|
+
description: "Additional options for HNSW and IVF indexes",
|
|
232
|
+
properties: [
|
|
233
|
+
{
|
|
234
|
+
type: "object",
|
|
235
|
+
parameters: [
|
|
236
|
+
{
|
|
237
|
+
name: "ef",
|
|
238
|
+
type: "number",
|
|
239
|
+
description: "HNSW search parameter",
|
|
240
|
+
isOptional: true,
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: "probes",
|
|
244
|
+
type: "number",
|
|
245
|
+
description: "IVF search parameter",
|
|
246
|
+
isOptional: true,
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
]}
|
|
253
|
+
/>
|
|
254
|
+
|
|
255
|
+
### listIndexes()
|
|
256
|
+
|
|
257
|
+
Returns an array of index names as strings.
|
|
258
|
+
|
|
259
|
+
### describeIndex()
|
|
260
|
+
|
|
261
|
+
<PropertiesTable
|
|
262
|
+
content={[
|
|
263
|
+
{
|
|
264
|
+
name: "indexName",
|
|
265
|
+
type: "string",
|
|
266
|
+
description: "Name of the index to describe",
|
|
267
|
+
},
|
|
268
|
+
]}
|
|
269
|
+
/>
|
|
270
|
+
|
|
271
|
+
Returns:
|
|
272
|
+
|
|
273
|
+
```typescript copy
|
|
274
|
+
interface PGIndexStats {
|
|
275
|
+
dimension: number;
|
|
276
|
+
count: number;
|
|
277
|
+
metric: "cosine" | "euclidean" | "dotproduct";
|
|
278
|
+
type: "flat" | "hnsw" | "ivfflat";
|
|
279
|
+
config: {
|
|
280
|
+
m?: number;
|
|
281
|
+
efConstruction?: number;
|
|
282
|
+
lists?: number;
|
|
283
|
+
probes?: number;
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### deleteIndex()
|
|
289
|
+
|
|
290
|
+
<PropertiesTable
|
|
291
|
+
content={[
|
|
292
|
+
{
|
|
293
|
+
name: "indexName",
|
|
294
|
+
type: "string",
|
|
295
|
+
description: "Name of the index to delete",
|
|
296
|
+
},
|
|
297
|
+
]}
|
|
298
|
+
/>
|
|
299
|
+
|
|
300
|
+
### updateIndexById()
|
|
301
|
+
|
|
302
|
+
<PropertiesTable
|
|
303
|
+
content={[
|
|
304
|
+
{
|
|
305
|
+
name: "indexName",
|
|
306
|
+
type: "string",
|
|
307
|
+
description: "Name of the index containing the vector",
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: "id",
|
|
311
|
+
type: "string",
|
|
312
|
+
description: "ID of the vector to update",
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
name: "update",
|
|
316
|
+
type: "object",
|
|
317
|
+
description: "Update parameters",
|
|
318
|
+
properties: [
|
|
319
|
+
{
|
|
320
|
+
type: "object",
|
|
321
|
+
parameters: [
|
|
322
|
+
{
|
|
323
|
+
name: "vector",
|
|
324
|
+
type: "number[]",
|
|
325
|
+
description: "New vector values",
|
|
326
|
+
isOptional: true,
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
name: "metadata",
|
|
330
|
+
type: "Record<string, any>",
|
|
331
|
+
description: "New metadata values",
|
|
332
|
+
isOptional: true,
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
},
|
|
338
|
+
]}
|
|
339
|
+
/>
|
|
340
|
+
|
|
341
|
+
Updates an existing vector by ID. At least one of vector or metadata must be provided.
|
|
342
|
+
|
|
343
|
+
```typescript copy
|
|
344
|
+
// Update just the vector
|
|
345
|
+
await pgVector.updateIndexById("my_vectors", "vector123", {
|
|
346
|
+
vector: [0.1, 0.2, 0.3],
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
// Update just the metadata
|
|
350
|
+
await pgVector.updateIndexById("my_vectors", "vector123", {
|
|
351
|
+
metadata: { label: "updated" },
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
// Update both vector and metadata
|
|
355
|
+
await pgVector.updateIndexById("my_vectors", "vector123", {
|
|
356
|
+
vector: [0.1, 0.2, 0.3],
|
|
357
|
+
metadata: { label: "updated" },
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### deleteIndexById()
|
|
362
|
+
|
|
363
|
+
<PropertiesTable
|
|
364
|
+
content={[
|
|
365
|
+
{
|
|
366
|
+
name: "indexName",
|
|
367
|
+
type: "string",
|
|
368
|
+
description: "Name of the index containing the vector",
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
name: "id",
|
|
372
|
+
type: "string",
|
|
373
|
+
description: "ID of the vector to delete",
|
|
374
|
+
},
|
|
375
|
+
]}
|
|
376
|
+
/>
|
|
377
|
+
|
|
378
|
+
Deletes a single vector by ID from the specified index.
|
|
379
|
+
|
|
380
|
+
```typescript copy
|
|
381
|
+
await pgVector.deleteIndexById("my_vectors", "vector123");
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### disconnect()
|
|
385
|
+
|
|
386
|
+
Closes the database connection pool. Should be called when done using the store.
|
|
387
|
+
|
|
388
|
+
### buildIndex()
|
|
389
|
+
|
|
390
|
+
<PropertiesTable
|
|
391
|
+
content={[
|
|
392
|
+
{
|
|
393
|
+
name: "indexName",
|
|
394
|
+
type: "string",
|
|
395
|
+
description: "Name of the index to define",
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
name: "metric",
|
|
399
|
+
type: "'cosine' | 'euclidean' | 'dotproduct'",
|
|
400
|
+
isOptional: true,
|
|
401
|
+
defaultValue: "cosine",
|
|
402
|
+
description: "Distance metric for similarity search",
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
name: "indexConfig",
|
|
406
|
+
type: "IndexConfig",
|
|
407
|
+
description: "Configuration for the index type and parameters",
|
|
408
|
+
},
|
|
409
|
+
]}
|
|
410
|
+
/>
|
|
411
|
+
|
|
412
|
+
Builds or rebuilds an index with specified metric and configuration. Will drop any existing index before creating the new one.
|
|
413
|
+
|
|
414
|
+
```typescript copy
|
|
415
|
+
// Define HNSW index
|
|
416
|
+
await pgVector.buildIndex("my_vectors", "cosine", {
|
|
417
|
+
type: "hnsw",
|
|
418
|
+
hnsw: {
|
|
419
|
+
m: 8,
|
|
420
|
+
efConstruction: 32,
|
|
421
|
+
},
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
// Define IVF index
|
|
425
|
+
await pgVector.buildIndex("my_vectors", "cosine", {
|
|
426
|
+
type: "ivfflat",
|
|
427
|
+
ivf: {
|
|
428
|
+
lists: 100,
|
|
429
|
+
},
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
// Define flat index
|
|
433
|
+
await pgVector.buildIndex("my_vectors", "cosine", {
|
|
434
|
+
type: "flat",
|
|
435
|
+
});
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
## Response Types
|
|
439
|
+
|
|
440
|
+
Query results are returned in this format:
|
|
441
|
+
|
|
442
|
+
```typescript copy
|
|
443
|
+
interface QueryResult {
|
|
444
|
+
id: string;
|
|
445
|
+
score: number;
|
|
446
|
+
metadata: Record<string, any>;
|
|
447
|
+
vector?: number[]; // Only included if includeVector is true
|
|
448
|
+
}
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Error Handling
|
|
452
|
+
|
|
453
|
+
The store throws typed errors that can be caught:
|
|
454
|
+
|
|
455
|
+
```typescript copy
|
|
456
|
+
try {
|
|
457
|
+
await store.query({
|
|
458
|
+
indexName: "index_name",
|
|
459
|
+
queryVector: queryVector,
|
|
460
|
+
});
|
|
461
|
+
} catch (error) {
|
|
462
|
+
if (error instanceof VectorStoreError) {
|
|
463
|
+
console.log(error.code); // 'connection_failed' | 'invalid_dimension' | etc
|
|
464
|
+
console.log(error.details); // Additional error context
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
## Best Practices
|
|
470
|
+
|
|
471
|
+
- Regularly evaluate your index configuration to ensure optimal performance.
|
|
472
|
+
- Adjust parameters like `lists` and `m` based on dataset size and query requirements.
|
|
473
|
+
- Rebuild indexes periodically to maintain efficiency, especially after significant data changes.
|
|
474
|
+
|
|
475
|
+
## Related
|
|
476
|
+
|
|
477
|
+
- [Metadata Filters](./metadata-filters)
|