语义记忆存储检索系统

一个基于PostgreSQL和pgvector的语义记忆存储与检索系统,支持自然语言指令操作,适用于AI助手的记忆管理。

  • by gregpriday
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 gregpriday/memory-mcp-legacy

使用说明

内存MCP服务器

一种模型上下文协议(MCP)服务器,使用PostgreSQL和pgvector进行向量相似性搜索,提供语义记忆存储和检索。这是一个 代理记忆系统 其中LLM通过自然语言指令编排内存操作。

概述

Memory MCP服务器使AI助手能够存储、搜索和管理具有语义理解的持久记忆。与需要结构化查询的传统数据库不同,该系统接受自然语言指令,并使用LLM代理将其转换为内存操作。

主要特点

  • 代理架构:LLM使用GPT-4/5和内部工具协调内存操作
  • 语义搜索:PostgreSQL+pgvector用于混合搜索的快速相似性查询(向量+关键字)
  • 动态优先级:记忆的优先级分数会随着时间的推移而衰减,并随着访问而增强
  • 多项目隔离:每个项目都有自己独立的PostgreSQL数据库
  • 元数据:自动提取主题、标签和语义记忆类型
  • 内存生命周期:通过优化操作实现自动整合、重复数据删除和清理
  • 多指标组织:将记忆组织到逻辑命名空间中(个人、工作、研究等)

快速开始

让内存MCP服务器在5分钟内运行:

# 1. Clone and install dependencies
git clone <repository-url>
cd memory-mcp
npm install

# 2. Set up PostgreSQL database (automated)
./scripts/setup-postgres.sh

# 3. Configure environment
cp .env.example .env
# Edit .env and set your OPENAI_API_KEY

# 4. Start the server
npm run dev

服务器将通过STDIO启动并监听MCP工具调用。看 配置 详细设置和 用法 了解如何调用MCP工具。

建筑

内存MCP服务器使用分层架构:

┌─────────────────────────────────────────────────────────────────┐
│  MCP Layer (MemoryServer.ts)                                    │
│  • MCP tools: memorize, recall, forget, refine_memories,        │
│    create_index, list_indexes, scan_memories                    │
│  • STDIO transport for Claude Desktop integration               │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Controller Layer (MemoryController.ts)                         │
│  • Security boundaries (ProjectFileLoader, IndexResolver)       │
│  • Index access validation                                      │
│  • Routes tool calls to agent modes                             │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Agent Layer (MemoryAgent.ts)                                   │
│  • LLM orchestration (GPT-4/5) with mode-specific prompts       │
│  • Tool Runtime: search_memories, get_memories,                 │
│    upsert_memories, delete_memories, read_file,                 │
│    analyze_text, list_relationships                             │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│  Repository Layer (MemoryRepositoryPostgres.ts)                 │
│  • PostgreSQL + pgvector data access                            │
│  • Embedding generation, semantic search                        │
│  • Access tracking, relationship management                     │
│  • Connection pooling per project (PoolManager.ts)              │
└─────────────────────────────────────────────────────────────────┘

支撑组件

  • 快速经理:将基础+特定模式+主机/项目上下文组合到系统消息中
  • 索引解析器:验证索引名称并提供默认索引逻辑
  • 项目文件加载器:从具有大小限制的项目目录安全加载文件
  • 优先级计算器:确定性优先级公式(最近度×0.4+重要性×0.4+使用率×0.2)

先决条件

  • PostgreSQL 14+ -支持向量扩展的数据库服务器
  • pg向量 -PostgreSQL向量相似性搜索扩展
  • Node.js 18+ -运行时环境
  • OpenAI API密钥 -用于生成嵌入和LLM编排

安装

自动设置(推荐)

运行安装脚本以自动创建数据库,启用pgvector,并运行迁移:

./scripts/setup-postgres.sh

脚本将:

  • 检查PostgreSQL是否已安装并正在运行
  • 创建 memory_default 数据库
  • 启用pgvector扩展
  • 运行架构迁移
  • 验证设置

手动设置

如果您更喜欢手动设置,请按照以下步骤操作:

1.使用pgvector安装PostgreSQL

macOS(自制)

# Install PostgreSQL 14 or later
brew install postgresql@16

# Start PostgreSQL service
brew services start postgresql@16

