Hogar
Construye tu propio resumidor de textos con IA utilizando Langchain, OpenAI y Streamlit
En el panorama digital actual, en rápida evolución, la capacidad de condensar textos extensos de forma rápida y eficaz es extremadamente valiosa. Esta guía le muestra cómo crear su propia herramienta de resumen de textos utilizando tecnologías modernas: OpenAI, Langchain y Streamlit. Tanto si es desarrollador, estudiante o profesional de los negocios, esta herramienta le ayudará a optimizar su trabajo y a profundizar en su comprensión de la información escrita.
Puntos clave
Desarrolle una aplicación de resumen de textos con OpenAI, Langchain y Streamlit.
Aprovecha GPT 3.5 para obtener un resumen potente con un modelo de lenguaje.
Utiliza Streamlit para crear una interfaz web intuitiva y accesible.
Incorpore las herramientas comunitarias de Langchain para mejorar el flujo de trabajo de resumen.
Descubra por qué dividir el texto en segmentos es esencial para el manejo de modelos de IA.
Implemente la aplicación final en Streamlit Community Cloud para facilitar el acceso y el intercambio.
Integre una función para borrar automáticamente las claves API después de su uso para mejorar la seguridad.
Desarrollo de la aplicación de resumen de texto
Comprensión de la pila tecnológica
Es fundamental comprender bien la pila tecnológica para crear una aplicación de resumen de texto eficaz. Examinemos cada componente en detalle:

- Streamlit: Streamlit actúa como base de la interfaz web y ofrece una forma sencilla y flexible de crear aplicaciones interactivas en Python. Sus funciones fáciles de usar permiten crear prototipos y desplegarlos rápidamente.
- Langchain: Langchain es un marco que agiliza el desarrollo de aplicaciones utilizando modelos de lenguaje grandes (LLM). Incluye módulos para trabajar con documentos, dividir texto y realizar resúmenes.
- OpenAI: OpenAI proporciona el LLM, concretamente GPT 3.5, que evalúa y produce resúmenes concisos a partir del texto proporcionado.
- Tiktoken: Tiktoken tokeniza el texto para que los modelos de OpenAI lo utilicen de forma eficiente, dividiéndolo en fragmentos más pequeños que el LLM puede gestionar fácilmente.
Al integrar estas tecnologías, se puede crear una herramienta de resumen de texto fiable y fácil de usar con un mínimo esfuerzo de codificación.
El proceso de resumen de texto
A continuación se describe paso a paso el proceso de resumen de texto:

- Texto de entrada: el usuario proporciona el texto que desea resumir. Puede ser un documento, un artículo o cualquier otro contenido escrito.
- Divisor de texto por caracteres: El texto introducido se segmenta en partes más pequeñas con Langchain's
CharacterTextSplitter. Este es un paso clave para gestionar el texto de forma eficaz. Las grandes cantidades de texto pueden sobrecargar los modelos de IA, por lo que dividirlos garantiza un procesamiento fluido. - Fragmentación: el divisor de texto divide la entrada en fragmentos manejables, conservando los límites de los caracteres para mantener el contexto.
- Creación de documentos: cada fragmento de texto se convierte en un objeto Langchain
Document , que funciona a la perfección con las funciones de resumen de Langchain. - Interacción LLM: La
load_summarize_chain función utiliza el LLM de OpenAI para producir un resumen conciso de cada documento. Esta función simplifica la interacción con el modelo de lenguaje. - Texto resumido: El resultado final es una versión abreviada del texto original que conserva los detalles clave en un formato compacto. Se aprovechan las capacidades del LLM para convertir el texto en un resumen breve pero informativo.
¿Por qué es importante el fragmentado para los modelos de IA?
La fragmentación es un paso fundamental porque permite a los modelos de IA manejar la información en partes más pequeñas y manejables.

