本地搭建【文档助手】大模型版(LangChain+llama+Streamlit)

概述

本文的文档助手就是:我们上传一个文档,然后在对话框中输入问题,大模型会把问题的答案返回。

安装步骤

  1. 先下载代码到本地

LangChain调用llama模型的示例代码:https://github.com/afaqueumer/DocQA(代码不是本人写的,尊重原创)

git clone https://github.com/afaqueumer/DocQA.git
  1. 环境安装
双击 setup_env.bat
  • 如果没反应可能是缺少环境,打开控制台手动执行一下,缺python或者pip的自己根据报错下载一下

如果llama-cpp-python安装报错
(1)需要下载Visual Studio
(2)打开Visual Studio,工具,获取工具和功能
请添加图片描述
(3)等待下载完,重新运行setup_env.bat

如果还有报错【error C2061: 语法错误:】,那么可能是Visual Studio的版本太低了,我一开始用的是2019版本,后来换成了2022
在这里插入图片描述
更新为2022之后重复上面操作

  1. 下载一个靠谱的模型
    https://huggingface.co/TheBloke/Llama-2-7B-GGUF
    本文用的是:TheBloke/Llama-2-7B-GGUF中的最精简版
    在这里插入图片描述
  2. 进入DocQA,修改app.py

原始

llm = LlamaCpp(model_path="./models/llama-7b.ggmlv3.q4_0.bin")
embeddings = LlamaCppEmbeddings(model_path="models/llama-7b.ggmlv3.q4_0.bin")

这里改成自己下载的模型地址,比如:llama-2-7b.Q2_K.gguf

llm = LlamaCpp(model_path="../llama.cpp/models/7B/llama-2-7b.Q2_K.gguf")
embeddings = LlamaCppEmbeddings(model_path="../llama.cpp/models/7B/llama-2-7b.Q2_K.gguf")
  1. 运行
双击run_app.bat

在这里插入图片描述

  1. 测试

准备好一个txt文档

As of October this year, there were nearly 2,500 geographical indication products in China
The reporter learned from the State Intellectual Property Office that in recent years, the quantity and quality of China's geographical indication products have risen rapidly. As of October this year, China has approved a total of 2,495 geographical indication products, and approved 7,013 geographical indications to be registered as collective trademarks and certification trademarks. In 2021, the direct output value of GI products exceeded 700 billion yuan.
In recent years, the State Intellectual Property Office has conscientiously implemented the decisions and arrangements of the CPC Central Committee and the State Council, actively and steadily promoted the unified acceptance channels, unified special signs, unified announcements, unified protection and supervision, unified foreign cooperation and other work, and further improved the system of protection, management and application of geographical indications.
In terms of institutional construction, the State Intellectual Property Office issued the "14th Five-Year Plan for the Protection and Use of Geographical Indications", formulated and issued a unified special indication for geographical indications, revised and issued the "Measures for the Protection of Foreign Geographical Indication Products", and launched the legislative work on geographical indications; In the year, a total of 1,416 cases of infringement of geographical indications were investigated and dealt with across the country, involving an amount of 9.28 million yuan and a fine of 13.023 million yuan

上传到页面中
在这里插入图片描述
没有GPU的痛苦,运行太慢了

注意:别用中文问,这个模型好像不支持中文,换一个支持中文的模型就行了
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

session 的原理

目录 1,session 的原理如何删除 session1,设置过期时间2,客户端主动通知 2,和 cookie 的区别安全性举例:验证码 3,举例 1,session 的原理 建议先看这篇文章:浏览器 cookie 的原理&a…

C语言操作符if语句好习惯 详解分析操作符(详解4)

各位少年: 前言 还记得我们上一章讲过一个比较抽象的代码,它要比较两次都是真的情况下才能打印,那么很显然这样写代码是有弊端的?哪我们C语言之父丹尼斯.里奇,先介绍一下上次拉掉了if语句的好习惯 好再分享一些操作符…

ref组合式api声明状态

一、ref声明响应式状态(支持所有类型),因为内部维护一个refImpl对象{value:***},,如下图: ref声明的数字、字符、布尔、对象、数组类型的值都存在refImpl 对象的value属性里面 所以,如果要改变ref 声明的变…

国外加固Appdome环境检测与绕过

文章目录 前言第一部分:定位检测逻辑的通用思路1. 通过linux“一切皆文件”思路定位2. 分析现有检测软件猜测可能检测点3. 通过正向开发思路定位4. 通过activity及弹窗定位 第二部分:检测结果展示整体流程1. Jni反射调用doDispath完成广播发送2. NativeB…

实战教学:零食百货商城小程序开发全程指导

随着移动设备的普及和互联网技术的发展,小程序成为越来越多人的选择,特别是在购物方面。开发一个零食百货商城小程序,可以让你在手机上随时随地购买各种零食,方便快捷。本文将为你提供全程指导,让你轻松开发一个成功的…

低代码实施复杂应用的实践方法