# Install pgvector
brew install pgvector

Linux(Ubuntu/Debian)

# Install PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib

# Install build tools for pgvector
sudo apt install build-essential postgresql-server-dev-all

# Install pgvector from source
git clone https://github.com/pgvector/pgvector.git
cd pgvector
make
sudo make install

码头工人

# Use the official pgvector image
docker run -d \
  --name postgres-memory \
  -e POSTGRES_DB=memory_default \
  -e POSTGRES_PASSWORD=postgres \
  -p 5432:5432 \
  ankane/pgvector:latest

# Enable pgvector extension
docker exec -it postgres-memory psql -U postgres -d memory_default -c "CREATE EXTENSION IF NOT EXISTS vector;"

# Run migrations
docker exec -i postgres-memory psql -U postgres -d memory_default < migrations/20250117000001_init_postgres_schema.sql

2.创建数据库

# Create the memory_default database
createdb memory_default

# Or using psql
psql -U postgres -c "CREATE DATABASE memory_default;"

3.启用pgvector扩展

# Connect to the database and enable the extension
psql -d memory_default -c "CREATE EXTENSION IF NOT EXISTS vector;"

4.运行迁移

# Run the schema migration
psql -d memory_default -f migrations/20250117000001_init_postgres_schema.sql

# Optional: Load test data for quick testing
psql -d memory_default -f migrations/seeds/01_test_data.sql

5.验证安装

运行以下命令以验证您的设置:

# Verify memory_default database exists
psql -U postgres -c "SELECT datname FROM pg_database WHERE datname = 'memory_default';"

# Check PostgreSQL version
psql -d memory_default -c "SELECT version();"

# Verify pgvector extension is enabled
psql -d memory_default -c "SELECT * FROM pg_extension WHERE extname = 'vector';"

# Check that tables were created
psql -d memory_default -c "\dt"

预期输出应显示:

  • 数据库 memory_default 存在
  • PostgreSQL版本14+
  • 扩展列表中的pgvector扩展
  • 桌子: memories, memory_indexes, memory_relationships, memory_usage_log

配置

1.环境变量

复制示例环境文件并配置您的设置:

# Copy the example file
cp .env.example .env

# Edit .env and set your configuration

所需的环境变量:

# Postgres project configuration
MEMORY_POSTGRES_PROJECT_REGISTRY=./config/projects.json
MEMORY_ACTIVE_PROJECT=local

# OpenAI API key for embeddings and LLM orchestration
OPENAI_API_KEY=sk-your-api-key-here

# Embedding model (determines vector dimensions)
MEMORY_EMBEDDING_MODEL=text-embedding-3-small

可选配置:

# Embedding dimensions (auto-detected from model, manual override available)
MEMORY_EMBEDDING_DIMENSIONS=1536

# Host/system context (inline text or file path)
MEMORY_MCP_SYSTEM_MESSAGE=./config/memory-host-context.txt

# Debug flags
MEMORY_DEBUG_MODE=true
MEMORY_DEBUG_OPERATIONS=true
MEMORY_DEBUG_VALIDATION=true
MEMORY_DEBUG_ACCESS_TRACKING=true
MEMORY_DEBUG_REPOSITORY=true

# Observability and logging
MEMORY_LOG_LEVEL=info          # Log level: debug, info, warn, error (default: info)
MEMORY_LOG_FORMAT=pretty       # Log format: json, pretty (default: pretty)
MEMORY_DB_SLOW_QUERY_MS=200   # Slow query threshold in milliseconds (default: 200)

# Refinement tuning
MEMORY_REFINE_DEFAULT_BUDGET=100
MEMORY_REFINE_ALLOW_DELETE=false
MEMORY_ACCESS_TRACKING_ENABLED=true
MEMORY_ACCESS_TRACKING_TOP_N=3
MEMORY_ACCESS_PRIORITY_BOOST=0.01

# Query enhancement
MEMORY_QUERY_EXPANSION_ENABLED=true
MEMORY_QUERY_EXPANSION_COUNT=2

# File ingestion limits
MEMORY_LARGE_FILE_THRESHOLD_BYTES=262144
MEMORY_CHUNK_CHAR_LENGTH=16000
MEMORY_CHUNK_CHAR_OVERLAP=2000
MEMORY_MAX_CHUNKS_PER_FILE=24
MEMORY_MAX_MEMORIES_PER_FILE=50