Este método reduce las exigencias cognitivas y computacionales del resumen de textos. Los modelos de IA funcionan de manera más eficiente cuando manejan secciones más pequeñas y específicas, lo que a menudo conduce a un mejor rendimiento y precisión. Dividir los textos largos en partes digeribles también ayuda al modelo a preservar el contexto y centrarse en la información más relevante dentro de cada segmento.
La siguiente tabla explica la necesidad de dividir el texto para que el LLM lo procese con mayor precisión:
Detalles de la implementación del código
Importación de bibliotecas
El primer paso para desarrollar la aplicación es importar las bibliotecas necesarias: Streamlit, Langchain, OpenAI y Tiktoken.

La sintaxis de importación es la siguiente:
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
Creación de la función generate_response
El núcleo de la aplicación es la función generate_response . Esta función toma el texto introducido por el usuario y gestiona el proceso de resumen. Inicializa el modelo OpenAI, divide la entrada, crea objetos de documento y llama a la función load_summarize_chain para generar el resumen final.

Aquí está el código:
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
- Instanciar el LLM: El modelo de lenguaje OpenAI se inicializa con una temperatura elegida y la clave API del usuario. La temperatura afecta al nivel de creatividad de la salida.
- Dividir el texto: El texto introducido se divide en secciones utilizando
CharacterTextSplitter. Esto mantiene los segmentos de texto en un tamaño adecuado para el modelo. - Crear documentos: cada sección de texto se convierte en un
Document objeto, el tipo de entrada estándar para Langchain. - Cargar la cadena de resumen: La función
load_summarize_chain función crea la cadena de resumen, que se configura en función del modelo de lenguaje y el método de resumen preferido. - Ejecutar la cadena: La cadena de resumen se ejecuta a través del método
run método, que procesa los documentos y produce el resumen. - Devolver el resultado: El texto resumido se devuelve como resultado de la función.
Creación de la interfaz web Streamlit
Streamlit facilita la creación de la interfaz web. La interfaz incluye los siguientes componentes:
- Configuración de la página para establecer el título.
- Un área de texto donde los usuarios pueden introducir el texto que desean resumir.
- Un formulario que acepta de forma segura la clave API de OpenAI del usuario.
- Un botón de envío para activar el proceso de resumen.
- Un área de resultados que muestra el resultado resumido.
st.set_page_config(page_title="Aplicación de resumen de texto")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)")
Cómo utilizar la aplicación de resumen de texto
Guía paso a paso para resumir texto
Usar la aplicación de resumen de texto es sencillo y solo requiere unos pocos pasos:
- Introduzca su texto: copie y pegue el texto que desea resumir en el área de entrada de texto. Puede ser un extracto de un libro, un artículo de noticias o un correo electrónico detallado.
- Introduzca la clave API de OpenAI: Proporcione su clave API de OpenAI para autenticar las solicitudes a los modelos de lenguaje de OpenAI.