内容来自演讲:韦有炬 | 柳州知行远企业管理咨询有限公司 | 总经理 摘要 本文探讨了在全民开发时代如何使用低代码实施复杂应用并降低上线风险。文章分析了复杂系统实施失败的风险,包括项目规划不周、人员变动、企业基础管理不足等,并对比了低…

漏刻有时数据可视化Echarts组件开发(46)散点图颜色判断

series组件 series: [{name: Top 5,type: scatter,coordinateSystem: bmap,data: convertData(data.sort(function (a, b) {return b.value - a.value;}).slice(0, 6)),symbolSize: 20,encode: {value: 2},showEffectOn: render,rippleEffect: {brushType: stroke},label: {fo…

数据仓库【2】:架构

数据仓库【2】:架构 1、架构图2、ETL流程2.1、ETL -- Extract-Transform-Load2.1.1、数据抽取(Extraction)2.1.2、数据转换(Transformation)2.1.3、数据加载( Loading ) 2.2、ETL工具2.2.1、结构…

麦肯锡产品经理问题解决流程终极指南

您是否想知道世界上最成功的产品经理如何始终如一地提供不仅满足而且超出预期的解决方案?秘密可能就在于世界上最负盛名的咨询公司之一麦肯锡公司所磨练的方法论。本文深入探讨了麦肯锡的问题解决流程,该流程专为希望提升水平的产品经理量身定制。 01. 麦…

基于Java开发的微信约拍小程序

一、系统架构 前端:vue | element-ui 后端:springboot | mybatis 环境:jdk8 | mysql8 | maven | mysql 二、代码及数据库 三、功能说明 01. 首页 02. 授权登录 03. 我的 04. 我的-编辑个人资料 05. 我的-我的联系方式 06. …

程序员必须掌握的排序算法:插入排序的原理与实现

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《数据结构&算法》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 插入排序八大排序之一是一种非常简单直观的排序算法,尽管插入排序在时间复杂度上并不…

vitis HLS中实现canny算法的IP核

一、前言 canny边缘检测主要用于提取图像的边缘,是最常用且有效的边缘检测算法。在AMD赛灵思提供的库函数中,使用xf::cv::Canny和xf::cv::EdgeTracing两个函数实现canny边缘提取。本文举例说明如何在vitis HLS 2023.1中实现canny算法。 二、xf::cv::Cann…

linux:下载、网络请求、端口

一:ping命令 可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 1、选项:-c,检查的次数,不使用-c选项,将无限次数持续检查 2、参数:ip或主机名,被检查的服务器的…

【知识点随笔分享 | 第九篇】常见的限流算法

目录 前言: 1.固定窗口限流: 缺点: 2.滑动窗口限流: 优点: 滴桶限流: 缺点: 令牌桶限流: 优点: 总结: 前言: 当今互联网时代,随着网络…

【Linux系统编程】【Google面试题改编】线程之间的同步与协调 Linux文件操作

编写程序,有四个线程1、2、3、4 线程1的功能就是输1,线程2的功能就是输出2,以此类推……现在有四个文件ABCD初始都为空 现要让四个文件呈如下格式: A: 1 22 333 4444 1 22 333 4444… B: 22 333 4444 1 22 333 4444 1… C: 333 4444 1 22 333 4444 1 2…

VMware安装linux系统一

1、创建虚拟机 1.1、创建新的虚拟机 1.2、进入安装向导 1.3、安装操作系统,选择稍后安装操作系统 1.4、选择Linux,版本选择CentOS64位 1.5、设置虚拟机名称和安装位置 1.6、设置磁盘大小 1.7、创建虚拟机 1.8、完成安装 2、配置虚拟机 2.1、选择编辑虚拟机 2.2、修…

【笔记】入门PCB设计(全30集带目录) 杜洋工作室 AD09 Altium Designer

入门PCB设计(全30集带目录) 杜洋工作室 AD09 p1 创建p2 原理图上增加元件1)加元件2)放导线3)自定义元件1. 自定义排针2.有引脚的元件 p3 完整原理图 p1 创建 step1.创建(PCB)工程,后缀.PrjPCB。…

算法导论复习(三)

这一次我们主要复习的是递归式求解 递归式求解主要有的是三种方法: 代换法递归树法主方法 我们进行处理的时候要 代换法 方法讲解 主要就是猜测答案的形式 我们只在乎 n 在无穷大的时候成立就行 关于答案的形式,我发现最后能够是 n log n 的形式的…

计算机网络简述

前言 计算机网路是一个很庞大的话题。在此我仅对其基础概述以及简单应用进行陈述。后续或有补充以形成完善的计算机网络知识体系。 一.计算机网络的定义 根据百度词条的描述,计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过…

微信小程序开发系列-03全局配置中的“window”和“tabBar”

本文继续学习下全局配置中的“window”和“tabBar”。 window 用于设置小程序的导航栏、标题、窗口颜色等。(吐槽一句,官网这里的属性描述真的让人看不懂,只有靠自己实际运行调试才能知道是什么意思。) 导航栏 设置导航栏背景色…