本地部署开源向量数据库 Weaviate 并实现外部访问

Weaviate 是一款开源的向量数据库,它通过将文本、图像、音频等内容转换为向量来存储和检索信息,不仅能够存储数据,还能理解数据的语义,这种能力使其非常适合处理与人工智能(尤其是大语言模型 LLM )相关的应用。本文将详细介绍如何利用 Docker 在局域网内部署 Weaviate 并结合路由侠实现外网访问局域网内部署的 Weaviate 。

第一步,本地部署安装 Weaviate

1,本教程操作环境为 Linux Ubuntu 系统,Weaviate 依赖 Docker 运行,我们需要先确保你的系统上已经安装了 Docker 。如果尚未安装,可以参考文档进行安装,点此查看

2,安装 Docker Compose 。

复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')" /usr/local/bin/docker-compose

3,创建并进入项目目录。

复制代码
mkdir weaviate-test && cd weaviate-test

4,创建 docker-compose.yml 文件。

复制代码
sudo vim docker-compose.yml

写入以下内容:

复制代码
version: '3.4'
services:
  weaviate:
    image: semitechnologies/weaviate:1.27.2
    ports:
      - "8080:8080"
      - "8081:8081"
    environment:
      QUERY_DEFAULTS_LIMIT: 20
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: "/var/lib/weaviate"
      DEFAULT_VECTORIZER_MODULE: "none"
      ENABLE_MODULES: ""
      CLUSTER_HOSTNAME: "node1"
    volumes:
      - weaviate_data:/var/lib/weaviate
    restart: on-failure:0
    networks:
      - weaviate-net

volumes:
  weaviate_data:

networks:
  weaviate-net:

5,启动 Weaviate 服务。

复制代码
docker-compose up -d

6,打开浏览器访问地址 http://你的服务器 IP:8080 ,就能看到你部署的 Weaviate 元信息 JSON 内容了。

第二步,外网访问本地 Weaviate

安装路由侠内网穿透。

1,当前未提供网页管理,需要先在任意一台 Windows 机器安装路由侠 Windows 版本,用作跨机器管理。点此下载

2,在路由侠客户端主界面,进入" 设备管理 ",点击右下角的" 添加设备 ",此时可查看到对应的安装码,此安装码用于将设备添加到对应账号下,可选中后复制。

3,直接下载后导入:

复制代码
wget https://dl.luyouxia.com:8443/v2/lyx-docker-x86_64.tar
docker load -i lyx-docker-x86_64.tar

4,然后使用该镜像启动容器。

复制代码
docker run --name lyx -it --restart=always --net=host -e code=这里填写安装码 luyouxia/lyx

5,此时,需要等待下载和安装的过程,如果一切正常,最终可以看到一些输出,并且可以看到如下提示:

复制代码
[Device] Logged in. Token: ....

这就表示安装成功了。

当前 Linux 终端这边,如果是使用的上面的命令,Docker 是运行在前台,此时可以按住 Ctrl + C ,退出路由侠,容器也将退出。现在可以使用以下命令将其放入后台持续运行:

复制代码
docker start lyx

注意如果容器删除,重新 docker run , 将创建为新的设备。

需要注意的是,因为容器参数已经添加了 --restart=always ,这样开机就会自动启动,不需要再手动启动路由侠了。

6,现在回到 Windows 这边设备列表,点击右上角的 × 返回主界面,再次进入,就可以找到这个设备,可以修改名称。

7,回到主界面,点击【内网映射】。

8,注意右上角的设备名称下拉框,这里选中刚刚添加的设备名称,此时在这个界面上添加的映射,就属于刚刚这个设备。添加或修改一般需要等待 30 秒,容器中的路由侠进程就会更新并加载。切换好设备后,点击【添加映射】。

9,选择【原生端口】。

10,在内网地址填写你的服务器 IP 和 Weaviate 端口 8080 后点击【创建】按钮,如下图。

11,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

12,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的 Weaviate 元信息 JSON 了。

相关推荐
冬奇Lab12 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence1 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
文心快码BaiduComate1 天前
Comate 搭载GLM-5.2:百万上下文,稳定支撑长程任务
前端·程序员·开源
无响应de神1 天前
三、用户与权限管理
数据库·mysql
冬奇Lab2 天前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
下班走回家2 天前
DeepSeek 开源模型的突破与思考:从技术到生态的全面进化
人工智能·开源