Por motivos de seguridad, el campo de entrada borra automáticamente la clave API una vez procesada la solicitud.
- Enviar: haga clic en el botón «Enviar» para iniciar el resumen.
- Ver el texto resumido: una vez completado el procesamiento, la aplicación mostrará un resumen claro y conciso de su texto original.
Ventajas y desventajas
Ventajas
Facilita la lectura y la asimilación de la información.
Reduce el esfuerzo mental al ofrecer contenido condensado.
Acelera los procesos de trabajo con un resumen rápido.
Mejora la comprensión de textos complicados o largos.
Desventajas
Requiere disponer de una clave API de OpenAI y acceso a sus servicios.
Posibles imprecisiones o pérdida de detalles sutiles durante la síntesis.
Opciones restringidas para personalizar el modelo de resumen.
Las claves API deben borrarse después de cada sesión para mantener la seguridad.
Preguntas frecuentes
¿Qué es el resumen de texto?
El resumen de texto consiste en acortar un texto largo manteniendo intacta la información más importante.
¿Por qué es importante la fragmentación en la síntesis de texto?
La fragmentación ayuda a los modelos de IA a procesar textos largos de forma más eficaz, ya que los divide en segmentos más pequeños y específicos, lo que aumenta la precisión y reduce la demanda de procesamiento.
¿Cómo mejora la seguridad la clave API?
Borrar la clave API después de su uso evita que la información confidencial de autenticación se almacene o se utilice indebidamente.
¿Qué puedo hacer con el repositorio de GitHub?
Siga las instrucciones proporcionadas para clonar el repositorio, añadir su clave API de OpenAI y empezar a resumir el contenido que desee.
¿Cuánto tiempo tarda en completarse el proceso?
Todo el proceso, desde la configuración hasta la generación del resumen, suele tardar menos de 10 minutos.
Preguntas relacionadas
¿Puedo utilizar otros modelos de lenguaje además de OpenAI?
Sí, la aplicación de resumen de texto se puede ajustar para que funcione con otros modelos de lenguaje. Tendrás que actualizar el código para conectarte a la API del modelo alternativo y adaptar los pasos de procesamiento de texto según sea necesario. Ten en cuenta que los diferentes modelos pueden tener requisitos de entrada o características de rendimiento únicos.
Artículo relacionado
DeepSeek Code, listo para su lanzamiento
A medida que la tecnología de IA avanza a pasos agigantados, DeepSeek se encuentra en un momento decisivo. La empresa de IA ha revelado recientemente que ha conseguido más de 70 000 millones de yuanes
Grok, de Musk: 1,5 billones de parámetros y absorción de código de cursor: ¿un punto de inflexión o un farol?
Elon Musk por fin está dando un paso adelante.En la carrera por la programación de IA, OpenAI y Anthropic están acelerando, mientras que xAI parece quedarse atrás. Musk ha manifestado en numerosas oca
OpenAI modifica en secreto sus estatutos para dificultar la destitución de Altman
Tras el incidente similar a un golpe de Estado ocurrido en 2023, OpenAI ha reforzado aún más las garantías de protección para su director ejecutivo, Sam Altman, mediante la actualización de sus estatu
Recomendaciones de temas especiales relacionados
comentario (2)
0/500
この記事を読んで、自分でもAI要約ツールを作ってみたくなりました。特にLangchainの使い方が分かりやすく説明されていて助かります。ただ、OpenAIのAPIコストが気になるな…ローカルで動く軽量モデルを使ったバージョンも紹介してほしいです。🤔
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? 😊
En el panorama digital actual, en rápida evolución, la capacidad de condensar textos extensos de forma rápida y eficaz es extremadamente valiosa. Esta guía le muestra cómo crear su propia herramienta de resumen de textos utilizando tecnologías modernas: OpenAI, Langchain y Streamlit. Tanto si es desarrollador, estudiante o profesional de los negocios, esta herramienta le ayudará a optimizar su trabajo y a profundizar en su comprensión de la información escrita.
Puntos clave
Desarrolle una aplicación de resumen de textos con OpenAI, Langchain y Streamlit.
Aprovecha GPT 3.5 para obtener un resumen potente con un modelo de lenguaje.
Utiliza Streamlit para crear una interfaz web intuitiva y accesible.
Incorpore las herramientas comunitarias de Langchain para mejorar el flujo de trabajo de resumen.
Descubra por qué dividir el texto en segmentos es esencial para el manejo de modelos de IA.
Implemente la aplicación final en Streamlit Community Cloud para facilitar el acceso y el intercambio.
Integre una función para borrar automáticamente las claves API después de su uso para mejorar la seguridad.
Desarrollo de la aplicación de resumen de texto
Comprensión de la pila tecnológica
Es fundamental comprender bien la pila tecnológica para crear una aplicación de resumen de texto eficaz. Examinemos cada componente en detalle:

- Streamlit: Streamlit actúa como base de la interfaz web y ofrece una forma sencilla y flexible de crear aplicaciones interactivas en Python. Sus funciones fáciles de usar permiten crear prototipos y desplegarlos rápidamente.
- Langchain: Langchain es un marco que agiliza el desarrollo de aplicaciones utilizando modelos de lenguaje grandes (LLM). Incluye módulos para trabajar con documentos, dividir texto y realizar resúmenes.
- OpenAI: OpenAI proporciona el LLM, concretamente GPT 3.5, que evalúa y produce resúmenes concisos a partir del texto proporcionado.
- Tiktoken: Tiktoken tokeniza el texto para que los modelos de OpenAI lo utilicen de forma eficiente, dividiéndolo en fragmentos más pequeños que el LLM puede gestionar fácilmente.
Al integrar estas tecnologías, se puede crear una herramienta de resumen de texto fiable y fácil de usar con un mínimo esfuerzo de codificación.
El proceso de resumen de texto
A continuación se describe paso a paso el proceso de resumen de texto:

