基于向量数据库搭建自己的搜索引擎

前言【基于chatbot】

厌倦了商业搜索引擎搜索引擎没完没了的广告,很多时候,只是需要精准高效地检索信息,而不是和商业广告"斗智斗勇"。以前主要是借助爬虫工具,而随着技术的进步,现在有了更多更方便的解决方案,向量数据库就是其中之一【chatGPT也需要它的支撑】。

环境搭建【工作环境为windows10,数据库环境为centos7】

  1. 安装python3.9【具体参考以下文章】

零基础小白安装python开发环境

  1. 安装git【网上教程太多了,就不写了。有需要的可以留言】

  2. 安装docker和docker-compose【网上教程太多了,就不写了。有需要的可以留言】

  3. 安装milvus

在centos系统中,执行以下命令

复制代码
wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml

启动向量数据库

复制代码
sudo docker-compose up -d 【-d是后台启动,第一次启动可以不加,有报错的话直接在命令行能看到】

ip和端口号,根据自己的实际情况做调整

下载代码

复制代码
git clone https://github.com/gitksqc/chatbot.git

安装python虚拟环境

复制代码
python -m venv venvtest

安装模块

复制代码
 # 配置国内镜像 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 命令行进入到代码所在目录 pip install -r requirements.txt

准备数据集【可以自己用爬虫做数据集】

复制代码
# 我这里选的是新闻数据集做测试,可以根据自己情况选择https://www.kaggle.com/datasets/ceshine/yet-another-chinese-news-dataset

下载模型​​​​​​​

复制代码
# 需要合理的上网工具,将模型及配置文件拷贝到项目根目录下的shibing624/text2vec-base-chinese目录中https://huggingface.co/shibing624/text2vec-base-chinese

导入数据​​​​​​​

复制代码
# 将下载的新闻数据集拷贝到项目根目录下news_collection.csv# 在项目根目录下执行insert.py脚本,等待执行结束python insert.py

运行项目​​​​​​​

复制代码
# 激活虚拟环境.\venvtest\Scripts\Activate.ps1
# 启动服务 uvicorn main:app --reload

搜索

  1. 打开浏览器 访问http://127.0.0.1:8000【端口号可以自己在代码中设置】

  2. 输入要搜索的文字,点击搜索【页面没有做排版,主要演示功能】

到此就结束了,有问题可以留言或私信。

相关推荐
老纪的技术唠嗑局5 小时前
经验分享 —— 在 Ubuntu 虚拟机中部署 OceanBase 数据库
数据库·ubuntu
咖啡Beans6 小时前
MySQL中使用@符号定义用户变量
数据库·mysql
GreatSQL9 小时前
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
数据库
expect7g10 小时前
COW、MOR、MOW
大数据·数据库·后端
DemonAvenger12 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
薛定谔的算法1 天前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend1 天前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术1 天前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 天前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql