選項
首頁
新聞
使用 Langchain、OpenAI 和 Streamlit 建立自己的 AI 文字摘要器

使用 Langchain、OpenAI 和 Streamlit 建立自己的 AI 文字摘要器

2025-12-09
132

在當今快速演變的數位環境中,快速高效地濃縮大量文本的能力極具價值。本指南將引導您運用現代技術——OpenAI、Langchain 與 Streamlit——打造專屬的文本摘要工具。無論您是開發者、學生或企業專業人士,此工具皆能協助您優化工作流程,並深化對書面資訊的理解。

重點摘要

運用 OpenAI、Langchain 與 Streamlit 開發文本摘要應用程式

運用 GPT 3.5 語言模型實現強大的摘要功能。

運用 Streamlit 建構直覺易用的網頁介面。

整合 Langchain 社群工具以優化摘要工作流程。

理解將文本分割為段落對人工智慧模型處理至關重要的原因。

將最終應用程式部署於 Streamlit 社群雲端,實現便捷存取與共享。

整合自動清除已用 API 金鑰的功能,強化安全性。

文本摘要應用程式開發

理解技術架構

要打造高效能的文本摘要應用程式,深入掌握技術架構至關重要。讓我們詳細檢視各個組件:

  • Streamlit:作為網頁介面的基礎框架,提供以 Python 開發互動式應用程式的簡易靈活方案。其使用者友善特性支援快速原型開發與部署。
  • Langchain:此框架能簡化基於大型語言模型(LLM)的應用開發流程,內含文件處理、文本分割及摘要生成等模組。
  • OpenAI:提供核心LLM模型(具體為GPT 3.5),負責分析輸入文本並生成精煉摘要。
  • Tiktoken:透過將文本切分至 LLM 可處理的細小片段,實現文本分詞以供 OpenAI 模型高效運用。

整合這些技術後,您只需極少編碼工作量,即可打造出可靠且易用的文本摘要工具。

文本摘要生成流程

以下是文本摘要流程的逐步解析:

  1. 輸入文本:使用者提供欲摘要的文本內容,可為文件、文章或其他書面材料。
  2. 字元分割器:透過 Langchain 的 CharacterTextSplitter。此為有效管理文本的關鍵步驟。大量文本可能對AI模型造成負擔,分割處理可確保順暢運算。
  3. 分塊處理:文字分割器將輸入內容拆分為可管理塊狀,同時保留字元邊界以維持語境連貫性。
  4. 文件生成:每個文本區塊轉化為Langchain Document 物件,可無縫整合Langchain摘要功能。
  5. 大型語言模型互動: load_summarize_chain 摘要生成:此功能運用OpenAI大型語言模型,為每份文件生成精簡摘要,簡化與語言模型的互動流程。
  6. 摘要文本:最終產出的是原始文本的精簡版本,以緊湊形式保留關鍵細節。透過調用 LLM 的能力,將文本轉化為簡明扼要卻資訊豐富的摘要。

為何分塊對 AI 模型至關重要?

分塊是關鍵步驟,因其使AI模型能處理更小、更易操作的資訊片段。

此方法降低了文本摘要的認知與運算需求。AI模型處理精簡聚焦的區塊時效能更佳,通常能提升表現與精準度。將長篇文本拆解為易消化的部分,亦有助模型保留上下文脈絡,並聚焦於各區段中最關鍵的資訊。

下表闡明分割文本以提升大型語言模型處理精準度的必要性:

程式碼實作細節

導入函式庫

應用程式開發的第一步是導入所需函式庫:Streamlit、Langchain、OpenAI 及 Tiktoken。

導入語法如下:

import streamlit as stfrom langchain.docstore.document import Documentfrom langchain.text_splitter import CharacterTextSplitterfrom langchain.chains.summarize import load_summarize_chainfrom langchain.llms import OpenAI

建立 generate_response 函式

應用程式的核心在於 generate_response 此函式接收使用者輸入的文本,並管理摘要處理流程。其功能包含初始化 OpenAI 模型、分割輸入內容、建立文件物件,並呼叫 load_summarize_chain 生成最終摘要。

程式碼如下:

def generate_response(txt):llm = OpenAI(temperature=0.7, openai_api_key=openai_api_key)text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)texts = text_splitter.split_text(txt)docs = [Document(page_content=t) for t in texts]chain = load_summarize_chain(llm, chain_type="map_reduce", verbose=False)output_summary = chain.run(docs)return output_summary

  1. 初始化 LLM:透過指定溫度值與使用者 API 金鑰啟動 OpenAI 語言模型。溫度值將影響輸出內容的創意程度。
  2. 分割文本:使用 CharacterTextSplitter進行分割,確保各文本區段維持模型可處理的適當長度。
  3. 建立文件:將每個文本區段轉換為 Document 物件,此為 Langchain 的標準輸入類型。
  4. 載入摘要鏈: load_summarize_chain 函式建立摘要鏈,其配置基於語言模型與首選摘要方法。
  5. 執行鏈:摘要鏈透過 run 方法執行,該方法處理文件並產出摘要。
  6. 返回輸出:摘要文本作為函數結果傳回。

