OpenAI文本總結(jié)、對(duì)話功能實(shí)踐(使用React + Python fastapi

項(xiàng)目介紹

利用OpenAI文本總結(jié)和基于文本問(wèn)答的能力,實(shí)現(xiàn)了對(duì)上傳文件的總結(jié)和對(duì)話功能,文件支持pdfepub兩種文件格式,支持結(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
  1. 在我們開(kāi)始之前,您需要準(zhǔn)備一個(gè).pdf.epub格式的文件 如果您沒(méi)有文件,您可以點(diǎn)擊下載一個(gè)示例pdf文件。上傳完成后,服務(wù)端會(huì)幫您處理剩下的事,您只需要耐心等待。 如果您不是開(kāi)發(fā)人員,可以跳過(guò)剩下的步驟。
  2. 服務(wù)端會(huì)從上傳的文件中提取所有的文本內(nèi)容,然后調(diào)用合適的Text Splitter將文本內(nèi)容分割成許多獨(dú)立的document對(duì)象。
  3. 生成Embeddings對(duì)象,通過(guò)利用OpenAI embedding。
  4. 通過(guò)EmbeddingPinecone來(lái)生成vectors。
  5. 服務(wù)器會(huì)根據(jù)用戶操作來(lái)生成答案或總結(jié)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容