# WeaviateTest
**Repository Path**: NanGePlus/WeaviateTest
## Basic Information
- **Project Name**: WeaviateTest
- **Description**: Weaviate (we-vee-eight) 是一个开源的AI原生向量数据库,可同时存储对象和向量,这样就可以将向量搜索与结构化过滤结合使用。本次分享为大家提供一份使用指南,包括如何安装部署、国内如何配置使用embedding模型、数据写入和查询
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2024-11-12
- **Last Updated**: 2025-04-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 1、内容介绍
Weaviate (we-vee-eight) 是一个开源的AI原生向量数据库,可同时存储对象和向量,这样就可以将向量搜索与结构化过滤结合使用
官网地址: https://weaviate.io/
github地址:https://github.com/weaviate/weaviate
本次分享为大家演示如何安装部署、国内如何配置使用embedding模型、数据写入和查询
视频链接如下:
https://www.bilibili.com/video/BV1LhUAYFEku/?vd_source=30acb5331e4f5739ebbad50f7cc6b949
https://youtu.be/hD09V7jaXSo
# 2、前期准备工作
## 2.1 开发环境搭建:anaconda、pycharm
anaconda:提供python虚拟环境,官网下载对应系统版本的安装包安装即可
pycharm:提供集成开发环境,官网下载社区版本安装包安装即可
可参考如下视频进行安装,【大模型应用开发基础】集成开发环境搭建Anaconda+PyCharm
https://www.bilibili.com/video/BV1q9HxeEEtT/?vd_source=30acb5331e4f5739ebbad50f7cc6b949
https://youtu.be/myVgyitFzrA
## 2.2 大模型相关配置
(1)GPT大模型使用方案
(2)非GPT大模型(国产大模型)使用方案(OneAPI安装、部署、创建渠道和令牌)
(3)本地开源大模型使用方案(Ollama安装、启动、下载大模型)
可参考如下视频:
提供一种LLM集成解决方案,一份代码支持快速同时支持gpt大模型、国产大模型(通义千问、文心一言、百度千帆、讯飞星火等)、本地开源大模型(Ollama)
https://www.bilibili.com/video/BV12PCmYZEDt/?vd_source=30acb5331e4f5739ebbad50f7cc6b949
https://youtu.be/CgZsdK43tcY
## 2.3 Docker安装和部署
### 2.3.1 本地部署
**(1)安装Docker**
官网链接 https://www.docker.com/
这里以Mac系统为例,windows无本质差别,根据自己的操作系统选择下载安装包,直接安装即可
安装完成后,找到Docker图标双击运行,Docker服务启动成功后如下截图所示
**(2)拉取并运行镜像**
打开命令行终端,执行如下命令拉取weaviate的镜像
docker run cr.weaviate.io/semitechnologies/weaviate:1.27.2
注意:经多次测试,这里需要科学上网,否则容易拉取失败(若无条件,不影响后续操作,可直接跳到步骤(4)继续)
拉取完成后,会自动启动该服务,如下截图所示
**(3)将镜像文件保存到本地**
使用docker commit命令将现有的容器状态保存为新的镜像,这个过程类似于创建一个镜像的快照
docker commit '当前的容器名称' ‘设置的新的镜像文件weaviate’
然后再执行如下命令进行镜像本地保存,保存的文件为weaviate.tar
mkdir weaviate
cd weaviate
docker save -o weaviate.tar weaviate
**(4)加载本地镜像文件**
为了对比测试,这里注意将科学上网给关闭,并将之前拉取的镜像全部删除
按照如下截图删除容器
按照如下截图删除镜像
删除完成后,进入到压缩文件所在的目录,执行如下命令加载本地镜像文件
**注意:** 这里镜像文件使用上步生成的(若无条件生成文件可点击下面链接下载提前准备好的文件)
链接: 通过网盘分享的文件:weaviate.zip
链接: https://pan.baidu.com/s/1mp2VFVBbb3vxJ2qnlscD8w?pwd=a8tm 提取码: a8tm
docker load -i weaviate.tar
命令执行后,再执行docker images查看是否加载成功,如下截图
**(5)使用Configurator工具生成docker-compose.yml文件**
使用weaviate官方提供的Configurator工具生成docker-compose.yml文件
工具链接 https://weaviate.io/developers/weaviate/installation/docker-compose#configurator
相关配置参数需根据自己的实际需求进行设置,这里可按照如下截图顺序进行配置
(a)选择版本,这里选择1.27.0
(b)选择数据持久化方案,这里设置为host-binding方式
(c)选择是否加载使用其他模块,这里选择加载模块
(d)设置需要进行向量检索的媒体类型,这里选择文本
(e)设置embedding模型,这里选择openai方案
(f)设置openai环境变量参数加载方案,选择每次请求时提供
(g)后续的配置全部默认即可
(h)最后一项选择输出为Docker Compose
到这里全部配置完成,会在页面下方生成docker-compose.yml文件相关的下载指令信息,如下截图
**(6)下载docker-compose.yml文件并启动服务**
将上个步骤根据配置生成的指令拷贝,粘贴到命令行终端中执行,如下截图
文件下载成功后,按照如下截图修改文件内容,主要修改镜像文件名为weaviate
sudo vim docker-compose.yml
修改成功后保存退出,然后执行如下命令启动服务
docker-compose up -d (后台运行)
docker-compose up
### 2.3.2 服务器部署
**(1)安装Docker**
这里使用的服务器是阿里云服务器,系统为Ubuntu22.04 LTS
安装步骤可参考:https://www.cnblogs.com/carmi/p/17939025
**(2)将文件上传到服务器**
远程登录到服务器,执行如下命令在opt目录下创建weaviate文件夹
cd /opt
sudo mkdir weaviate
然后使用SFTP将本地PC中创建的weaviate文件夹中的两个文件上传到服务器/opt/weaviate
**(3)加载本地镜像文件**
cd /opt/weaviate
docker load -i weaviate.tar
加载成功后,再执行docker images查看是否加载成功
**(4)启动服务**
docker-compose up -d (后台运行)
docker-compose up
**(5)在阿里云服务器中的安全组中添加8080端口**
# 3、项目初始化
## 3.1 下载源码
GitHub或Gitee中下载工程文件到本地,下载地址如下:
https://github.com/NanGePlus/WeaviateTest
https://gitee.com/NanGePlus/WeaviateTest
## 3.2 构建项目
使用pycharm构建一个项目,为项目配置虚拟python环境
项目名称:WeaviateTest
## 3.3 将相关代码拷贝到项目工程中
直接将下载的文件夹中的文件拷贝到新建的项目目录中
## 3.4 安装项目依赖
命令行终端中执行如下命令安装依赖包
pip install -r requirements.txt
每个软件包后面都指定了本次视频测试中固定的版本号
**注意:** 本项目weaviate使用的版本3.26.7,建议先使用要求的对应版本进行本项目测试,避免因版本升级造成的代码不兼容。测试通过后,可进行升级测试
# 4、项目测试
执行如下命令运行脚本测试写入数据和数据查询功能
python db_client.py
(1)本地测试
修改代码中的url为:url="http://localhost:8080"
(2)阿里云服务测试
修改代码中的url为:url="http://IP:8080"