建構 Streamlit 網頁介面

Streamlit 讓建置網頁介面變得輕而易舉。此介面包含以下元件:

  • 頁面設定用於設定標題。
  • 供使用者輸入待摘要文本的文字輸入區。
  • 安全接收使用者 OpenAI API 金鑰的表單。
  • 提交按鈕,用於啟動摘要處理流程。
  • 顯示摘要結果的輸出區域。

st.set_page_config(page_title="文本摘要應用程式")st.title("Text Summarization App")text_input = st.text_area("Enter your text here:", height=200)with st.form('myform', clear_on_submit=True):openai_api_key = st.text_input('OpenAI API Key', type = 'password', disabled=not(openai_api_key_startwith_check))submitted = st.form_submit_button('Submit')if submitted and openai_api_key:with st.spinner('Calculating...'):raw_response = generate_response(text_input)try:st.info(raw_response)except Exception as e:st.error(e)st.subheader("How to get an OpenAI API key:")st.markdown("To use this app, you will need an OpenAI API Key. You can create a secret keyhere: ")st.markdown("[OpenAI API Keys](https://platform.openai.com/api-keys)")

如何使用文本摘要應用程式

逐步指南:如何摘要文本

使用文本摘要應用程式非常簡單,僅需幾個步驟:

  1. 輸入您的文本:將欲摘要的文本複製貼上至輸入區域。內容可為書籍節錄、新聞文章或詳細郵件。
  2. 輸入 OpenAI API 金鑰:提供您的 OpenAI API 金鑰以驗證對 OpenAI 語言模型的請求。

    基於安全考量,輸入欄位將在請求處理完成後自動清除 API 金鑰。

  3. 提交:點擊提交按鈕啟動摘要處理。
  4. 檢視摘要內容:處理完成後,應用程式將顯示原始文本的清晰簡潔摘要。

優點與缺點

優點

使閱讀與吸收資訊更輕鬆。

透過提供精簡內容減輕心力負荷。

透過快速摘要提升工作效率。

提升對複雜或長篇文本的理解能力。

缺點

需持有 OpenAI API 金鑰並能存取其服務。

摘要過程中可能出現不準確或遺漏細微細節。

摘要模型自訂選項受限。

為維持安全性,每次使用後必須清除 API 金鑰。

常見問題

何謂文本摘要?

文本摘要是指在保留關鍵資訊的前提下,將長篇文本進行精簡的過程。

為何分塊在文本摘要中至關重要?

分塊技術能將大型文本拆解為更精準的細分區塊,使人工智慧模型得以更有效率地處理內容,從而提升準確度並降低運算需求。

API 金鑰如何提升安全性?

使用後清除 API 金鑰可防止敏感驗證資訊遭儲存或濫用。

如何使用 GitHub 儲存庫?

請依指示複製儲存庫、添加您的 OpenAI API 金鑰,即可開始摘要指定內容。

整個流程需要多久時間?

從設定到摘要生成,整個流程通常耗時不到 10 分鐘。

相關問題

能否使用 OpenAI 以外的語言模型?

是的,文本摘要應用程式可調整為支援其他語言模型。您需更新程式碼以連接替代模型的 API,並視需要調整文本處理步驟。請注意不同模型可能有獨特的輸入要求或性能特徵。

相關文章
Anthropic 的實驗性 AI「Claude」在電子商務測試中完成了談判與交易 Anthropic 的實驗性 AI「Claude」在電子商務測試中完成了談判與交易 隨著人工智慧的快速發展,Anthropic 上週五悄悄推出了一項名為「Project Deal」的內部實驗,展現了人工智慧在電子商務領域的潛力。該實驗讓其人工智慧模型 Claude 在封閉的市場環境中自主處理買賣及價格協商,並涉及真實的金融交易。實驗的核心是一個建構於 Slack 平台上的內部市場,Claude 在其中同時擔任買方與賣方的談判代表。它首先訪談了 69 名員工,以收集他們的買賣意圖及
DeepSeek Code 即將推出 DeepSeek Code 即將推出 隨著人工智慧技術的加速發展,DeepSeek 正處於一個令人振奮的轉捩點。這家人工智慧公司最近透露,已獲得超過 700 億元的資金。管理層強調,公司致力於突破性的人工智慧研究,而非追求眼前的商業利益。這一戰略轉向表明 DeepSeek 將全力投入新產品的開發,尤其是眾人矚目的 DeepSeek Code。DeepSeek Code 的規劃已逐漸成形,該公司職缺頁面已發布數個相關職位,例如「Agen
馬斯克的 Grok:1.5 兆個參數與游標程式碼吸收——是遊戲規則的改變者,還是虛張聲勢? 馬斯克的 Grok:1.5 兆個參數與游標程式碼吸收——是遊戲規則的改變者,還是虛張聲勢? 伊隆·馬斯克終於有所行動。在人工智慧程式設計的競賽中,OpenAI 和 Anthropic 正加速前進,而 xAI 似乎落後了。馬斯克曾多次表示其目標是與 Claude 抗衡,然而儘管 Grok4.X 系列已進行多次更新,成果在理論上看似不錯,但在實際應用中卻未能達標,兩者之間的差距幾乎未見縮小。不過,這次他握有一張新王牌。馬斯克在 X 平台上證實,Grok 的新版本即將問世。 這款基礎模型第九版
相關專題推薦
商業 最佳 AI 招聘工具:篩選履歷與自動化安排候選人面試
最佳 AI 招聘工具:篩選履歷與自動化安排候選人面試

