Aleph-10:矢量内存MCP服务器
Aleph-10是一个模型上下文协议(MCP)服务器,它将天气数据服务与基于向量的内存存储相结合。该项目提供了通过向量嵌入检索天气信息和管理语义记忆的工具。
特性
- 天气信息:使用美国国家气象局API获取天气警报和预报
- 矢量存储器:使用语义搜索存储和检索信息
- 多种嵌入选项:支持基于云的(Google Gemini)和本地(Ollama)嵌入提供商
- 元数据支持:添加元数据并按元数据过滤,以实现高效的内存管理
入门指南
先决条件
- Node.js 18.x或更高版本
- pnpm包管理器
安装
- 克隆存储库
git clone https://github.com/yourusername/aleph-10.git
cd aleph-10- 安装依赖项
pnpm install- 配置环境变量(创建
.env项目根目录中的文件)
EMBEDDING_PROVIDER=gemini
GEMINI_API_KEY=your_gemini_api_key
VECTOR_DB_PATH=./data/vector_db
LOG_LEVEL=info- 构建项目
pnpm build- 运行服务器
node build/index.js用法
服务器实现了模型上下文协议,并提供了以下工具:
天气工具
- 获取警报:获取美国特定州的天气警报
- 参数: state (两个字母的州代码)
- 获取预报:获取某个地点的天气预报
- 参数: latitude 和 longitude
内存工具
- 存储器:将信息存储在矢量数据库中
- 参数: text (要存储的内容), metadata (可选关联数据)
- 内存检索:查找语义相似的信息
- 参数: query (搜索文本), limit (最大结果), filters (元数据过滤器)
- 内存更新:更新现有内存条目
- 参数: id (存储器ID), text (新内容), metadata (更新的元数据)
- 内存删除:从数据库中删除条目
- 参数: id (要删除的内存ID)
- 内存统计信息:获取有关内存存储的统计信息
- 参数:无
配置
可以配置以下环境变量:
| 变量 | 描述 | 默认值 |
|---|---|---|
EMBEDDING_PROVIDER | 矢量嵌入提供程序(gemini 或 ollama) | gemini |
GEMINI_API_KEY | Google Gemini的API密钥 | - |
OLLAMA_BASE_URL | Ollama API的基本URL | http://localhost:11434 |
VECTOR_DB_PATH | 矢量数据库的存储位置 | ./data/vector_db |
LOG_LEVEL | 记录冗长 | info |
发展
项目结构
该项目采用模块化结构:
aleph-10/
├── src/ # Source code
│ ├── index.ts # Main application entry point
│ ├── weather/ # Weather service module
│ ├── memory/ # Memory management module
│ ├── utils/ # Shared utilities
│ └── types/ # TypeScript type definitions
├── tests/ # Test files
└── vitest.config.ts # Vitest configuration运行测试
该项目使用Vitest进行测试。使用以下工具运行测试:
# Run tests once
pnpm test
# Run tests in watch mode during development
pnpm test:watch
# Run tests with UI (optional)
pnpm test:ui建筑
pnpm build许可证
该项目根据ISC许可证获得许可。
致谢
- 模型上下文协议
- 美国国家气象局API
- 速度 -下一代测试框架
