成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡易實用項目攻略:如何創建集文檔問答、摘要、轉錄、翻譯與提取于一身的AI門戶

譯文 精選
人工智能
本文我們將共同了解如何將整個項目拼湊起來,介紹技術選型理由,以及如何將其運行起來。不必擔心,所有內容均為開源,且不涉及任何AI“黑話”。

譯者 | 核子可樂

審校 | 重樓

如今AI雖已全面普及,但多數職場人士仍難以統一運用各類互不相關的工具:一會需要使用聊天機器人、一會需要將文本復制到摘要器內,再加上會議轉錄和翻譯,將本應順暢的工作流程拆分得零散瑣碎。

所以問題來了:為什么不能把各項AI功能集中起來?

為此我決定構建單一Web門戶,供用戶隨時上傳文檔、提問、獲取摘要、轉錄會議內容、翻譯文件,甚至從PDF中提取表格等。其功能不求花哨、只講實用,旨在解決我們每天面臨的實際問題。

下面我們將共同了解如何將整個項目拼湊起來,介紹技術選型理由,以及如何將其運行起來。不必擔心,所有內容均為開源,且不涉及任何AI“黑話”。

這個門戶能干啥?

  • 與數據對話:上傳文檔,用自然語言提問,直接獲取答案(不只靠關鍵詞匹配)。
  • 摘要:上傳長報告或政策文件,快速獲取簡短清晰的摘要——若有需要,還可以自定義摘要方式。
  • 轉錄:上傳會議錄音,快速獲得書面轉錄。
  • 翻譯:將文檔轉換為其他語言,保留原始格式。
  • 提取:從PDF中抓取表格和關鍵數據,并下載為JSON或Excel格式。

不必在各類應用間往來切換,只需上傳文件、選擇功能,即可獲得所需內容。

各項功能如何協同起效?

下面簡單來看項目的整體架構:

  • 前端:React
  • 后端:FastAPI(Python)
  • 大模型和嵌入:Azure OpenAI
  • 向量數據庫:Pinecone
  • 音頻轉錄:Whisper(本地運行)
  • 翻譯:Azure Translator
  • 文檔提取:Azure Document Intelligence
  • 存儲:本地或Azure Blob存儲(演示中使用本地存儲)
  • 認證:(生產環境可添加 Azure AD/OAuth)

各組件間的連接方式:

功能演示(附帶圖表及代碼)

與數據對話

無需閱讀全文,即可通過提問直接從PDF文件或者報告中獲取答案,是不是很讓人心動?這就是“與數據對話”功能。大家上傳文檔、用自然語言提出問題,大模型就能直接從文件內容中提取答案。這將為所有人節約時間——包括法律、財務、合規部門,乃至任何需要處理冗長文件的工作者。

如何實現

此門戶會拆分并嵌入文檔,將其存儲在Pinecone當中,并使用Azure OpenAI回答用戶輸入的任何問題。

后端:用于上傳文檔的FastAPI端點

# Python backend example
@app.post("/upload/")
async def upload_file(file: UploadFile = File(...)):
 contents = await file.read()
 text = contents.decode("utf-8", errors="ignore")
 upsert_document(text)
 return {"status": "uploaded"}

后端:用于聊天的FastAPI端點

# Python backend for chat
@app.post("/chat/")
async def chat(query: str = Form(...)):
 matches = query_pinecone(query)
 context = " ".join([m['text'] for m in matches])
 answer = get_answer(query, context)
 return {"answer": answer}

其余后端代碼請參見GitHub

摘要

坦白講,大多數商業文檔都搞得太冗長。摘要功能將幫助我們從這些大文件中獲取簡短、清晰的摘要。我們甚至可以添加自定義提示詞,例如“總結合規性關鍵風險”或“提供主要行動指標”。

如何實現

在上傳文檔之后,后端將內容及用戶的提示詞發送至Azure OpenAI,而后返回摘要內容——再無需通讀全文。

后端:FastAPI摘要端點

# Summarization endpoint
@app.post("/summarize/")
async def summarize(file: UploadFile = File(...), prompt: str = Form("Summarize this document:")):
 contents = await file.read()
 text = contents.decode("utf-8", errors="ignore")
 summary = summarize_text(text, prompt)
 return JSONResponse(content={"summary": summary})

詳見React SummarizeForm組件。

音頻轉錄

大家肯定都處理過會議或者電話錄音……再聽一遍真的讓人崩潰?,F在有了這項功能,只需上傳音頻或者視頻文件,即可快速獲取書面記錄。

如何實現

音頻上傳完成后,后端會使用Whisper轉錄所有內容,而后將全文顯示在瀏覽器內。

后端:FastAPI音頻轉錄端點

# Audio transcription endpoint
@app.post("/transcribe/")
async def transcribe(file: UploadFile = File(...)):
 audio_bytes = await file.read()
 transcript = transcribe_audio_file(audio_bytes, file.filename)
 return JSONResponse(content={"transcript": transcript})