在 XIX.AI 探索 2026 年最新且評價最高的 AI 招聘工具。我們精心挑選的清單收錄了強大且具顛覆性的解決方案,可協助篩選履歷並自動化安排候選人面試。透過實際測試與每週更新的排行榜,比較免費與付費選項。立即找到最適合您的招聘助手,並優化您的招聘流程!

10 個工具
xix.ai
生產率 AI 個人健康與專注力教練:管理倦怠感並提升精神能量
AI 個人健康與專注力教練:管理倦怠感並提升精神能量

立即在 XIX.AI 探索 2026 年最佳 AI 個人健康與專注力教練。我們精心策劃的排行榜收錄了備受好評、能帶來革命性改變的工具,助您管理倦怠感並提升精神能量。透過實際使用心得,比較免費與付費方案的差異。立即開啟通往巔峰生產力與身心健康的道路。

10 個工具
xix.ai
聊天機器人 最受好評的 AI 浪漫聊天機器人:透過一貫的個性建立長期關係
最受好評的 AI 浪漫聊天機器人:透過一貫的個性建立長期關係

探索 2026 年最新、評價最高的 AI 浪漫聊天機器人,助您建立真摯且長久的連結。我們精心整理的清單包含功能強大且性格鮮明的聊天機器人、免費與付費版本的比較,以及實際測試結果。立即前往 XIX.AI 尋找您的完美伴侶,並開始建立這段關係吧。

10 個工具
xix.ai
教育與學習 最佳AI資料科學導師:精通SQL、Pandas及機器學習工作流程
最佳AI資料科學導師:精通SQL、Pandas及機器學習工作流程

探索2026年最優秀的人工智慧資料科學導師,幫助他們掌握SQL、Pandas以及機器學習工作流程。在XIX.AI上檢視我們精心挑選的頂級導師名單,獲得強大而具有變革性的指導。透過對比免費和付費選項,並結合實際應用案例進行了解,今天就開啟你的資料科學精通之路吧。

10 個工具
xix.ai
聊天機器人 最佳 AI 調情與對話訓練工具:即時提升社交魅力與自信
最佳 AI 調情與對話訓練工具:即時提升社交魅力與自信

在 XIX.AI 探索 2026 年最頂尖的 AI 調情與對話訓練工具。我們精心挑選、評價最高的精選清單,能助您即時建立社交魅力與自信。探索這些必試且能徹底改變遊戲規則的工具,並透過免費與付費版本的比較,以及每週更新的排行榜,立即解鎖您的社交優勢。

10 個工具
xix.ai
代碼 最適合自動化單元測試的最佳AI工具:一鍵生成Jest、PyTest和JUnit測試用例
最適合自動化單元測試的最佳AI工具:一鍵生成Jest、PyTest和JUnit測試用例

探索2026年最新評選出的頂級AI工具,這些工具專為自動化單元測試而設計。我們精心挑選了那些功能強大、能夠改變開發流程的工具,它們能夠幫助您快速生成Jest、PyTest和JUnit測試用例。在XIX.AI平臺上,您可以免費檢視各種選項,並透過實際測試結果以及每週更新的排名來了解它們的優劣。立即利用這些AI工具,提升您的開發效率吧!

10 個工具
xix.ai
評論 (2)
0/500
JerryGonzález
JerryGonzález 2026-05-08 04:01:48

この記事を読んで、自分でもAI要約ツールを作ってみたくなりました。特にLangchainの使い方が分かりやすく説明されていて助かります。ただ、OpenAIのAPIコストが気になるな…ローカルで動く軽量モデルを使ったバージョンも紹介してほしいです。🤔

JamesGreen
JamesGreen 2026-01-29 14:00:40

Klasse! Endlich mal eine praktische Anwendung statt nur Theorie. Die Kombination aus Langchain und Streamlit klingt vielversprechend für Prototypen. Ich frage mich, wie gut das bei sehr speziellen Fachtexten funktioniert. Würde mir wünschen, dass so Tools auch für andere Sprachen als Englisch optimiert werden. Hat jemand schon Erfahrungen damit gemacht? 😊

OR