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

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

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

相关推荐
倔强的石头_9 小时前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库
星辰_mya9 小时前
Elasticsearch线上问题之OOM
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客9 小时前
使用 Groq 与 Elasticsearch 进行智能查询
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
张彦峰ZYF9 小时前
一套「策略化 Elasticsearch 召回平台」架构设计思路
大数据·elasticsearch·搜索引擎
穿过锁扣的风9 小时前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
l1t9 小时前
DeepSeek总结的SNKV — 无查询处理器的 SQLite 键值存储
数据库·sqlite·kvstore
洛豳枭薰9 小时前
MySQL 梳理
数据库·mysql
九.九10 小时前
CANN 算子生态的底层安全与驱动依赖:固件校验与算子安全边界的强化
大数据·数据库·安全
蓝帆傲亦10 小时前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
亓才孓10 小时前
[JDBC]事务
java·开发语言·数据库