項(xiàng)目介紹
利用OpenAI文本總結(jié)和基于文本問(wèn)答的能力,實(shí)現(xiàn)了對(duì)上傳文件的總結(jié)和對(duì)話功能,文件支持pdf和epub兩種文件格式,支持結(jié)果和對(duì)話的本地持久化。網(wǎng)站免費(fèi)使用,無(wú)需注冊(cè)或登錄。本項(xiàng)目是網(wǎng)站的前端部分代碼。進(jìn)入網(wǎng)站>> 代碼倉(cāng)庫(kù)地址>>
技術(shù)棧
- 前端
- Reactjs v18、dexie v4、Typescript v5
- 服務(wù)端
- python v3.12、gunicorn、fastapi、langchain
網(wǎng)站部分截圖
文件上傳頁(yè)

readerguru-uploadpage.png
文件詳情頁(yè)

readerguru-detailpage.png
工作流程
每一次的總結(jié)或?qū)υ捔鞒套铋L(zhǎng)可能需要等待幾分鐘,這主要是由上傳文件的大小和OpenAI的處理效率決定的。 我們有必要了解下整個(gè)過(guò)程發(fā)生了什么。 以下是工作過(guò)程圖:

readerguru-flow.png
- 在我們開(kāi)始之前,您需要準(zhǔn)備一個(gè)
.pdf或.epub格式的文件 如果您沒(méi)有文件,您可以點(diǎn)擊下載一個(gè)示例pdf文件。上傳完成后,服務(wù)端會(huì)幫您處理剩下的事,您只需要耐心等待。 如果您不是開(kāi)發(fā)人員,可以跳過(guò)剩下的步驟。 - 服務(wù)端會(huì)從上傳的文件中提取所有的文本內(nèi)容,然后調(diào)用合適的
Text Splitter將文本內(nèi)容分割成許多獨(dú)立的document對(duì)象。 - 生成
Embeddings對(duì)象,通過(guò)利用OpenAI embedding。 - 通過(guò)
Embedding或Pinecone來(lái)生成vectors。 - 服務(wù)器會(huì)根據(jù)用戶操作來(lái)生成答案或總結(jié)。