Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q A 应用程序

/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



Sidebar contents

with st.sidebar:
st.title(‘💬PDF Summarizer and Q/A App’)
st.markdown(‘’’
## About this application
You can built your own customized LLM-powered chatbot using:
- Streamlit
- LangChain
- OpenAI LLM model

''')
add_vertical_space(2)
st.write(' Why drown in papers when your chat buddy can give you the highlights and summary? Happy Reading. ')
add_vertical_space(2)   


### 上传 PDF 文件


为了方便大家学习,我把一些示例的 PDF 文件进行上传。你可以在[地址]( )下载。


我们使用如下的代码来上传 PDF 文件:



pdf = st.file_uploader(“Upload your PDF File and Ask Questions”, type=“pdf”)


Streamlit 中的 st.file\_uploader 功能允许用户上传 PDF 文件,使他们能够交互式地选择和上传 PDF 文档,以便在 Streamlit Web 应用程序中进行进一步处理或分析。


我们使用如下的命令来运行代码:


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 im

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值