- Texto de entrada: el usuario proporciona el texto que desea resumir. Puede ser un documento, un artículo o cualquier otro contenido escrito.
- Divisor de texto por caracteres: El texto introducido se segmenta en partes más pequeñas con Langchain's
CharacterTextSplitter. Este es un paso clave para gestionar el texto de forma eficaz. Las grandes cantidades de texto pueden sobrecargar los modelos de IA, por lo que dividirlos garantiza un procesamiento fluido. - Fragmentación: el divisor de texto divide la entrada en fragmentos manejables, conservando los límites de los caracteres para mantener el contexto.
- Creación de documentos: cada fragmento de texto se convierte en un objeto Langchain
Document, que funciona a la perfección con las funciones de resumen de Langchain. - Interacción LLM: La
load_summarize_chainfunción utiliza el LLM de OpenAI para producir un resumen conciso de cada documento. Esta función simplifica la interacción con el modelo de lenguaje. - Texto resumido: El resultado final es una versión abreviada del texto original que conserva los detalles clave en un formato compacto. Se aprovechan las capacidades del LLM para convertir el texto en un resumen breve pero informativo.
¿Por qué es importante el fragmentado para los modelos de IA?
La fragmentación es un paso fundamental porque permite a los modelos de IA manejar la información en partes más pequeñas y manejables.

Este método reduce las exigencias cognitivas y computacionales del resumen de textos. Los modelos de IA funcionan de manera más eficiente cuando manejan secciones más pequeñas y específicas, lo que a menudo conduce a un mejor rendimiento y precisión. Dividir los textos largos en partes digeribles también ayuda al modelo a preservar el contexto y centrarse en la información más relevante dentro de cada segmento.
La siguiente tabla explica la necesidad de dividir el texto para que el LLM lo procese con mayor precisión:
Detalles de la implementación del código
Importación de bibliotecas
El primer paso para desarrollar la aplicación es importar las bibliotecas necesarias: Streamlit, Langchain, OpenAI y Tiktoken.

La sintaxis de importación es la siguiente:
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
Creación de la función generate_response
El núcleo de la aplicación es la función generate_response . Esta función toma el texto introducido por el usuario y gestiona el proceso de resumen. Inicializa el modelo OpenAI, divide la entrada, crea objetos de documento y llama a la función load_summarize_chain para generar el resumen final.

Aquí está el código:
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
- Instanciar el LLM: El modelo de lenguaje OpenAI se inicializa con una temperatura elegida y la clave API del usuario. La temperatura afecta al nivel de creatividad de la salida.
- Dividir el texto: El texto introducido se divide en secciones utilizando
CharacterTextSplitter. Esto mantiene los segmentos de texto en un tamaño adecuado para el modelo. - Crear documentos: cada sección de texto se convierte en un
Documentobjeto, el tipo de entrada estándar para Langchain. - Cargar la cadena de resumen: La función
load_summarize_chainfunción crea la cadena de resumen, que se configura en función del modelo de lenguaje y el método de resumen preferido. - Ejecutar la cadena: La cadena de resumen se ejecuta a través del método
runmétodo, que procesa los documentos y produce el resumen. - Devolver el resultado: El texto resumido se devuelve como resultado de la función.
Creación de la interfaz web Streamlit
Streamlit facilita la creación de la interfaz web. La interfaz incluye los siguientes componentes:
- Configuración de la página para establecer el título.
- Un área de texto donde los usuarios pueden introducir el texto que desean resumir.
- Un formulario que acepta de forma segura la clave API de OpenAI del usuario.
- Un botón de envío para activar el proceso de resumen.
- Un área de resultados que muestra el resultado resumido.
st.set_page_config(page_title="Aplicación de resumen de texto")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)")
Cómo utilizar la aplicación de resumen de texto
Guía paso a paso para resumir texto
Usar la aplicación de resumen de texto es sencillo y solo requiere unos pocos pasos:
- Introduzca su texto: copie y pegue el texto que desea resumir en el área de entrada de texto. Puede ser un extracto de un libro, un artículo de noticias o un correo electrónico detallado.
- Introduzca la clave API de OpenAI: Proporcione su clave API de OpenAI para autenticar las solicitudes a los modelos de lenguaje de OpenAI.

