设计外贸网站建设,南宁建设银行官网招聘网站,wordpress 外部链接插件,常州企业网站建站模板在本文中#xff0c;使用LangChain、HuggingFaceEmbeddings和HuggingFace的Mistral-7B LLM创建一个简单的Python程序#xff0c;可以从任何pdf文件中回答问题。
一、LangChain简介
LangChain是一个在语言模型之上开发上下文感知应用程序的框架。LangChain使用带prompt和few…在本文中使用LangChain、HuggingFaceEmbeddings和HuggingFace的Mistral-7B LLM创建一个简单的Python程序可以从任何pdf文件中回答问题。
一、LangChain简介
LangChain是一个在语言模型之上开发上下文感知应用程序的框架。LangChain使用带prompt和few-shot示例的LLM来提供相关响应和推理。LangChain擅长文档问答、聊天机器人、分析结构化数据等。LangChain提供方便处理LLM的抽象组件及其实现还为更高级别的任务提供组件Chain。
安装langchain
pip install langchainLangChain中的模块Model I/O模型I/O, Retrieval检索, Chains链, Agents代理, Memory记忆, Callbacks回调
1.1 模型I/O模块
模型I/O是应用程序的核心元素。使用LangChain可以使用任何大语言模型。这个接口需要三个组件大语言模型、提示和输出解析器。
LangChain提供了许多类和函数来构建提示为各种任务提供现成的**提示模板**也可以自定义提示模板。
LangChain可以使用LLM也可以使用以聊天消息列表为输入并返回聊天聊天消息。它可以与许多LLM一起工作包括OpenAI LLMs和开源LLM。
输出解析器用于构建从LLM接收的响应PydanticOutputParser是LangChain中输出解析器的主要类型。
1.2 检索模块
检索模块实现了检索增强生成RAG可以访问大模型训练数据之外的用户私有数据。检索步骤包括以下几步加载数据、转换数据、创建或获取嵌入、存储嵌入和检索嵌入。LangChain拥有大约100个文档加载器可以读取主要的文档格式比如CSV、HTML、pdf、代码等。它可以使用不同的算法转换数据。LangChain集成了超过25个嵌入模型和超过50家向量数据库。
1.3 链条模块
复杂的应用程序通常需要组合多个LLM来完成。LangChain提供了Chain功能可以集成多个LLMChain也可以调用其他Chain。
1.4 代理模块
代理也是一种Chain负责决定下一步动作。代理由一个语言模型和一个提示组成它需要以下输入可用工具列表、用户输入和历史执行信息如果有的话。代理cals的功能被称为“工具”。代理使用LLM来决定要采取的操作和顺序。操作包括——使用工具观察工具的输出向用户返回响应。
1.5 记忆模块
记忆模块使系统能够记住过去的信息这在对话机器人中非常重要。
1.6 回调模块
回调机制允许用户使用API的“回调”参数返回LLM应用程序不同阶段的信息比如用于日志记录、监控、流式传输等。
二、Mistral-7B
Mistral-7B是一个强大的语言模型目前是开源的具有73亿个参数性能优于很多参数量更高的大模型。它可以下载以供离线使用也可以在云中使用或从HuggingFace下载。使用langchain中的HuggingFaceHub可以使用以下代码加载并使用Mistral-7B
repo_id mistralai/Mistral-7B-v0.1
llm HuggingFaceHub(huggingfacehub_api_tokenyour huggingface access token here, repo_idrepo_id, model_kwargs{temperature:0.2, max_new_tokens:50})三、HuggingFace Embedding
在处理文本、图像、音频、视频、文档等数据时通常首先会进行embedding把他们表示成数字类型这样便于神经网络处理embedding不仅仅是一种数字表示它也可以捕捉数据的上下文语义信息。
HuggingFace提供了Sentence Transformers模型可以进行embedding安装如下所示
pip install -U sentence-transformers然后使用它加载一个预先训练好的模型来对文本句子进行编码。
四、chroma向量存储
chroma是一个开源的嵌入数据库矢量存储用于创建、存储、检索和进行嵌入的语义搜索。安装如下
pip install chroma它允许用户连接到chroma客户端创建一个集合将带有元数据和id的文档添加到集合此步骤创建嵌入然后查询此集合语义检索。
五、pypdf 库
pypdf库可以读取、拆分、合并、裁剪、转换pdf文件的页面添加自定义数据更改查看选项为pdf文件添加密码从pdf文件中检索文本和元数据。安装如下所示
pip install pypdf要将pypdf与AES加密或解密一起使用请安装额外的依赖项
pip install pypdf[crypto]六、实现代码
# Install dependencies
!pip install huggingface_hub
!pip install chromadb
!pip install langchain
!pip install pypdf
!pip install sentence-transformers# import required libraries
from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.llms import HuggingFaceHub
from langchain.vectorstores import Chroma
from langchain.chains import ConversationalRetrievalChain# Load the pdf file and split it into smaller chunks
loader PyPDFLoader(report.pdf)
documents loader.load()# Split the documents into smaller chunks
text_splitter CharacterTextSplitter(chunk_size1000, chunk_overlap0)
texts text_splitter.split_documents(documents)# We will use HuggingFace embeddings
embeddings HuggingFaceEmbeddings()#Using Chroma vector database to store and retrieve embeddings of our text
db Chroma.from_documents(texts, embeddings)
retriever db.as_retriever(search_kwargs{k: 2})# We are using Mistral-7B for this question answering
repo_id mistralai/Mistral-7B-v0.1
llm HuggingFaceHub(huggingfacehub_api_tokenyour huggingface access token here, repo_idrepo_id, model_kwargs{temperature:0.2, max_new_tokens:50})# Create the Conversational Retrieval Chain
qa_chain ConversationalRetrievalChain.from_llm(llm, retriever,return_source_documentsTrue)#We will run an infinite loop to ask questions to LLM and retrieve answers untill the user wants to quit
import sys
chat_history []
while True:query input(Prompt: )#To exit: use exit, quit, q, or Ctrl-D.,if query.lower() in [exit, quit, q]:print(Exiting)sys.exit()result qa_chain({question: query, chat_history: chat_history})print(Answer: result[answer] \n)chat_history.append((query, result[answer]))至此基于PDF的聊天机器人就搭建好了你可以从一个长而难的pdf中回答你的所有问题。Just do it
通俗易懂讲解大模型系列 用通俗易懂的方式讲解ChatGPT 开放的多模态的DALL-E 3功能好玩到停不下来 用通俗易懂的方式讲解结合检索和重排序模型改善大模型 RAG 效果明显 用通俗易懂的方式讲解基于扩散模型Diffusion,文生图 AnyText 的效果太棒了 用通俗易懂的方式讲解在 CPU 服务器上部署 ChatGLM3-6B 模型 用通俗易懂的方式讲解ChatGLM3-6B 功能原理解析 用通俗易懂的方式讲解使用 LangChain 和大模型生成海报文案 用通俗易懂的方式讲解一个强大的 LLM 微调工具 LLaMA Factory 用通俗易懂的方式讲解ChatGLM3-6B 部署指南 用通俗易懂的方式讲解LangChain Agent 原理解析 用通俗易懂的方式讲解HugggingFace 推理 API、推理端点和推理空间使用详解 用通俗易懂的方式讲解使用 LangChain 封装自定义的 LLM太棒了 用通俗易懂的方式讲解使用 FastChat 部署 LLM 的体验太爽了 用通俗易懂的方式讲解基于 Langchain 和 ChatChat 部署本地知识库问答系统 用通俗易懂的方式讲解使用 Docker 部署大模型的训练环境 用通俗易懂的方式讲解在 Ubuntu 22 上安装 CUDA、Nvidia 显卡驱动、PyTorch等大模型基础环境 用通俗易懂的方式讲解Llama2 部署讲解及试用方式 用通俗易懂的方式讲解LangChain 知识库检索常见问题及解决方案 用通俗易懂的方式讲解基于 LangChain 和 ChatGLM2 打造自有知识库问答系统 用通俗易懂的方式讲解代码大模型盘点及优劣分析 用通俗易懂的方式讲解Prompt 提示词在开发中的使用 用通俗易懂的方式讲解万字长文带你入门大模型
技术交流
建了AIGC大模型技术交流群 想要学习、技术交流、获取如下原版资料的同学可以直接加微信号mlc2060。加的时候备注一下研究方向 学校/公司CSDN即可。然后就可以拉你进群了。 方式①、微信搜索公众号机器学习社区后台回复加群 方式②、添加微信号mlc2060备注来自CSDN 技术交流 参考文献
[1] https://medium.com/nimritakoul01/chat-with-your-pdf-files-using-mistral-7b-and-langchain-f3be9363301c
[2] https://colab.research.google.com/corgiredirector?sitehttps%3A%2F%2Fmedium.com%2F%40woyera%2Fhow-to-chat-with-your-pdf-using-python-llama-2-41df80c4e674
[3] https://www.shakudo.io/blog/build-pdf-bot-open-source-llms 文章转载自: http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn http://www.morning.pbygt.cn.gov.cn.pbygt.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn http://www.morning.jtmql.cn.gov.cn.jtmql.cn http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn http://www.morning.fppzc.cn.gov.cn.fppzc.cn http://www.morning.crsqs.cn.gov.cn.crsqs.cn http://www.morning.sgwr.cn.gov.cn.sgwr.cn http://www.morning.wynqg.cn.gov.cn.wynqg.cn http://www.morning.hpggl.cn.gov.cn.hpggl.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com http://www.morning.zhffz.cn.gov.cn.zhffz.cn http://www.morning.zdydj.cn.gov.cn.zdydj.cn http://www.morning.jpydf.cn.gov.cn.jpydf.cn http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.ghccq.cn.gov.cn.ghccq.cn http://www.morning.brwnd.cn.gov.cn.brwnd.cn http://www.morning.wjhnx.cn.gov.cn.wjhnx.cn http://www.morning.rgwrl.cn.gov.cn.rgwrl.cn http://www.morning.rghkg.cn.gov.cn.rghkg.cn http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn http://www.morning.yjqkk.cn.gov.cn.yjqkk.cn http://www.morning.ynryz.cn.gov.cn.ynryz.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.ckxd.cn.gov.cn.ckxd.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.clgbb.cn.gov.cn.clgbb.cn http://www.morning.njntp.cn.gov.cn.njntp.cn http://www.morning.ktyww.cn.gov.cn.ktyww.cn http://www.morning.ghpld.cn.gov.cn.ghpld.cn http://www.morning.zrpys.cn.gov.cn.zrpys.cn http://www.morning.lhwlp.cn.gov.cn.lhwlp.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn http://www.morning.swlwf.cn.gov.cn.swlwf.cn http://www.morning.sryyt.cn.gov.cn.sryyt.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn http://www.morning.gfkb.cn.gov.cn.gfkb.cn http://www.morning.qxbsq.cn.gov.cn.qxbsq.cn http://www.morning.gwjqq.cn.gov.cn.gwjqq.cn http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.trhlb.cn.gov.cn.trhlb.cn http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn http://www.morning.fnjrh.cn.gov.cn.fnjrh.cn http://www.morning.qrqcr.cn.gov.cn.qrqcr.cn http://www.morning.nxnrt.cn.gov.cn.nxnrt.cn http://www.morning.mdjtk.cn.gov.cn.mdjtk.cn http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn http://www.morning.nynlf.cn.gov.cn.nynlf.cn http://www.morning.rxydr.cn.gov.cn.rxydr.cn http://www.morning.tnmmp.cn.gov.cn.tnmmp.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn http://www.morning.grtwn.cn.gov.cn.grtwn.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.lrmts.cn.gov.cn.lrmts.cn http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn http://www.morning.xnzmc.cn.gov.cn.xnzmc.cn http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn http://www.morning.clxpp.cn.gov.cn.clxpp.cn http://www.morning.mdnnz.cn.gov.cn.mdnnz.cn http://www.morning.mflhr.cn.gov.cn.mflhr.cn http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.sskhm.cn.gov.cn.sskhm.cn