选项
首页
新闻
使用 Langchain、OpenAI 和 Streamlit 构建自己的人工智能文本摘要器

使用 Langchain、OpenAI 和 Streamlit 构建自己的人工智能文本摘要器

2025-12-09
132

在当今快速演变的数字环境中,快速高效地浓缩大量文本的能力极具价值。本指南将引导您运用现代技术——OpenAI、Langchain和Streamlit——创建专属文本摘要工具。无论您是开发者、学生还是商务人士,此工具都能助您优化工作流程,深化对书面信息的理解。

核心要点

运用OpenAI、Langchain和Streamlit开发文本摘要应用

运用GPT 3.5语言模型实现高效摘要处理

运用Streamlit构建直观易用的网页界面。

整合Langchain社区工具优化摘要工作流。

理解文本分段对AI模型处理至关重要的原因。

将最终应用部署至Streamlit社区云平台,实现便捷访问与共享。

集成自动清除API密钥功能,提升安全性。

文本摘要应用开发

技术栈解析

要构建功能完善的文本摘要应用,扎实掌握技术栈至关重要。让我们详细解析每个组件:

  • Streamlit:作为网页界面的基础框架,Streamlit提供简洁灵活的Python交互式应用开发方案。其用户友好特性支持快速原型构建与部署。
  • Langchain:该框架简化了基于大型语言模型(LLM)的应用开发流程,包含文档处理、文本分割及摘要生成的专用模块。
  • OpenAI:提供核心LLM引擎(具体为GPT 3.5),负责评估输入文本并生成精炼摘要。
  • Tiktoken:Tiktoken通过将文本分割为小型片段,实现OpenAI模型的高效利用,使LLM能够轻松处理文本数据。

通过整合这些技术,您只需极少编码工作即可构建可靠且易用的文本摘要工具。

文本摘要生成流程

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

  1. 输入文本:用户提供待摘要的文本内容,可以是文档、文章或其他书面材料。
  2. 字符文本分割器:输入文本通过 Langchain 的 CharacterTextSplitter。这是有效管理文本的关键步骤。大量文本会给AI模型带来负担,分割后可确保流畅处理。
  3. 分块处理:文本分割器将输入内容拆分为可处理的块状单元,同时保留字符边界以维持上下文关联性。
  4. 文档生成:每个文本分块被转换为Langchain Document 对象,该对象能与Langchain的摘要功能无缝协作。
  5. LLM交互: load_summarize_chain 该函数调用OpenAI LLM生成每份文档的精炼摘要,简化了与语言模型的交互流程。
  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密钥。

常见问题

什么是文本摘要?

文本摘要是指在保留最重要信息的前提下缩短长篇文本的过程。

分块在文本摘要中为何重要?

分块通过将文本拆解为更小、更聚焦的片段,帮助AI模型更高效地处理长文本——既提升准确性又降低处理需求。

API密钥如何提升安全性?

使用后清除API密钥可防止敏感认证信息被存储或滥用。

如何使用GitHub仓库?

请遵循提供的说明克隆仓库,添加您的OpenAI API密钥,即可开始摘要您选择的内容。

整个流程需要多长时间?

从配置到摘要生成的整个过程通常耗时不足10分钟。

相关问题

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

可以,文本摘要应用可适配其他语言模型。您需要更新代码以连接替代模型的API,并根据需要调整文本处理步骤。请注意不同模型可能存在独特的输入要求或性能特征。

相关文章
WordPress.com 现已支持 AI 助手撰写和发布文章,还有更多功能 WordPress.com 现已支持 AI 助手撰写和发布文章,还有更多功能 广受欢迎的网站托管和发布平台 WordPress.com 现已开始引入人工智能助手——这一举措或将重塑网络的呈现方式。该公司于周五宣布,将允许人工智能助手在用户网站上起草、编辑和发布内容,同时还能管理评论、更新和修正元数据,并通过标签和分类对内容进行整理。所有这些操作均通过一个界面进行控制,网站所有者只需使用自然语言命令说明其需求即可。凭借这些新功能,网站几乎可以完全由人工指导的AI代理来创建和运
Anthropic公司的实验性人工智能Claude在电子商务测试中完成了谈判和交易 Anthropic公司的实验性人工智能Claude在电子商务测试中完成了谈判和交易 随着人工智能的飞速发展,Anthropic上周五悄然启动了一项名为“Project Deal”的内部实验,展示了人工智能在电子商务领域的潜力。该实验让其人工智能模型Claude在封闭的市场环境中自主处理买卖及价格谈判,并涉及真实的金融交易。实验的核心是一个基于Slack构建的内部市场,Claude在其中同时担任买卖双方的谈判代表。它首先对69名员工进行了访谈,收集了他们的买卖意向及个性化指示,随后
DeepSeek Code 即将发布 DeepSeek Code 即将发布 随着人工智能技术的加速发展,DeepSeek正处于一个激动人心的关键时刻。这家人工智能公司近日透露,已获得超过700亿元的融资。公司管理层强调,将致力于开创性的人工智能研究,而非追求眼前的商业利益。这一战略转型表明,DeepSeek将全力投入新产品的开发,尤其是备受期待的DeepSeek Code。DeepSeek Code的规划已初具雏形,公司招聘页面上已发布多个相关职位,例如“Agent Ha
相关专题推荐
商业 最佳人工智能招聘工具:筛选简历并自动安排候选人面试
最佳人工智能招聘工具:筛选简历并自动安排候选人面试

在 XIX.AI 上探索 2026 年最新、评价最高的人工智能招聘工具。我们精心筛选的清单汇集了功能强大、颠覆传统的解决方案,可帮助您筛选简历并自动安排候选人面试。通过实际测试和每周更新的排名,对比免费与付费选项。立即找到最适合您的招聘助手,优化您的招聘流程!

10 个工具
xix.ai
生产率 AI个人健康与专注力教练:缓解倦怠,提升精神能量
AI个人健康与专注力教练:缓解倦怠,提升精神能量

立即访问 XIX.AI,探索 2026 年最优秀的 AI 个人健康与专注力教练。我们的精选排行榜汇集了广受好评、具有颠覆性意义的工具,助您缓解倦怠、提升精神能量。通过真实案例分析,对比免费与付费选项。立即开启通往巅峰生产力和身心健康的道路。

10 个工具
xix.ai
聊天机器人 备受好评的AI浪漫聊天机器人:凭借稳定的个性建立长期关系
备受好评的AI浪漫聊天机器人:凭借稳定的个性建立长期关系

探索2026年最新、评价最高的人工智能浪漫聊天机器人,助您建立真实而长久的联系。我们的精选清单涵盖了功能强大且性格鲜明的聊天机器人,并提供了免费与付费版本的对比分析以及实际测试结果。在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