2.项目登记处

服务器使用 config/projects.json 将项目ID映射到数据库URL:

{
  "local": {
    "databaseUrl": "postgresql://postgres:postgres@localhost:5432/memory_default"
  }
}

通过以下方式选择活动项目 MEMORY_ACTIVE_PROJECT 环境变量。每个项目都有自己独立的PostgreSQL数据库。

多项目设置示例:

{
  "local": {
    "databaseUrl": "postgresql://postgres:postgres@localhost:5432/memory_default"
  },
  "production": {
    "databaseUrl": "postgresql://user:pass@prod-host:5432/memory_prod"
  },
  "staging": {
    "databaseUrl": "postgresql://user:pass@staging-host:5432/memory_staging"
  }
}

3.嵌入模型

支持的型号(通过配置 MEMORY_EMBEDDING_MODEL):

  • text-embedding-3-small -1536个尺寸(默认,推荐)
  • text-embedding-3-large -3072尺寸(更高质量,更高成本)

⚠️ 重要:嵌入模型维度必须与数据库架构匹配。默认迁移使用 vector(1536) 为了 text-embedding-3-small。如果更改嵌入模型,则必须更新 embedding 迁移中的列类型以匹配新维度。

4.主持人和项目背景(可选)

提示系统支持可选的上下文注入:

主机上下文 (MEMORY_MCP_SYSTEM_MESSAGE):

  • 告诉内存服务器在整个系统中扮演什么角色
  • 指导应存储或避免哪些类型的信息
  • 可以是内联文本或文件路径(例如。, ./config/memory-host-context.txt)

项目背景 (projectSystemMessagePath 在工具调用中):

  • 特定项目或用例的按请求上下文
  • 作为参数传递给各个工具调用
  • 可用于在每次操作的基础上对行为进行偏置

看 prompts/README.md 了解可组合提示系统的详细信息。

发展

再进行

npm install

运行开发服务器

npm run dev

这将以热重新加载(使用 tsx).

为生产而建

npm run build
npm start

这 build 命令将TypeScript编译为 dist/,以及 start 运行编译后的服务器。

代码质量

# Check linting
npm run lint

# Auto-fix linting issues
npm run lint:fix

# Format code with Prettier
npm run format

# Check if code is formatted
npm run format:check

永远奔跑 npm run format 或 npm run lint:fix 在承诺之前 以保持代码的一致性。

用法

内存MCP服务器通过模型上下文协议公开工具。这些工具通常从Claude Desktop或其他MCP兼容客户端调用。

MCP工具的工作原理

MCP工具通过与MCP兼容的客户端(如Claude Desktop)调用。当你与克劳德互动时,你可以在对话中自然地引用记忆,克劳德会自动使用这些工具。这些工具也可以通过MCP协议使用JSON有效载荷以编程方式调用,如下例所示。

Claude Desktop中的会话用法示例:

  • “记住,我更喜欢黑暗模式”→ uses memorize 工具
  • “我的通知偏好是什么?”→ uses recall 工具
  • “忘记我的旧电子邮件地址”→ uses forget 工具

工具: memorize

目的:从自由格式的文本或文件中捕获持久的记忆。代理提取原子事实,用元数据(主题、标签、memoryType)丰富它们,并将它们存储在PostgreSQL+pgvector中。

参数:

  • input (必填):描述记忆内容的自然语言教学
  • files (可选):与指令一起摄取的相对文件路径数组
  • index (可选):索引名称(默认为 MEMORY_DEFAULT_INDEX)
  • projectSystemMessagePath (可选):项目特定系统消息的相对路径
  • metadata (可选):应用于提取的内存的其他元数据

示例:

{
  "input": "Remember that the user prefers dark mode and wants notifications disabled after 9 PM",
  "metadata": {
    "category": "user_preferences"
  }
}

具有文件摄取功能:

{
  "input": "Memorize the key design decisions from this architecture document",
  "files": ["docs/architecture.md"],
  "index": "project_knowledge"
}