Por motivos de seguridad, el campo de entrada borra automáticamente la clave API una vez procesada la solicitud.
- Enviar: haga clic en el botón «Enviar» para iniciar el resumen.
- Ver el texto resumido: una vez completado el procesamiento, la aplicación mostrará un resumen claro y conciso de su texto original.
Ventajas y desventajas
Ventajas
Facilita la lectura y la asimilación de la información.
Reduce el esfuerzo mental al ofrecer contenido condensado.
Acelera los procesos de trabajo con un resumen rápido.
Mejora la comprensión de textos complicados o largos.
Desventajas
Requiere disponer de una clave API de OpenAI y acceso a sus servicios.
Posibles imprecisiones o pérdida de detalles sutiles durante la síntesis.
Opciones restringidas para personalizar el modelo de resumen.
Las claves API deben borrarse después de cada sesión para mantener la seguridad.
Preguntas frecuentes
¿Qué es el resumen de texto?
El resumen de texto consiste en acortar un texto largo manteniendo intacta la información más importante.
¿Por qué es importante la fragmentación en la síntesis de texto?
La fragmentación ayuda a los modelos de IA a procesar textos largos de forma más eficaz, ya que los divide en segmentos más pequeños y específicos, lo que aumenta la precisión y reduce la demanda de procesamiento.
¿Cómo mejora la seguridad la clave API?
Borrar la clave API después de su uso evita que la información confidencial de autenticación se almacene o se utilice indebidamente.
¿Qué puedo hacer con el repositorio de GitHub?
Siga las instrucciones proporcionadas para clonar el repositorio, añadir su clave API de OpenAI y empezar a resumir el contenido que desee.
¿Cuánto tiempo tarda en completarse el proceso?
Todo el proceso, desde la configuración hasta la generación del resumen, suele tardar menos de 10 minutos.
Preguntas relacionadas
¿Puedo utilizar otros modelos de lenguaje además de OpenAI?
Sí, la aplicación de resumen de texto se puede ajustar para que funcione con otros modelos de lenguaje. Tendrás que actualizar el código para conectarte a la API del modelo alternativo y adaptar los pasos de procesamiento de texto según sea necesario. Ten en cuenta que los diferentes modelos pueden tener requisitos de entrada o características de rendimiento únicos.
DeepSeek Code, listo para su lanzamiento
A medida que la tecnología de IA avanza a pasos agigantados, DeepSeek se encuentra en un momento decisivo. La empresa de IA ha revelado recientemente que ha conseguido más de 70 000 millones de yuanes
Grok, de Musk: 1,5 billones de parámetros y absorción de código de cursor: ¿un punto de inflexión o un farol?
Elon Musk por fin está dando un paso adelante.En la carrera por la programación de IA, OpenAI y Anthropic están acelerando, mientras que xAI parece quedarse atrás. Musk ha manifestado en numerosas oca
OpenAI modifica en secreto sus estatutos para dificultar la destitución de Altman
Tras el incidente similar a un golpe de Estado ocurrido en 2023, OpenAI ha reforzado aún más las garantías de protección para su director ejecutivo, Sam Altman, mediante la actualización de sus estatu
この記事を読んで、自分でもAI要約ツールを作ってみたくなりました。特にLangchainの使い方が分かりやすく説明されていて助かります。ただ、OpenAIのAPIコストが気になるな…ローカルで動く軽量モデルを使ったバージョンも紹介してほしいです。🤔
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? 😊











