基于图谱的记忆存储 - mem0 graph memory + neo4j

news/2024/9/18 20:58:58/ 标签: neo4j

 log 日志

【LLM最强大脑】基于图谱的记忆存储 - mem0 graph memory + neo4j_哔哩哔哩_bilibili

获取API Key 

 谷歌邮箱注册,需科学上网,你知道的┗|`O′|┛ 嗷~~

获取 mem0ai key

Dashboard | Mem0.ai

 获取 neo4j key

 Neo4j Graph Database & Analytics | Graph Database Management System

本地linux server 版 搭建 

1.1 clone  mem0 代码

进入 github.com  mem0ai  克隆源代码

mem0ai/mem0: The Memory layer for your AI apps (github.com)

打开MobaXterm 进入 10.100.4.14                  终端 

git clone https://github.com/mem0ai/mem0.gitll #列下目录 

1.2 linux server 安装 Neo4j

 如何在 Ubuntu Server 22.04 上安装 Neo4j 图形数据库 (techrepublic.com)

https://www.techrepublic.com/article/how-to-install-neo4j-ubuntu-server/

 跟着文档走,最后将 ip 改为 自己的 

 图形内存 - Mem0.ai

https://docs.mem0.ai/open-source/graph-memory

进入ollama.py - mem0 - code-server 切到mem0目录下。

ollama.py - mem0 - code-server

初始化图形内存

要初始化 Graph Memory,您需要使用图形存储提供程序设置配置。 目前,我们支持将 Neo4j 作为图形存储提供商。您可以在本地设置 Neo4j 或使用托管的 Neo4j AuraDB。 此外,您还需要将版本设置为 (不支持以前的版本)。 您可以这样做:v1.1

创建 test_neo4j.py 文件 粘贴一下代码。 

from mem0 import Memoryconfig = {"graph_store": {"provider": "neo4j","config": {"url": "neo4j+s://xxx","username": "neo4j","password": "xxx"}},"version": "v1.1"
}m = Memory.from_config(config_dict=config)

 运行报错。

pip install mem0ai

修改ollama.py 

添加环境变量 export open_  =

修改底层文件open  key  base_url

又改了回啦

在 run test_neo4j.py 时报错。

ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that 'apoc.meta.data()' is allowed in Neo4j configuration 

 
ValueError: Could not use APOC procedures. Please ensure the APOC plugin is 
报错解释:
这个错误通常出现在使用Neo4j图数据库时,尤其是当你在尝试使用APOC(Awesome Procedures On Cypher)插件中的一些过程或函数时。APOC是一个为Cypher提供增强功能的库,提供了很多实用的过程。如果你在尝试调用APOC过程但遇到了这个错误,可能是因为APOC插件没有正确安装或者当前的Neo4j实例没有启用该插件。
解决方法:
确认APOC插件是否已经安装:你可以登录到Neo4j的Web界面,使用:plugins命令查看当前安装的插件列表,确认APOC是否在列。
如果没有安装APOC插件,你需要安装它。可以通过Neo4j的Web界面或者使用Neo4j的插件安装工具(neo4j-admin CLI)来安装。
如果已经安装,确保APOC插件已经启用。在Neo4j配置文件(neo4j.conf)中,确保有如下设置:
apoc.enabled=true重启Neo4j服务,使配置生效。
如果以上步骤都确认无误,但问题依旧,可能需要检查Neo4j的版本兼容性,确保APOC插件版本与你的Neo4j数据库版本兼容。
在解决问题时,请确保遵循Neo4j的官方文档和最佳实践,以确保插件安装和配置正确无误。 

 解决方案

安装Neo4j APOC 插件的步骤主要包括以下几个部分‌:
‌下载APOC插件的jar文件‌:首先,确保你已经安装了Neo4j数据库,并且数据库处于停止状态。然后,访问Neo4j官方网站下载APOC插件的jar文件。你可以在GitHub仓库(https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases)找到最新版本的APOC插件。
‌复制jar文件到插件目录‌:将下载的APOC插件的jar文件复制到Neo4j的插件目录中。插件目录的位置取决于你的操作系统和Neo4j的安装方式。例如,在Windows系统上,插件目录通常位于<Neo4j安装目录>/plugins。
‌修改Neo4j配置文件‌:打开Neo4j的配置文件neo4j.conf,该文件通常位于<Neo4j安装目录>/conf。在配置文件中找到或添加dbms.security.procedures.unrestricted这一行,确保该行的值包含了APOC插件的命名空间,例如dbms.security.procedures.unrestricted=apoc.*。
‌启动Neo4j数据库‌:保存并关闭配置文件后,启动Neo4j数据库。
‌验证安装‌:打开Neo4j的浏览器界面,输入以下命令来检查APOC插件是否成功安装:RETURN apoc.version()。如果成功安装,你将看到APOC插件的帮助信息。
请注意,以上步骤适用于手动安装APOC插件。如果你使用的是Neo4j Desktop或其他集成工具,可能有其他安装方式。确保下载的APOC插件版本与你的Neo4j数据库版本兼容,以避免兼容性问题‌

 修改权限

sudo chown 666 文件名

gpt 4o mini   -----lama3:7b

环境变量  base_url =


http://www.ppmy.cn/news/1525060.html

相关文章

WebLogic 笔记汇总

WebLogic 笔记汇总 一、weblogic安装 1、创建用户和用户组 groupadd weblogicuseradd -g weblogic weblogic # 添加用户,并用-g参数来制定 web用户组passwd weblogic # passwd命令修改密码# 在文件末尾增加以下内容 cat >>/etc/security/limits.conf<<EOF web…

SpringMVC基于注解使用

01-拦截器介绍 首先在pom.xml里面加入springmvc的依赖 创建拦截类 在spring-mvc.xml配置拦截器配置 创建控制类测试 拦截器中处理方法之前的方法介绍 拦截器中处理方法之后&#xff0c;渲染之前的方法介绍 拦截器中处理方法之后&#xff0c;渲染之后的方法介绍 判断拦截器和过…

element form rules 验证数组对象属性时如何写判断规则

需求&#xff1a;一个el-form-item里放了2个下拉选择框&#xff0c;规定是最少选择一个&#xff0c;最多这俩都选择值&#xff1b;下拉框的值设置为对象了&#xff0c;所以这俩select的值组成了一个数组里的两个对象 逻辑&#xff1a;感觉只需要把第一个下拉框值&#xff08;即…

默认端口被占用后,如何修改Apache2 端口

你可以通过以下步骤修改 Apache2 的默认端口&#xff08;80 端口&#xff09;&#xff1a; 1. 修改 Apache2 配置文件 首先&#xff0c;你需要编辑 Apache2 的端口配置文件&#xff1a; sudo nano /etc/apache2/ports.conf在文件中&#xff0c;你会看到类似以下的内容&#…

【PostgreSQL里的restartpoint重启点】

不知道大家有没有关注过&#xff0c;配置文件里archive_cleanup_command参数的注释部分有着这么一句"command to execute at every restartpoint",意思是在每个restartpoint时执行的命令。 提起checkpoint大家可能比较熟悉&#xff0c;对于这个restartpoint&#xff…

fs::copy中的recursive和overwriting的区别是什么,如何一起使用

fs::copy中的recursive和overwriting参数关注于文件复制的不同方面&#xff1a; recursive&#xff1a;当设置为true时&#xff0c;允许复制目录及其所有子目录和文件。如果设置为false&#xff0c;则只复制单个文件或空目录。 overwriting&#xff1a;当设置为true时&#xf…

vulnhub靶机:21 LTR: Scene1

下载 下载地址&#xff1a;https://www.vulnhub.com/entry/21ltr-scene-1,3/ 导入靶机 一直按默认的来&#xff0c;一直下一步 修改网卡 修改靶机和 kali 攻击机网络模式为仅主机模式 把仅主机模式的 IP 修改为 192.168.2.0 信息收集 主机发现 arp-scan -l 靶机 IP 是 192.…

golang panic

在 Go 语言中&#xff0c;panic 是一种用于处理异常情况的机制。当程序遇到无法继续执行的错误时&#xff0c;可以使用 panic 来引发运行时错误。以下是关于 panic 的一些关键点和示例。 1. 使用 panic 当调用 panic 时&#xff0c;程序会停止执行当前函数&#xff0c;并开始…

传承中华文脉·弘扬北疆文化“四季内蒙古演出季”区内外文艺院团交流演出活动即将启动

为推进“北疆文化”品牌建设&#xff0c;由内蒙古自治区文化和旅游厅、呼和浩特市人民政府主办&#xff0c;呼和浩特市文化旅游广电局承办的传承中华文脉弘扬北疆文化——“四季内蒙古演出季”区内外文艺院团交流演出活动将于9月14日至11月期间在呼和浩特市举办。 传承中华文脉…

Go入门指南(The Way to Go) 完整版PDF

The Way To Go可以说是入门 Go 的经典书籍&#xff0c;这本书有内容丰富各种资料链接&#xff0c;这是截止到目前&#xff0c;大叔看到的写得最好的go 语言教材&#xff0c;非常详细.一口气读下来&#xff0c;舍不得放手&#xff0c;大叔强烈推荐你去学习 百度网盘分享

环境变量和本地变量

什么是环境变量&#xff1f; 环境变量是操作系统里保存的具有特殊用途的参数 常见的环境变量 PATH&#xff1a;存放操作系统默认的搜索路径 HOME&#xff1a;当前的登入账户 USER&#xff1a;当前的使用者 如何查询环境变量&#xff1f; echo $name&#xff08;环境变量名…

数学建模笔记—— 线性规划

数学建模笔记—— 线性规划 线性规划1. 模型引出1.1 线性规划模型的三要素1.2 线性规划模型建立步骤1.3 线性规划的表现形式1.4 线性规划的模型特点 2.典型例题3. python代码求解3.1 求解KK升级的问题3.2 求解投资收益问题 线性规划 在人们的生产实践中&#xff0c;经常会遇到…

『功能项目』管理器基类【38】

我们打开上一篇37单例模式框架的项目&#xff0c; 本章要做的事情是编写管理器基类 首先创建脚本&#xff1a;ManagerBase.cs using UnityEngine; public abstract class ManagerBase : MonoBehaviour{public virtual void Init() { } } public class ManagerBase<T> : …

Linux 防火墙:iptables (二)

文章目录 SNAT 原理与应用SNAT 应用环境SNAT 原理SNAT 转换前提条件SNAT 格式SNAT 转换规则配置 DNAT 原理与应用DNAT 应用环境DNAT 原理DNAT 转换前提条件DNAT 格式DNAT 转换规则配置 iptables 规则的备份和还原导出&#xff08;备份&#xff09;所有表的规则导入&#xff08;…

【网络通信基础与实践第二讲】包括互联网概述、互联网发展的三个阶段、互联网的组成、计算机网络的体系结构

一、互联网概述 计算机网络是由若干节点&#xff08;node&#xff09;和连接这些节点的链路&#xff08;link&#xff09;组成。 网络之间还可以通过路由器互联起来&#xff0c;这就构成了一个覆盖范围更大的计算机网络。这样的网络称为互联网。 网络把许多计算机连接在一起…

如何将本地项目上传到GitHub(SSH连接)

在个人GitHub中新建项目(远程仓库)&#xff0c;添加一个README文件&#xff0c;方便后面验证 记住这个默认分支&#xff0c;我这里是main&#xff0c;你的可能是master或其他 先复制下SSH地址 在项目文件夹中右键打开Git命令行 初始化本地仓库&#xff0c;同时指定默认分支为ma…

微信小程序登录与获取手机号 (Python)

文章目录 相关术语登录逻辑登录设计登录代码 相关术语 调用接口[wx.login()]获取登录凭证&#xff08;code&#xff09;。通过凭证进而换取用户登录态信息&#xff0c;包括用户在当前小程序的唯一标识&#xff08;openid&#xff09;、微信开放平台账号下的唯一标识&#xff0…

C语言---程序设计练习题目及学习方法1

学习方法 要多练习 在这些题目中的代码和题目 自己动手去敲练习也是在熟悉语法&#xff0c;写代码第一步就是熟悉语法练习是在锻炼编程思维&#xff0c;把实际问题转换为代码的能力 学会画图 画图去理解内存&#xff0c;理解指针这些比较难懂的知识画图可以更好的理清思路辅助…

Linux环境下安装FFmpeg的教程

下面是一个关于在Linux环境下安装FFmpeg的教程&#xff0c;它结合了理论知识与实际操作步骤。请注意&#xff0c;本教程假设您具备基本的Linux命令行使用经验&#xff0c;并且您的系统已经安装了必要的开发工具包。 FFmpeg简介 FFmpeg 是一个强大的跨平台音视频处理工具集&am…

详解Diffusion扩散模型:理论、架构与实现

本文深入探讨了Diffusion扩散模型的概念、架构设计与算法实现&#xff0c;详细解析了模型的前向与逆向过程、编码器与解码器的设计、网络结构与训练过程&#xff0c;结合PyTorch代码示例&#xff0c;提供全面的技术指导。 关注TechLead&#xff0c;复旦AI博士&#xff0c;分享A…