TranscribeForm.js

語言翻譯

全球團隊往往需要跨語種協作,而文檔翻譯則速度極慢且耗費大量人力?,F在大家可以上傳任意文件、選定目標語言并快速獲取翻譯版本——連格式都幾乎保持一致。

如何實現

上傳文檔、選定語言,后端會調用Azure Translator進行翻譯,并將結果展示給用戶。

后端:FastAPI翻譯端點

# Translation endpoint
@app.post("/translate/")
async def translate(
 file: UploadFile = File(...),
 to_language: str = Form(...)
):
 contents = await file.read()
 text = contents.decode("utf-8", errors="ignore")
 translated = fake_translate(text, to_language)
 return JSONResponse(content={"translated": translated})

TranslateForm.js

文檔提取器

從PDF和表單中提取表格和鍵值數據一直是最讓文員們抓狂的任務。不怕,現在可以交給AI搞定。

如何實現

上傳PDF(或其他掃描文檔),選擇JSON或Excel格式,此門戶將使用Azure Document Intelligence提取表格及鍵值對。結果可供隨時下載。

后端:FastAPI提取端點

# Document extractor endpoint
@app.post("/extract/")
async def extract(
 file: UploadFile = File(...),
 output_format: str = Form("json")
):
 contents = await file.read()
 filename = file.filename

 if output_format == "excel":
 xls_path = extract_tables_and_kv(contents, filename, output_format="excel")
 return FileResponse(xls_path, media_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename="extracted_tables.xlsx")
 else:
 output = extract_tables_and_kv(contents, filename, output_format="json")
 return JSONResponse(content=output)

ExtractForm.js

如何運行這套門戶

開源代碼地址: github.com/sanjaybk7/AIPortal

  • 克隆repo: git clone https://github.com/sanjaybk7/AIPortal.git
  • 后端:
    進入 backend,設置Python、安裝依賴項并運行FastAPI。
  • 前端:
    進入 frontend,安裝依賴項并運行React。
  • 打開瀏覽器:
    訪問 http://localhost:3000 并開始上傳。

注意,這里需要使用Azure和Pinecone的API密鑰,相關設置方法已在repo說明中提供。

總結

相信很多朋友跟我一樣,已經厭倦了在不同AI工具間往來切換。通過這篇簡短的攻略,咱們成功把多款現代AI工具集中起來,感興趣的朋友不妨趕緊用起來!

原文標題How I Built an AI Portal for Document Q and A, Summarization, Transcription, Translation, and Extraction,作者:Sanjay Krishnegowda

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2011-05-25 19:16:35

2011-10-13 16:54:33

聯想激光打印機

2011-08-31 15:39:16

惠普激光打印機

2021-04-15 19:37:06

戴爾

2019-12-05 19:09:00

華為暢享10S

2015-09-22 21:24:37

惠普激光打印機

2011-11-26 12:24:44

惠普復合一體機

2019-12-05 19:57:00

華為暢享10S

2012-03-06 15:38:41

華碩RT-N56U無線路由

2012-12-04 10:15:06

2019-02-18 11:26:49

AI 數據人工智能

2023-05-31 11:38:31

NVIDIASpectrum-X

2019-02-15 14:33:56

AI模型翻譯語言

2024-01-10 21:19:09

Linux 內核文件系統

2011-12-09 20:03:05

平板

2022-04-29 09:10:25

MobaXterm軟件Linux

2013-09-17 09:59:26

2012-06-12 10:59:29

明基投影機

2012-05-08 15:07:41

富士施樂復合一體機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片在线看看 | 日本在线免费视频 | 国产一二三视频在线观看 | 成人三级av| 欧美亚洲视频在线观看 | 亚av在线 | 久久精品国产亚洲一区二区三区 | 欧美精品一二三区 | 欧美精品久久久久 | 天天干干| av大片在线 | 亚洲欧洲日韩精品 中文字幕 | 亚州一区二区三区 | 成人国产精品免费观看 | 欧美精品一区在线发布 | 精品视频一区二区三区 | 国产免费xxx | 亚洲成人一级片 | 久久中文字幕一区 | 久久国产精品一区二区 | 在线免费观看欧美 | 91在线观看网址 | 91精品久久久久久综合五月天 | 精品国产乱码久久久久久88av | 亚洲码欧美码一区二区三区 | 国产成都精品91一区二区三 | 亚洲视频在线看 | 日本一二区视频 | 97超碰中文网 | 欧美精品一区二区三区四区 | 日韩欧美第一页 | 国产乱码精品1区2区3区 | www.青青草 | 日韩av成人 | 中文字幕日韩欧美 | 精品日韩一区二区 | 午夜码电影 | 岛国精品 | 欧美成人激情视频 | 国产精品99久久久久久www | 欧美视频成人 |