行为:

  • 将复杂信息分解为原子级、可搜索的内存
  • 自动提取主题、标签,并对记忆类型(自我、信念、模式、情节、语义)进行分类
  • 对于大文件,使用分块和GPT-4-mini进行快速预处理 analyze_text 工具
  • 返回使用ID和元数据创建的内存摘要

工具: recall

目的:搜索存储的记忆,并可选择合成答案。支持元数据过滤器、返回原始内存和优先级感知合成。

参数:

  • query (必填):要搜索的自然语言问题或主题
  • index (可选):索引名称覆盖
  • limit (可选):要返回的最大内存数(默认值:10)
  • filters (可选):结构化元数据过滤器(键与存储的元数据匹配)
  • filterExpression (可选):使用过滤器DSL的高级过滤器表达式
  • projectSystemMessagePath (可选):项目特定的系统消息路径
  • responseMode (可选): "answer" (合成), "memories" (未加工),或 "both" (默认值: "answer")

示例-综合答案:

{
  "query": "What are the user's notification preferences?",
  "responseMode": "answer"
}

示例-带过滤器的原始内存:

{
  "query": "design decisions",
  "filters": {
    "category": "architecture"
  },
  "responseMode": "memories",
  "limit": 20
}

示例-高级筛选器表达式:

{
  "query": "recent work tasks",
  "filterExpression": "@metadata.tags contains \"work\" AND @metadata.priority > 0.7",
  "responseMode": "both"
}

行为:

  • 使用语义搜索(pgvector)+关键字搜索进行混合检索
  • 优先级感知合成优先于高显著性记忆
  • 自动访问跟踪更新内存优先级和访问计数
  • 返回带有元数据的合成答案和/或原始内存记录

工具: forget

目的:使用LLM代理计划删除。支持模拟运行、元数据范围的删除和显式ID删除。

参数:

  • input (必填):描述忘记什么的说明
  • index (可选):索引覆盖
  • filters (可选):用于缩小删除候选范围的元数据筛选器
  • projectSystemMessagePath (可选):用于上下文化删除的系统消息路径
  • dryRun (可选):默认值 true;当 false 代理执行已批准的删除操作
  • explicitMemoryIds (可选):要立即删除的特定内存ID数组

示例-干运行(默认):

{
  "input": "Forget all memories about the old API design that was replaced in December",
  "dryRun": true
}

示例-使用筛选器执行删除:

{
  "input": "Delete all low-priority temporary notes",
  "filters": {
    "memoryType": "episodic",
    "category": "temp"
  },
  "dryRun": false
}

示例-删除特定ID:

{
  "input": "Remove these obsolete memories",
  "explicitMemoryIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "dryRun": false
}

行为:

  • 具有干运行保护的保守删除(默认)
  • Agent搜索匹配的记忆并解释将删除的内容
  • 根据安全规则进行验证(例如,不能删除系统内存)
  • 当 dryRun=false,执行已批准的删除操作
  • 返回已删除内存的列表及其基本原理

工具: refine_memories

目的:通过整合、重复数据删除、重新排序和清理来管理存储的内存。代理分析内存并生成结构化的优化计划。

参数:

  • index (可选):索引覆盖
  • operation (可选):细化模式- "consolidation", "decay", "cleanup",或 "reflection"
  • scope (可选):控制考虑哪些记忆
    • query:查找候选人的语义查询
    • filters:元数据筛选器
    • seedIds:从特定内存ID数组开始
    • maxCandidates:要分析的最大内存
  • budget (可选):要执行的最大操作数(默认从 MEMORY_REFINE_DEFAULT_BUDGET)
  • dryRun (可选):仅计划模式 true (默认)
  • projectSystemMessagePath (可选):项目特定上下文

示例-合并:

{
  "operation": "consolidation",
  "scope": {
    "query": "user preferences",
    "maxCandidates": 50
  },
  "dryRun": true
}

示例-衰减(重新确定优先级):

{
  "operation": "decay",
  "budget": 100,
  "dryRun": false
}

示例-使用过滤器进行清理:

{
  "operation": "cleanup",
  "scope": {
    "filters": {
      "memoryType": "episodic"
    }
  },
  "dryRun": true
}

