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

前言【基于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. 输入要搜索的文字,点击搜索【页面没有做排版,主要演示功能】

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

相关推荐
IndulgeCui2 分钟前
KingbaseES 数据库与用户默认表空间深度解析与实战分享
数据库
萧曵 丶7 分钟前
MongoDB 核心原理 + 高频面试题
数据库·mongodb
darling33115 分钟前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
Bruk.Liu15 分钟前
(LangChain实战12):LangChain中的新型Chain之create_sql_query_chain
数据库·人工智能·sql·langchain
世界尽头与你16 分钟前
MySQL InnoDB的 MVCC 实现机制
数据库·mysql
你刷碗31 分钟前
基于S32K144 CESc生成随机数
android·java·数据库
松涛和鸣32 分钟前
70、IMX6ULL LED驱动实战
linux·数据库·驱动开发·postgresql·sqlserver
世界尽头与你1 小时前
详解 MySQL 数据库索引实现机制 - B 树和 B + 树
数据库·mysql·索引
德彪稳坐倒骑驴1 小时前
MySQL Oracle面试题
数据库·mysql·oracle
数据知道1 小时前
PostgreSQL 核心原理:什么场景下开启 JIT 能提升性能?(JIT 编译)
数据库·postgresql