赞
踩
嘿! 您是否曾经感觉自己被淹没在信息的海洋中? 有这么多的书要读,而时间却这么少,很容易就会超负荷,对吧? 但猜猜怎么了? 你可以使用大型语言模型创建自定义聊天机器人,该模型可以帮助您总结 pdf 并根据你上传的 pdf 回答你的问题。 拥有 PDF 摘要生成器就像拥有一个超级聪明的伙伴,他可以阅读那些又长又无聊的文档,并为你提供所需的内容。 不再需要翻阅研究论文或任何报告。 有大量工具可以帮助你总结文档,有些需要付费,有些是免费的。 但是为什么不尝试创建你的 PDF 摘要应用程序并尝试一下最适合你的呢?
在这篇博文中,我将向您展示如何使用 Open AI、Lang chain 和 Stream lit 构建端到端应用程序。 那么,让我们开始吧!
在这个项目中,我们将使用以下内容:
Open AI 是一个人工智能研究组织,专注于开发先进的人工智能技术,造福人类。 它的成立是为了负责任地、有益地推进人工智能。 OpenAI 在人工智能的各个领域进行研究,包括自然语言处理、强化学习、机器人技术等。 其主要目标之一是开发能够以类人智能执行各种任务的人工智能系统。 OpenAI 的著名项目和成就之一是语言模型。 OpenAI 开发了大规模语言模型,例如 GPT(生成式预训练转换器)系列,它可以根据提供给它们的输入生成类似人类的文本。 这些模型在自然语言理解、文本生成翻译等领域都有应用。
要生成 OpenAI API 密钥,请访问网站 https://openai.com/,登录,然后从标记为 “API Keys” 的部分生成一个对每个人来说都是唯一的 API 密钥。 一旦你的 API 密钥生成,它将显示在屏幕上。 复制 API 密钥并安全存储。 将您的 API 密钥视为密码,并避免公开共享。 你现在可以使用 OpenAI API 密钥访问 OpenAI API 并将其集成到你的应用程序、项目或研究中。
LangChain 是一个用于构建由语言模型支持的上下文感知推理应用程序的框架。 它使应用程序能够根据上下文理解并做出响应,从而增强决策能力。 LangChain 提供工具、库和预构建组件,用于创建复杂的基于文本的应用程序,包括聊天机器人、数据分析和检索增强生成任务。 其主要目的是使开发人员能够在其应用程序中有效地利用语言模型,使他们能够推理、响应以及与用户或数据进行智能交互。
Streamlit 是一个开源 Python 库,用于为机器学习和数据科学项目构建 Web 应用程序。 它允许开发人员直接直观地编写代码,从而简化了创建交互式 Web 应用程序的过程。 借助 Streamlit,开发人员可以直接从 Python 脚本创建交互式 Web 应用程序,而无需编写 HTML、CSS 或 Javascript 代码。 它提供了易于使用的组件,用于创建交互式小部件、可视化和数据显示。 在此项目中,我们使用 Streamlit 来实现简单的用户界面,你可以在本博客末尾看到。
运行 streamlit 应用可以使用命令:streamlit run app.py
如果你还没有安装好自己的 Elasticsearch 及 Kibana,那么请参考一下的文章来进行安装:
在安装的时候,请选择 Elastic Stack 8.x 进行安装。在安装的时候,我们可以看到如下的安装信息:
为了方便大家学习,我在本次的演示中使用 Elastic Stack 8.12 来进行展示。
pip3 install langchain OpenAI PyPDF2 python-dotenv streamlit elasticsearch streamlit-extras tiktoken langchain-community
你可以使用 pip install 简单地安装所有这些库。
- $ pwd
- /Users/liuxg/python/PDF-Summarizer-End-to-End-Project
- $ cp ~/elastic/elasticsearch-8.12.0/config/certs/http_ca.crt .
- $ ls http_ca.crt
- http_ca.crt
我们在自己的项目根目录下创建如下的 .env 文件:
.env
- ES_USER="elastic"
- ES_PASSWORD="q2rqAIphl-fx9ndQ36CO"
- ES_ENDPOINT="localhost"
- OPENAI_API_KEY="YourOpenAIkey"
请记得根据自己的 Elasticsearch 配置及 OpenAI key 进行相应的修改。
我们在当前的目录下创建一个叫做 app.py 的文件。
- from dotenv import load_dotenv
- import streamlit as st
- from PyPDF2 import PdfReader
- from streamlit_extras.add_vertical_space import add_vertical_space
- from langchain.text_splitter import CharacterTextSplitter
- from langchain.embeddings.openai import OpenAIEmbeddings
- from elasticsearch import Elasticsearch, helpers
- from langchain_community.vectorstores import ElasticsearchStore
- from langchain.chains.question_answering import load_qa_chain
- from langchain_community.llms import OpenAI
- from langchain_community.callbacks import get_openai_callback
- import os
- # Sidebar contents
- with st.sidebar:
- st.title('声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/242392推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。