模型上下文协议工具

nemori_mcp是一个基于FastMCP的工具服务器,通过Model Context Protocol (MCP)将Nemori库的强大长期记忆功能暴露给大型语言模型(LLMs),支持持久化记忆存储和灵活的记忆检索功能。

  • by Arjata
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Arjata/nemori_mcp

使用说明

nemori_mcp(该词可能是特定用户名或代码,无直接中文翻译,保持原样)

一个简单的 M“odel” 可以翻译为“模型”(在计算机科学或相关领域中,常指数学模型、计算机模型等)。不过,具体翻译可能还需根据上下文来确定 Context(此处若作为独立词汇无直接对应中文翻译,但根据上下文可能指“上下文”或类似含义,若作为特定术语或品牌名则需具体情境确定) PNemori内存服务的MCP(内存控制协议)实现。

nemori_mcp 是一个专用的工具服务器,利用 FastMCP 展现其强大的长期记忆能力 Nemori(ネモリ) 作为大型语言模型(LLMs)易于使用的工具库。

你可以从(某处)找到OpenAPI演示视频 这个。

“Nemori”在中文中并没有一个直接对应的、广泛认知的翻译,因为它可能是一个特定文化、领域或语境下的专有名词或概念。不过,如果我们尝试根据其可能的含义或发音来推测,可以将其翻译为“余韵”或“残响”,但这仅是一种基于语境的猜测性翻译。在实际应用中,需要根据具体的上下文和语境来确定最准确的翻译 仓库: https://github.com/nemori-ai/nemori(该网址翻译为中文表述仍为原网址形式,因为网址本身是国际通用的,无需翻译)

多亏了 “nemori-ai”可以翻译为“遗留之爱”或“记忆中的爱恋”,具体翻译可能根据上下文和语境有所调整。这个词汇结合了“nemori”(可能指遗留、记忆或痕迹)和“ai”(爱)两个元素,表达了一种深藏于心或记忆中的爱意。 为他们的工作点赞!/ 为团队的工作鼓掌!

✨ 特点

  • 持久内存: 利用Nemori的记忆系统,同时支持短期(情景)记忆和长期(语义)记忆。
  • MCP集成: 轻松通过(某种方式)融入大型语言模型(LLM)生态系统 模型上下文协议(MCP)。
  • 记忆检索: 提供灵活的内存搜索功能,支持多种方法(例如。, hybrid, vector, bm25)。

🛠️ 先决条件

  • Python 3.9或更高版本
  • 制作;使;造成;成为

🚀 快速入门

这个仓库包含一个 Makefile 以简化设置、依赖项安装和服务器管理。

1. 安装

这一步创建了一个Python虚拟环境(.__env),安装必要的依赖项(requirements.txt),并下载所需的spaCy语言模型(en_core_web_sm 和 zh_core_web_sm)。

make install_deps

2. 运行服务

1. 复制 .env.example 到 .env。

2. 设置OPENAI_BASE_URL、OPENAI_API_KEY等。

运行MCP服务器

bash ./scripts/start_mcp.bash

跑 OpenApi服务器 (用于Open WebUI集成)

如果你需要通过Open WebUI进行连接。

make start_openapi

将工具服务器URL设置为 http://<ip>:8877。

如果你需要监听不同的端口(例如,8878):

make start_openapi PORT=8878

⚙️ 暴露的工具

内存服务为代理提供了两项核心功能:

add_user_messages

将新的对话消息添加到持久内存中。这对于……至关重要 录音 上下文。

| 参数 | 类型 | 描述 | | 分隔符 | 分隔符 | 分隔符 | | messages | List[Message] | 一系列对话回合的列表,其中 Message 是 {"role": str, "content": str}。| | 退货 | Dict | 操作状态。 | | 注 这个工具是异步的,并且会自动等待Nemori的语义处理,以确保新添加的上下文能够立即被搜索到。 |

search_user_memory

根据查询,从专用用户记忆中检索相关的上下文信息或语义背景。

参数 类型 描述
query str 要搜索的查询字符串或问题。
search_method str 用于检索的方法。默认为 vector。
回报 List[Dict[str, Any]] 一个结合了情景记忆和语义记忆搜索结果的扁平化列表,按相关性排序。

可用的搜索方法

这个(或“该”) search_method 参数接受以下值(不区分大小写):

  • vector (默认)
  • hybrid (建议用于通用搜索)
  • bm25
  • vector_norlift

🧹 清理操作

要清除所有持久化数据(内存文件和底层Chroma数据库),请使用 clean_memory 命令:

make clean_memory

这将会删除 ./memories 并且 ./chroma_db 目录。