操作模式:

  • 整合:合并重复项、创建摘要、检测矛盾、链接相关记忆
  • 衰变:使用基于最近度、使用情况和重要性的确定性优先级公式对记忆进行重新排序
  • 清理:将删除候选项(低优先级、已取代、过时)确定为模拟建议
  • 反思:从相关记忆中生成高级摘要和模式

动作类型:

  • UPDATE:重新排序或添加记忆之间的关系
  • MERGE:整合重复或冗余的内存
  • CREATE:从多个相关记忆中生成摘要记忆
  • DELETE:删除过时或低优先级的内存(建议仅在模拟运行中使用)

行为:

  • Agent使用GPT-4/5进行复杂模式分析和规划
  • 生成具有基本原理的结构化细化操作
  • 根据安全规则验证操作(例如,不能删除系统内存)
  • 返回包含行动和预期结果的改进计划
  • 当 dryRun=false,执行批准的操作

工具: create_index

目的:为活动项目创建或确保存在PostgreSQL支持的内存索引。

参数:

  • name (必填):新索引名称
  • description (可选):与索引记录一起存储的人物描述

示例:

{
  "name": "work_notes",
  "description": "Professional work-related notes and decisions"
}

行为:

  • 如果不存在,则创建新索引
  • 如果索引已存在,则返回现有索引信息
  • 索引以行的形式存储在 memory_indexes 桌子
  • 每个项目可以有多个逻辑组织索引

工具: list_indexes

目的:列出所有PostgreSQL内存索引和文档计数,以便代理可以选择目标。

参数:无

示例:

{}

退货:

{
  "indexes": [
    {
      "name": "personal",
      "documentCount": 142,
      "pendingDocumentCount": 0,
      "project": "local"
    },
    {
      "name": "work_notes",
      "documentCount": 87,
      "pendingDocumentCount": 0,
      "project": "local"
    }
  ],
  "totalMemories": 229,
  "totalDiskBytes": 1048576
}

行为:

  • 返回活动项目的所有索引
  • 包括每个索引的文档计数(PostgreSQL后端的pendingDocumentCount始终为0)
  • 提供聚合统计信息(totalMemories、totalDiskBytes)
  • 帮助代理人为新记忆选择合适的索引
  • 有助于理解记忆组织

工具: scan_memories

目的:运行直接PostgreSQL搜索,无需LLM编排。返回用于调试和检查的原始结果和诊断。

参数:

  • query (必填):搜索查询文本
  • index (可选):索引覆盖
  • limit (可选):最大结果(默认10,最大1000)
  • filters (可选):结构化元数据过滤器
  • filterExpression (可选):高级筛选表达式字符串
  • semanticWeight (可选):语义与关键字权重(0-1)
  • reranking (可选):启用重新银行(默认为true)
  • includeMetadata (可选):包括元数据有效载荷(默认为true)

示例:

{
  "query": "user preferences",
  "limit": 20,
  "semanticWeight": 0.7,
  "includeMetadata": true
}

行为:

  • 绕过LLM代理直接查询PostgreSQL
  • 可用于调试搜索质量和检查原始嵌入
  • 返回具有相似性得分的原始搜索结果
  • 包括有关查询执行的诊断
  • 通常不用于正常操作(使用 recall 代替LLM合成答案)

故障排除

未找到pgvector扩展名

错误: ERROR: extension "vector" is not available

解决方案:

# Verify pgvector is installed
pg_config --sharedir
# Check if vector.control exists in <sharedir>/extension/

# Reinstall if needed (macOS)
brew reinstall pgvector

# Reinstall if needed (Linux)
cd pgvector && sudo make install

无法连接到数据库

错误: Error: connect ECONNREFUSED 或 FATAL: password authentication failed

解决方案:

# Check PostgreSQL is running
psql -U postgres -l

# Verify connection string in config/projects.json
# Check username, password, host, and port match your PostgreSQL setup

# Test connection manually
psql "postgresql://postgres:postgres@localhost:5432/memory_default"

CREATE EXTENSION的权限被拒绝

错误: ERROR: permission denied to create extension "vector"

解决方案:

# Connect as superuser (usually postgres)
psql -U postgres -d memory_default -c "CREATE EXTENSION vector;"

嵌入尺寸不匹配

错误: Error: Embedding dimension mismatch

原因:嵌入模型维度与数据库架构不匹配。

