Docker:Docker部署Neo4j图数据库

Docker:Docker部署Neo4j图数据库

Docker:Docker部署Neo4j图数据库

前言

Neo4j是一个高性能的,基于java开发的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中;它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。

Neo4j分为企业版和社区版,企业版可以创建多个数据库,链接多个数据库,但是收费……;社区版只能链接一个数据库,所以社区版不支持创建数据库命令。

Neo4j部署后默认创建名字为 neo4j 的数据库,可以直接链接这个数据库

拉取镜像

# 下载镜像 docker pull neo4j:5.26.2 

也可以不指定版本

构建容器

# 创建neo4j容器 docker run -it -d -p 7474:7474 -p 7687:7687 \ -v /home/neo4j/data:/data \ -v /home/neo4j/logs:/logs \ -v /home/neo4j/conf:/var/lib/neo4j/conf \ -v /home/neo4j/import:/var/lib/neo4j/import \ -v /home/neo4j/plugins:/var/lib/neo4j/plugins \ -e NEO4J_AUTH=neo4j/password \ --name neo4j neo4j:5.26.2 

-p 7474:7474 宿主机端口映射,7474端口为Neo4j界面访问端口

-p 7687:7687 宿主机端口映射,7687端口为后台API接口访问端口

-v /home/neo4j/data:/data 宿主机目录挂载,将Neo4j存储数据挂载到宿主机目录

-v /home/neo4j/logs:/logs 宿主机目录挂载,将Neo4j运行日志挂载到宿主机目录

-v /home/neo4j/conf:/var/lib/neo4j/conf 宿主机目录挂载,将Neo4j配置文件挂载到宿主机目录

-v /home/neo4j/import:/var/lib/neo4j/import 宿主机目录挂载,将Neo4j数据导入目录挂载到宿主机目录

-v /home/neo4j/plugins:/var/lib/neo4j/plugins 宿主机目录挂载,将Neo4j插件安装目录挂载到宿主机目录

-e NEO4J_AUTH=neo4j/password 配置Neo4j的登录密码,用户名必须是neo4j,密码可以自定义

访问界面

访问地址:http://{{目标地址}}:7474/browser/
本地部署的话就是 localhost,作者这里使用的是腾讯云服务器,使用云服务器记得开发7474端口

数据备份与恢复

停止容器

不管是导入或导出操作,第一步一定要将已启动的Neo4j停止(不是删除,是停止)

# 停止容器 docker stop neo4j 
#### 导出neo4j数据 docker run --interactive --tty --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/backups:/var/lib/neo4j/import \ --name neo4j_demo neo4j:5.26.2 \ neo4j-admin database dump neo4j --to-path=/var/lib/neo4j/import/ 

–interactive 提示Docker保持标准输入流(stdin,标准输入)对容器开放,允许用户通过命令行直接与容器交互,进行实时操作和调试。

–tty 提示Docker 为容器分配一个虚拟终端,允许发信号给容器进行实时操作。

–rm 容器完成操作并停止后自动删除容器。

-v /home/neo4j/data:/data 引用刚才停止的Neo4j容器存储的数据

-v /home/neo4j/backups:/var/lib/neo4j/import 将数据导出后通过容器映射目录到宿主机的 /home/neo4j/backup 目录

neo4j-admin database dump neo4j --to-path=/var/lib/neo4j/import/ 导出命令,在容器内使用 neo4j-admin 工具将 neo4j 数据库备份,备份文件存到容器内 /var/lib/neo4j/import/ 目录(实际则会通过映射存到宿主机对应的挂载目录 /home/neo4j/backups )

–name neo4j_demo 重点:这里的容器名称不能和已停止的容器重名!!!!

导入数据

#- - - - - - - - - - - - - - 新版本 - - - - - - - - - - - - - - - #### 5.1版本之后,新版本导入neo4j数据(如果数据库存在会报错) docker run -it --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/import:/var/lib/neo4j/import neo4j:5.26.2 \ neo4j-admin database load --from-path=/var/lib/neo4j/import/ neo4j #### 5.1版本之后,新版本强制导入neo4j数据(无视数据库是否存在直接覆盖) docker run -it --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/import:/var/lib/neo4j/import neo4j:5.26.2 \ neo4j-admin database load --from-path=/var/lib/neo4j/import/ neo4j \ --overwrite-destination=true #- - - - - - - - - - - - - - 旧版本 - - - - - - - - - - - - - - - - #### 5.1版本之前,旧版本的导入命令(如果数据库存在会报错) docker run -it --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/import:/var/lib/neo4j/import neo4j:4.4.40 \ neo4j-admin load --from=/var/lib/neo4j/import/neo4j.dump --database=neo4j #### 5.1版本之前,旧版本的强制导入命令(无视数据库是否存在直接覆盖) docker run -it --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/import:/var/lib/neo4j/import neo4j:4.4.40 \ neo4j-admin load --from=/var/lib/neo4j/import/neo4j.dump --database=neo4j --force #- - - - - - - - - - 旧版本文件导入新版本数据库 - - - - - - - - - - - - #### 旧版本的数据文件强制导入新版本数据库内(无视数据库是否存在直接覆盖) docker run -it --rm \ --volume=/home/neo4j/data:/data \ --volume=/home/neo4j/import:/var/lib/neo4j/import neo4j:5.26.2 \ sh -c "neo4j-admin database load --from-path=/var/lib/neo4j/import/ neo4j --overwrite-destination=true && neo4j-admin database migrate neo4j --force-btree-indexes-to-range" 

