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

前言【基于chatbot】

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

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

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

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

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

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

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

    图片

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LongAdder 和 Striped64 基础学习

cs,表示 Cell 数组的引用;b,表示获取的 base 值,类似于 AtomicLong 中全局变量的 value 值,在没有竞争的情况下数据直接累加到 base 上,或者扩容时,也需要将数据写入到 base 上;v&am…

Linux第2课Windows下的环境配置-虚拟机安装

文章目录 Linux第2课Windows下的环境配置-虚拟机安装一、VMware虚拟机的安装(一)安装VMware(二)启动电脑本地的VMware相关服务 二、VirtualBox安装 Linux第2课Windows下的环境配置-虚拟机安装 本节课程提供了两种虚拟机的安装方法…

个人医疗开支预测项目

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 项目背景 随着医疗成本的持续上涨,个人医疗开支成为一个重要议题。理解影响医疗费用的多种因素对于医疗保险公司、政府机构以及个人…

磁环的使用方法

磁环的使用方法 磁环的工作原理共模滤波用法差模滤波用法各种材料磁环的对应频率磁环的感量计算 磁环的工作原理 共模滤波用法 差模滤波用法 各种材料磁环的对应频率 磁环的感量计算

Redis从入门到精通(四)Redis实战(二)商户查询缓存

↑↑↑请在文章头部下载测试项目原代码↑↑↑ 文章目录 前言4.2 商户查询缓存4.2.1 缓存介绍4.2.2 查询商户信息的传统做法4.2.2.1 接口文档4.2.2.2 代码实现4.2.2.3 功能测试 4.2.3 查询商户信息添加Redis缓存4.2.3.1 逻辑分析4.2.3.2 代码实现4.2.3.3 功能测试 4.2.3 数据一致…

【MATLAB源码-第177期】基于matlab的蜘蛛蜂优化算法(SWO)无人机三维路径规划,输出做短路径图和适应度曲线

操作环境: MATLAB 2022a 1、算法描述 蜘蛛蜂优化算法(Spider Wasp Optimization, SWO)是一种启发式算法,它受到自然界中蜘蛛和蜂这两种生物的行为模式启发而开发。这一算法主要模拟了蜘蛛捕食与蜂群社会行为之间的相互作用&…

网络以太网之(1)基础概念

网络以太网之(1)基础概念 Author: Once Day Date: 2024年4月1日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…

C语言-----数据在内存中的存储(1)

1.整数在内存中的存储 我们之前就了解过整数的二进制写法分别有3种,分别为原码,反码,补码。整型在内存中存储的是补码。 原码,反码,补码都有自己的符号位和数值位,符号位为1时,则表示负数&…

【Docker笔记05】【网络模式】

一、前言 本系列是根据 B 站 尚硅谷 Docker 视频 学习记录笔记。因为没有视频课件,部分内容摘自 https://www.yuque.com/tmfl/cloud/dketq0。 本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。 二、简单介…

通用开发技能系列:Authentication、OAuth、JWT 认证策略

云原生学习路线导航页(持续更新中) 本文是 通用开发技能系列 文章,主要对编程通用技能 Authentication、OAuth、JWT 认证策略 进行学习 1.Basic Authentication认证 每个请求都需要将 用户名密码 进行base64编码后,放在请求头的A…

基于隐私保护的可追踪可撤销密文策略属性加密方案论文阅读

论文是2022年发表的A Traceable and Revocable Ciphertext-Policy Attribute-based Encryption Scheme Based on Privacy Protection 摘要 本篇论文提出了一种具有用户撤销、白盒追踪、策略策略隐藏功能的CP-ABE方案。在该方案中密文被分为两个部分:第一个部分是和…

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现在线商城系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本ONLY在线商城系统就是在这样的大环境下诞生,其可以帮助管理…

第六期丨酷雷曼无人机技能培训

第6期无人机技能提升培训 盼望着盼望着,第六期无人机技能提升培训会终于如期和大家见面了。 2024年1月1日,国务院、中央军事委员会颁布《无人驾驶航空器飞行管理暂行条例》,对民用无人机飞行活动实施更为严格的规范约束,越来越多…

阿里云服务器安装Java开发环境最佳实践

服务器环境安装 环境依赖服务器配置配置SSH登录打开安全配置端口远程连接配置秘钥 Linux服务器常用指令向远程服务器传送文件systemctl 相关 安装MySql安装步骤step1 检查并清除以前的mysql相关文件step2 安装step3 MySQL参数配置step4 设置开机启动step5 初始化数据库step6配置…

ABAP开发中常用弹窗的应用详解

在ABAP程序设计中为提示和交互的需要会经常用到弹窗, 所谓弹窗就是弹出一个框,告诉用户什么事情、需要确认什么、或者让用户输入什么内容等等,它价值在于通过提示、提醒、警告,帮助用户顺利完成业务流程中的必要操作或给用户提供实…

【JS】打乱数组顺序,用作领域:随机播放音乐

思路 循环数组随机获取数组下标取值: 取当前随机下标数组取当前循环的下标数组 相互替换步骤3的数组 /*** 随机数组顺序* param {Array} arr 数组* returns Array*/ const shufArr arr > {for (let i arr.length - 1; i > 0; i--) {const j Math.floor(M…

中国智慧城管哪家做的好?

智慧城市管理综合执法系统建立全市统一的法律法规、裁量基准、执法事项、执法文书和基础信息库,实现从获取线索、立案、调查、处理到结案全过程的信息化和文书制作的智能化。全面支持移动执法办案,提高执法效率。 技术架构: 微服务javasprin…

中颖51芯片学习1. 系统时钟及IO口输出操作

中颖51芯片学习1. 系统时钟及IO口输出操作 一、芯片介绍1. 规格2. 资源3. 中断源:4. 方框图5. 封装(1)32脚LQFP封装(2)28脚SOP封装(3)20脚SOP封装 二、开发环境搭建1. 安装keil2. 安装中颖keil插…

安全测试重点思考(中)--如何防止漏洞XSS和CSRF漏洞

如何防止漏洞XSS和CSRF漏洞 XSS漏洞的预防springsecurity框架来预防xss漏洞的步骤将特殊字符进行实体转义使用类库和修改cookie属性使用安全的HTTP Only Cookie使用安全的Cookie使用CSP(内容安全策略)使用专门的XSS防护库输入验证和过滤 XSS的面试题你对…

4.2总结

了解了部分Api的使用并学习了接口的API API API包含了较多种类(System,Runtime等) System其实就是一个工具类,提供了一些与系统相关的方法 下面有一些常间的System方法 方法名说明public static void exit (int status)终止当前运行的ja…