装本地知识库

news2025/1/18 9:10:01

装本地知识库

image-20240520104942852

给大模型添加RAG知识库和搜索的功能

1.安装phidata

pip install -U phidata

在github将该项目拉取下来,后续步骤的很多内容可以直接使用该项目中给的例子,进行简单修改就可直接使用。

2.安装向量知识库,使用的docker

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v pgvolume:/var/lib/postgresql/data \
  -p 5532:5432 \
  --name pgvector \
  phidata/pgvector:16

在此默认已经安装好了ollama

然后使用

ollama pull nomic-embed-text

启动刚刚安装的docker

进入到步骤1所说的cookbook目录下。

如果要使用自己微调的模型,则可以对rag.py里面模型对应部分的内容进行修改即可。

接下来使用命令,启动项目。

streamlit run llms/ollama/rag/app.py

streamlit run llms/ollama/rag/app.py




[微调Llama3实现在线搜索引擎和RAG检索增强生成功能!打造自己的perplexity和GPTs!用PDF实现本地知识库_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Wb42187kk/?spm_id_from=333.337.search-card.all.click&vd_source=e3b1d6ceec31cba80353bfd01d49ed17)

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

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

相关文章

Java-MySql:JDBC

目录 JDBC概述 JDBC搭建 1、导入mysql开发商提供的jar包 2、注册驱动 3、与数据库连接 注解: Statement: 代码 运行 PreparedStatement: 代码 运行 PreparedStatement和Statement Statement 增 代码 运行 删 代码 运…

Android:OkHttp网络请求框架的使用

目录 一,OkHttp简介 二,OkHttp请求处理流程 三,OkHttp环境配置 四,OkHttp的使用 1.get网络请求 2.post上传表单数据 3.post上传json格式数据 4.文件上传 5.文件下载 一,OkHttp简介 OkHttp是square公司推出的一…

docker安装git

一、安装Gitlab 1.搜索影像 2.下载影像 3.启动Git服务 4.查看Gitlab是否已经启动 二、配置Gitlab 1.首先,先进入容器 2.修改gitlab.rb文件 3.修改gitlab.rb文件中的IP与端口号 3.配置gitlab.yml文件 4.重启服务 5.退出命令行,推出容器命令 6.使用浏览器打…

【线性回归】梯度下降

文章目录 [toc]数据数据集实际值估计值 梯度下降算法估计误差代价函数学习率参数更新 Python实现导包数据预处理迭代过程结果可视化完整代码 结果可视化线性拟合结果代价变化 数据 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , y^{(i)}\right) , i 1 ,…

TransFormer学习之VIT算法解析

1.算法简介 本文主要对VIT算法原理进行简单梳理,下图是一个大佬整理的网络整体的流程图,清晰明了,其实再了解自注意力机制和多头自注意力机制后,再看VIT就很简单了 受到NLP领域中Transformer成功应用的启发,ViT算法尝…

Linux远程登录方式ssh与vnc的区别

ssh登录 ssh是基于非对称密钥加密登录服务器 vnc登录 vnc登录相当于Linux图形界面的方式登录 为什么需要多种登录方式 在ssh无法远程登录时,可以使用vnc登录。新安装的虚拟机不一定会安装或启用ssh服务,并且要实现ssh的远程登录,linux防…

字符串的定义和操作 继续!

字符串的定义和操作 1)定义 与列表、元组一样,字符串也可以通过下标进行访问 从前向后,下标从0开始 从后向前,下标从-1开始 my_str "green" # 通过下标索引取值 value my_str[0] value2 my_str[-5] print(f&quo…

k8s pv 一直是release状态

如下图所示,pv 一直是release状态 这个时候大家可能就会想到现在我的 PVC 被删除了,PV 也变成了 Released 状态,那么我重建之前的 PVC 他们不就可以重新绑定了,事实并不会,PVC 只能和 Available 状态的 PV 进行绑定。…

什么是谷歌爬虫?

其实就是谷歌用来浏览网络信息的一个自动化程序,他们会在你的网站爬取,寻找和搜集信息,谷歌爬虫可以说决定着一个网站在谷歌的生死 谷歌爬虫的作用机制就在于发现新网站以及新网页,然后他会把网页的内容带回去,更新到…

嵌入式科普(18)Ubuntu在移动硬盘的安装和启动

目录 一、概述 二、应用场景 三、移动硬盘安装Ubuntu 3.1 移动硬盘格式化 3.2 VMware安装Ubuntu到移动硬盘 四、电脑BIOS启动移动硬盘Ubuntu 五、从VMware启动移动硬盘Ubuntu 六、问题解决(坑)和思考提问 嵌入式科普(18)Ubuntu在移动硬盘的安装和启动 一、概述 在移动硬…

Thingsboard规则链:Entity Type Filter节点详解

在物联网(IoT)的世界里,数据的多样性与复杂性要求处理架构具备高度的灵活性和针对性。ThingsBoard作为一款强大的物联网平台,通过其规则链(Rule Chains)机制,让数据的自动化处理变得既强大又灵活…

设计模式7——建造者模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 建造者模式(Builde…

C++下的内存管理

文章目录 内存分布C语言中动态内存管理方法C内存管理new/delete操作内置类型new和delete操作自定义类型operator new 和 operator deletenew和delete的实现原理定位new表达式 malloc/free和new/delete的区别内存泄漏 内存分布 栈:又叫做堆栈–非静态局部变量/函数参…

Sketch v100 for Mac 安装教程【支持M芯片】

Sketch v100 for Mac 安装教程【支持M芯片】 原文地址:https://blog.csdn.net/weixin_48311847/article/details/139104315

秀某动预约抢票脚本

秀某动预约抢票脚本 小白操作-仅供学习参考 主要流程和功能 初始化和配置变量: confirm_url 和 login_url: 分别存储登录和确认订单的URL。 wait_time: 用户输入的提前多少秒开始执行。 start_time: 开售时间。 DEBUG: 调试标志,用于控制脚本的行为。 浏览…

4. C++入门:内联函数、auto关键字、范围for及nullptr

内联函数 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率 对比C的宏 C语言不足:宏 #define ADD(x, y) ((x)(y))int main() {int ret…

Spring框架中获取方法参数名称:DefaultParameterNameDiscoverer

DefaultParameterNameDiscoverer 是Spring框架中用于获取方法参数名称的一个类。在Java中,方法的参数名称通常在编译时会丢失,因为Java字节码并不强制要求保留这些信息。Spring提供了一种机制来恢复这些参数名称,这就是通过DefaultParameterN…

工厂模式(简单工厂模式+工厂模式)

工厂模式的目的就是将对象的创建过程隐藏起来,从而达到很高的灵活性,工厂模式分为三类: 简单工厂模式工厂方法模式抽象工厂模式 在没有工厂模式的时候就是,客户需要一辆马车,需要客户亲自去创建一辆马车,…

javaSwing仓库商品管理系统(文档+视频+源码)

摘要 Java swing实现的一款简单的仓库商品管理系统,数据库采用的是mysql,本系统实现了两个角色层面的功能,管理员可以管理用户、仓库、商品信息等。普通用户登录后可以查看商品、仓库信息及个人信息。 系统实现 登录界面: 我们…

MySQL中锁的几种类型

MySQL根据加锁的范围,可以分为全局锁、表级锁、行级锁三类。 2.5.1. 锁定读 2.5.1.1. 共享锁和独占锁 事务的 读-读 情况并不会引起什么问题,对于 写-写、读-写 或 写-读 这些情况可能会引起一些问题,需要使用MVCC或者加锁的方式来解决。在…