–rm 容器完成操作并停止后自动删除容器。

-v /home/neo4j/data:/data 引用刚才停止的Neo4j容器存储的数据,目的是将数据导入到这个数据映射目录内

-v /home/neo4j/import:/var/lib/neo4j/import 将刚才导出的文件改名 “neo4j.dump”后,复制到/home/neo4j/import目录下,通过挂载机制会自动映射到容器内的 /home/neo4j/import 目录

neo4j-admin database load --from-path=/var/lib/neo4j/import/ neo4j 导入命令,在容器内使用 neo4j-admin 工具将 /var/lib/neo4j/import 目录下的“neo4j.dump”文件导入到neo4j数据库内

–overwrite-destination=true 强制导入,无视数据库是否存在直接覆盖

重启先前停止的容器

# 重启Neo4j容器 docker start neo4j 

Read more

Whisper.cpp:高效语音识别的边缘计算革命

Whisper.cpp:高效语音识别的边缘计算革命 【免费下载链接】whisper.cpp 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/whisper.cpp 技术原理深度解析 Whisper.cpp作为OpenAI Whisper模型的C++移植版本,在保持原始模型强大性能的同时,通过ggml张量库实现了在边缘设备上的高效部署。该项目的核心创新在于将原本依赖PyTorch的神经网络模型转换为纯C++实现,大幅降低了运行时依赖和内存占用。 传统的语音识别系统通常需要云端计算资源,而Whisper.cpp通过量化技术和内存优化策略,使得大型语言模型能够在本地设备上稳定运行。其技术架构基于编码器-解码器的Transformer结构,但在实现层面进行了深度优化: * 内存池管理:采用预分配内存池减少动态内存分配开销 * 量化推理:支持多种精度量化(q4_0、q5_0、q5_1、q8_0等) * 流式处理:支持实时音频流的连续识别 架构设计与实现创新 模型转换机制 Whisper.cpp的核心突破在于实现了从P

8卡RTX 5090服务器llama.cpp测试

8 卡 RTX 5090 服务器 完整安装及性能调优指南  8卡RTX 5090服务器 从 NVIDIA驱动安装 → CUDA环境 → llama.cpp编译 → 多GPU测试 的完整、可直接执行流程(基于Ubuntu 22.04 LTS,适配Blackwell架构)。 一、系统与硬件准备(必做) 1.1 系统要求 • 推荐:Ubuntu 22.04 LTS(64位) • 内核:6.8+ HWE内核(5090必须高内核) • 禁用:Nouveau开源驱动(与NVIDIA驱动冲突) 1.2 硬件检查 Bash # 查看8张5090是否被识别 lspci | grep -i nvidia

Stable Diffusion v1-5-pruned.safetensors本地部署指南

Stable Diffusion v1-5-pruned.safetensors 本地部署与 LoRA 微调实战指南 在消费级 GPU 上跑通一个 AI 图像生成模型,曾经是件门槛极高的事。动辄几十 GB 的显存占用、复杂的环境配置、晦涩的训练脚本……这些都曾让许多创作者望而却步。但如今,随着 .safetensors 格式的普及和 LoRA 技术的成熟,我们已经可以在一张 RTX 3090 上,用不到 10GB 显存完成一次完整的风格微调。 这一切的核心起点,正是 Stable Diffusion v1-5-pruned.safetensors —— 这个名字看似冗长,实则浓缩了当前本地 AIGC 实践中最关键的技术组合:轻量化基础模型 + 安全权重格式 + 高效微调机制。 为什么选择 v1-5-pruned.safetensors? 当你打开 Hugging

揭秘 AIGC 背后的技术:GPT、BERT 与 Transformer 模型的工作原理

揭秘 AIGC 背后的技术:GPT、BERT 与 Transformer 模型的工作原理

一、引言 AIGC 的崛起与重要性 人工智能生成内容(AIGC)已经不再是未来的技术,它正以惊人的速度渗透到各行各业,重新定义了内容创作、媒体生产、甚至人类认知的边界。从深度学习到大规模自然语言处理,AIGC 的崛起代表着一种新型的智能化革命,其核心技术依赖于 Transformer 架构、GPT 和 BERT 等模型。这些技术不仅推动了自然语言处理(NLP)的进步,还在自动化写作、代码生成、艺术创作等多个领域取得了突破性进展。 AIGC 之所以成为技术热潮,背后是其颠覆性的效率提升和创新应用。比如,通过 GPT,我们可以在几秒钟内生成一篇文章,而传统写作过程可能需要几小时,甚至几天。这种技术的普及,不仅大大降低了内容创作的门槛,还为个体创作者、企业甚至国家带来了前所未有的生产力提升。 本文目的与结构概述 本文将深入探讨 AIGC 背后的核心技术——Transformer、GPT 和 BERT,带你一步步了解它们的架构原理、训练机制及实际应用。