解决方案:

  1. 检查您配置的模型维度:

    • text-embedding-3-small:1536个维度
    • text-embedding-3-large:3072个尺寸
  2. 更新迁移以匹配:

-- For text-embedding-3-small (default)
embedding vector(1536)

-- For text-embedding-3-large
embedding vector(3072)
  1. 更新维度后重新运行迁移。

缺少OPENAI_API_KEY

错误: Error: OPENAI_API_KEY is required.

解决方案:

# Add your OpenAI API key to .env
echo "OPENAI_API_KEY=sk-your-api-key-here" >> .env

无效的MEMORY_ACTIVE_PROJECT

错误: Error: No active project configured

解决方案:

  1. 验证 MEMORY_ACTIVE_PROJECT 在 .env 匹配密钥 config/projects.json
  2. 确保 config/projects.json 存在并且是有效的JSON
  3. 检查项目的 databaseUrl 可访问的

未找到内存索引

错误: Error: Index not found

解决方案:

  1. 列出可用索引:调用 list_indexes 工具
  2. 创建索引:调用 create_index 具有所需名称的工具
  3. 检查 MEMORY_DEFAULT_INDEX 环境变量与现有索引匹配

服务器无法启动-关系“memories”不存在

错误: ERROR: relation "memories" does not exist 或 ERROR: relation "memory_indexes" does not exist

原因:数据库迁移尚未运行。

解决方案:

# Run the schema migration
psql -d memory_default -f migrations/20250117000001_init_postgres_schema.sql

# Verify tables were created
psql -d memory_default -c "\dt"

服务器无法启动-缺少依赖项

错误: Cannot find module '@modelcontextprotocol/sdk' 或类似的导入错误

解决方案:

# Install all dependencies
npm install

# Verify installation
npm list @modelcontextprotocol/sdk

Claude Desktop无法连接到MCP服务器

错误: Cannot connect to server on stdio 或MCP服务器没有响应

解决方案:

  1. 验证Claude Desktop配置中的MCP服务器路径是否正确
  2. 检查服务器是否成功启动: npm run dev (应显示无错误)
  3. 验证您的Claude Desktop MCP配置(通常在 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["/absolute/path/to/memory-mcp/dist/index.js"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "MEMORY_ACTIVE_PROJECT": "local"
      }
    }
  }
}
  1. 为了开发,使用 npm run build 编译TypeScript,然后指向 dist/index.js
  2. 查看Claude Desktop日志以获取更详细的错误消息

开发服务器错误

错误:期间出现各种TypeScript或运行时错误 npm run dev

解决方案:

# Clear any caches and reinstall
rm -rf node_modules package-lock.json
npm install

# Run linting and formatting
npm run lint:fix
npm run format

# Check TypeScript compilation
npm run build

云部署

霓虹

霓虹 为无服务器PostgreSQL提供pgvector支持:

  1. 在以下位置创建新项目 console.neon.tech
  2. 在SQL编辑器中启用pgvector:
    CREATE EXTENSION IF NOT EXISTS vector;
    
  3. 运行架构迁移:
    -- Copy contents of migrations/20250117000001_init_postgres_schema.sql
    
  4. 将连接字符串复制到 config/projects.json:
    {
      "production": {
        "databaseUrl": "postgresql://user:password@ep-cool-darkness-123456.us-east-2.aws.neon.tech/neondb?sslmode=require"
      }
    }
    

Supabase

Supabase 默认情况下包含pgvector:

  1. 在以下位置创建新项目 掌声。
  2. 转到SQL编辑器并运行:
    CREATE EXTENSION IF NOT EXISTS vector;
    
  3. 在SQL编辑器中运行架构迁移
  4. 从“项目设置”复制连接字符串→ 数据库:
    {
      "production": {
        "databaseUrl": "postgresql://postgres:your-password@db.xxxxxxxxxxxx.supabase.co:5432/postgres"
      }
    }
    

其他PostgreSQL提供商

任何支持pgvector的PostgreSQL 14+提供程序都可以工作:

  • AWS RDS for PostgreSQL(带pgvector扩展)
  • PostgreSQL的谷歌云SQL
  • PostgreSQL的Azure数据库
  • DigitalOcean管理数据库
  • 自托管PostgreSQL实例

附加文档

许可证

私人-仅供内部使用