옵션
뉴스
Langchain, OpenAI, Streamlit을 사용하여 나만의 AI 텍스트 요약기 구축하기

Langchain, OpenAI, Streamlit을 사용하여 나만의 AI 텍스트 요약기 구축하기

2025년 12월 9일
175

오늘날 빠르게 진화하는 디지털 환경에서 방대한 텍스트를 신속하고 효율적으로 요약하는 능력은 매우 귀중합니다. 본 가이드는 OpenAI, Langchain, Streamlit 같은 최신 기술을 활용해 직접 텍스트 요약 도구를 만드는 방법을 안내합니다. 개발자, 학생, 비즈니스 전문가 모두에게 이 도구는 업무 효율을 높이고 서면 정보에 대한 이해를 심화하는 데 도움이 될 것입니다.

핵심 포인트

OpenAI, Langchain, Streamlit을 활용한 텍스트 요약 애플리케이션 개발

언어 모델을 활용한 강력한 요약 기능을 위해 GPT 3.5 활용하기.

직관적이고 접근성 높은 웹 인터페이스를 구축하기 위해 Streamlit 사용.

요약 워크플로우 개선을 위해 Langchain의 커뮤니티 도구를 통합합니다.

텍스트를 세그먼트로 분할하는 것이 AI 모델 처리에 필수적인 이유를 학습합니다.

손쉬운 접근 및 공유를 위해 Streamlit Community Cloud에 최종 애플리케이션을 배포합니다.

보안을 강화하기 위해 사용 후 API 키를 자동으로 삭제하는 기능을 통합하세요.

텍스트 요약 앱 개발

기술 스택 이해

유능한 텍스트 요약 앱을 구축하려면 기술 스택에 대한 탄탄한 이해가 필수적입니다. 각 구성 요소를 자세히 살펴보겠습니다:

  • Streamlit: Streamlit은 웹 인터페이스의 기반 역할을 하며, Python으로 대화형 애플리케이션을 구축할 수 있는 간단하면서도 유연한 방법을 제공합니다. 사용자 친화적인 기능으로 신속한 프로토타이핑과 배포를 지원합니다.
  • Langchain: Langchain은 대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 간소화하는 프레임워크입니다. 문서 작업, 텍스트 분할, 요약 수행을 위한 모듈을 포함합니다.
  • OpenAI: OpenAI는 제공된 텍스트를 평가하고 간결한 요약문을 생성하는 LLM(특히 GPT 3.5)을 제공합니다.
  • Tiktoken: Tiktoken은 OpenAI 모델이 효율적으로 사용할 수 있도록 텍스트를 토큰화하여 LLM이 쉽게 처리할 수 있는 작은 조각으로 분할합니다.

이러한 기술을 통합함으로써 최소한의 코딩 노력으로 안정적이고 사용하기 쉬운 텍스트 요약 도구를 구축할 수 있습니다.

텍스트 요약 과정

텍스트 요약 프로세스를 단계별로 설명하면 다음과 같습니다:

  1. 입력 텍스트: 사용자가 요약하고자 하는 텍스트를 제공합니다. 문서, 기사 또는 기타 서면 콘텐츠일 수 있습니다.
  2. 문자 텍스트 분할기: 입력 텍스트는 Langchain의 CharacterTextSplitter. 이는 텍스트를 효과적으로 관리하기 위한 핵심 단계입니다. 대량의 텍스트는 AI 모델에 부담을 줄 수 있으므로 분할을 통해 원활한 처리를 보장합니다.
  3. 청크화: 텍스트 분할기는 입력 텍스트를 관리 가능한 청크로 분할하며, 문맥 유지를 위해 문자 경계를 보존합니다.
  4. 문서 생성: 각 텍스트 청크는 Langchain의 요약 기능과 완벽하게 연동되는 Langchain 객체로 변환됩니다. Document 객체로 변환되며, 이는 Langchain의 요약 기능과 원활하게 연동됩니다.
  5. LLM 상호작용: load_summarize_chain 함수는 OpenAI LLM을 활용하여 각 문서의 간결한 요약본을 생성합니다. 이 함수는 언어 모델과의 상호작용을 단순화합니다.
  6. 요약된 텍스트: 최종 결과는 핵심 세부 사항을 간결한 형태로 유지한 원본 텍스트의 축약본입니다. LLM의 기능을 활용하여 텍스트를 간결하면서도 유익한 요약으로 변환합니다.

AI 모델에 청크화가 중요한 이유는 무엇인가요?

청킹은 AI 모델이 정보를 더 작고 다루기 쉬운 조각으로 처리할 수 있게 하므로 중요한 단계입니다.

이 방법은 텍스트 요약의 인지적·계산적 부담을 줄여줍니다. AI 모델은 작고 집중된 섹션을 처리할 때 더 효율적으로 작동하며, 이는 종종 성능과 정확도 향상으로 이어집니다. 긴 텍스트를 소화 가능한 부분으로 분할하는 것은 모델이 맥락을 유지하고 각 세그먼트 내에서 가장 관련성 높은 정보에 집중하는 데도 도움이 됩니다.

다음 표는 LLM이 더 정확하게 처리하기 위해 텍스트 분할이 필요한 이유를 설명합니다:

코드 구현 세부사항

라이브러리 임포트

앱 개발의 첫 단계는 필요한 라이브러리(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 인스턴스화: 선택한 온도(temperature)와 사용자의 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 언어 모델에 대한 요청을 인증하기 위해 OpenAI API 키를 제공하세요.

    보안을 위해 요청 처리 후 입력란의 API 키는 자동으로 삭제됩니다.

  3. 제출: 요약 작업을 시작하려면 제출 버튼을 클릭하세요.
  4. 요약된 텍스트 보기: 처리 완료 후 앱이 원본 텍스트의 명확하고 간결한 요약본을 표시합니다.

장점과 단점

장점

정보를 읽고 이해하기 쉽게 만듭니다.

정제된 콘텐츠 제공으로 정신적 노력을 줄여줍니다.

빠른 요약으로 업무 프로세스를 가속화합니다.

복잡하거나 긴 텍스트에 대한 이해도를 높입니다.

단점

OpenAI API 키 보유 및 서비스 접근이 필요합니다.

요약 과정에서 발생할 수 있는 부정확성 또는 미묘한 세부사항의 손실.

요약 모델 맞춤 설정 옵션이 제한적입니다.

보안을 유지하기 위해 각 세션 후 API 키를 삭제해야 합니다.

자주 묻는 질문

텍스트 요약이란 무엇입니까?

텍스트 요약은 긴 텍스트를 가장 중요한 정보를 그대로 유지하면서 짧게 요약하는 작업입니다.

텍스트 요약에서 청크 분할이 중요한 이유는 무엇입니까?

청크화는 AI 모델이 대량의 텍스트를 더 효과적으로 처리할 수 있도록 작은 단위로 분할하여 정확도를 높이고 처리 요구량을 낮추는 데 도움이 됩니다.

API 키는 보안을 어떻게 향상시키나요?

사용 후 API 키를 지우면 민감한 인증 정보가 저장되거나 오용되는 것을 방지할 수 있습니다.

GitHub 저장소로 무엇을 할 수 있나요?

제공된 지침에 따라 저장소를 복제하고, OpenAI API 키를 추가한 후 원하는 콘텐츠의 요약 작업을 시작하세요.

프로세스 완료까지 얼마나 걸리나요?

설정부터 요약 생성까지 전체 프로세스는 일반적으로 10분 미만이 소요됩니다.

관련 질문

OpenAI 이외의 다른 언어 모델도 사용할 수 있나요?

예, 텍스트 요약 앱은 다른 언어 모델과 함께 작동하도록 조정할 수 있습니다. 대체 모델의 API에 연결하고 필요에 따라 텍스트 처리 단계를 조정하기 위해 코드를 업데이트해야 합니다. 모델마다 고유한 입력 요구 사항이나 성능 특성이 있을 수 있다는 점을 유의하십시오.

관련 기사
Anthropic, 클로드 AI 코딩 도구를 일본으로 확장하여 해외 성장 추진 Anthropic, 클로드 AI 코딩 도구를 일본으로 확장하여 해외 성장 추진 미국의 대표적인 인공지능 기업인 앤트로픽(Anthropic)이 글로벌 마케팅을 강화하고 있다. 수요일, 이 회사는 도쿄에서 약 500명의 소프트웨어 엔지니어가 참석한 대규모 개발자 행사인 '클로드로 코딩(Code with Claude)'을 개최했다. 이번 행사는 자율적 코딩 기능의 핵심 이점을 강조하며, 클로도 AI 도구와 관련 제품을 일본 시장에 적극적으로 도입하여 기업의 생산성을 높이는 것을 목표로 한다.자동 코드 생성 강조행사 동안 앤
인도의 소프트웨어 거대 기업이 채용을 축소하고 AI 에이전트 확대에 따라 해고를 약속하지 않음 인도의 소프트웨어 거대 기업이 채용을 축소하고 AI 에이전트 확대에 따라 해고를 약속하지 않음 인공지능이 전통적인 노동집약적 비즈니스 모델을 재편함에 따라, 인도 최고의 소프트웨어 아웃소싱 기업인 타타 컨설팅 서비스스(TCS)는 전략적 대응책을 공개했습니다. 화요일 열린 정기주주총회에서 회장은 인간과 기계의 협력을 비전으로 제시하고, AI 시대의 회사 인력 전략을 명확히 했습니다.해고는 없지만 채용은 느려질 것TCS 회장은 AI 도입으로 인한 직원 해고 계획이 없다고 명시하면서도, 전체 채용 속도는 늦출 것이라고 밝혔습니다. TCS는
중국, 가오카오 기간 중 AI 모델 잠금으로 즉각적인 과제 도움 차단 중국, 가오카오 기간 중 AI 모델 잠금으로 즉각적인 과제 도움 차단 2026년 대학수학능력시험(가오카오)이 임박함에 따라 시험 기간 중 AI 도구 사용 금지에 관한 루머가 온라인상에서 뜨거운 논쟁을 불러일으켰다. 대중의 우려에 대응하여 주요 AI 플랫폼과 교육용 앱들은 총체적인 금지보다는 시험 관련 기능에 대해 시기 한정 잠금 장치를 적용한다는 입장을 명확히 했다.이들 플랫폼은 정밀한 시간 기반 제어 메커니즘을 채택했다. 공식 시험 시간 동안 사진 기반 문제 풀이 및 질문 분석 기능은 일시적으로 비활성화된다.
관련 특별 주제 추천
디자인과 예술 창의적인 실험을 위한 최고의 AI 스타일 변환 도구
창의적인 실험을 위한 최고의 AI 스타일 변환 도구

2026년 최신, 최고 평점을 받은 창의적 실험을 위한 AI 스타일 변환 도구! XIX.AI는 실제 테스트와 엄격한 평가를 통해 탁월한 결과를 보여주는, 강력하고 판도를 바꿀 만한 ‘꼭 사용해 봐야 할’ 도구들을 엄선했습니다. 이 최고의 솔루션들은 콘텐츠 제작 속도를 높이고 무한한 창의적 가능성을 열어줌으로써 크리에이터들의 생산성을 크게 높여줍니다. 지금 바로 탐색하여 나에게 딱 맞는 도구를 찾아보고, 오늘 바로 창작을 시작해 보세요!

9 도구
xix.ai
만화 창작 시각적 스토리텔링을 위한 최고의 AI 대화 풍선 도구
시각적 스토리텔링을 위한 최고의 AI 대화 풍선 도구

2026년 시각적 스토리텔링을 위한 최신 최고 평점의 AI 대화 풍선 도구가 XIX.AI에 소개됩니다! 이 엄선된 모음집에는 크리에이터들이 생산성을 높이고 창의적인 난관을 극복하는 데 도움을 주는, 강력하고 획기적인 도구들이 포함되어 있습니다. 무료 버전과 유료 버전의 비교 정보를 확인하고, 실제 테스트 결과를 살펴보며, 최신 순위를 통해 매력적인 시각적 이야기를 만드는 데 꼭 필요한 솔루션을 찾아보세요. 지금 바로 탐색하여 여러분에게 딱 맞는 도구를 발견해 보세요!

10 도구
xix.ai
회의 도우미 최고의 AI 회의 요약 도구: 의사 결정 사항과 후속 조치를 명확하게 추적하세요
최고의 AI 회의 요약 도구: 의사 결정 사항과 후속 조치를 명확하게 추적하세요

2026년 최신 최고 평점을 받은 최고의 AI 회의 요약 도구로, 명확한 의사 결정 추적과 손쉬운 후속 조치를 실현하세요. 이 엄선된 목록은 회의록 자동화, 핵심 실행 과제 파악, 모든 프로젝트에 걸친 팀 협업 효율화를 통해 생산성을 획기적으로 높여주는 강력하고 혁신적인 솔루션을 소개합니다. 무료 버전과 유료 버전의 비교 정보, 실제 사용 후기, 매주 업데이트되는 순위 정보를 통해 여러분에게 딱 맞는 도구를 찾아보세요. 지금 바로 살펴보고 AI의 힘을 경험해 보세요!

9 도구
xix.ai
데이터 분석 최고의 AI 데이터 정제 도구: 누락된 값과 중복 데이터를 신속하게 수정하기
최고의 AI 데이터 정제 도구: 누락된 값과 중복 데이터를 신속하게 수정하기

2026년 최신의 우수하고 높은 평가를 받는 AI 데이터 정제 도구들로, 누락된 값과 중복 데이터를 신속하게 수정할 수 있습니다. 이 선별된 목록에는 생산성을 획기적으로 향상시켜 주는 강력한 솔루션이 포함되어 있습니다. 각 도구는 신뢰성을 보장하기 위해 엄격한 실제 환경 테스트를 거쳤습니다. 무료 버전과 유료 버전의 비교 정보를 확인하고, 귀하의 요구사항에 가장 적합한 도구를 발견해 보세요. 지금 바로 XIX.AI에서 자세히 알아보시고 AI 분야에서의 경쟁 우위를 확보하세요.

11 도구
xix.ai
디자인과 예술 아티스트를 위한 최고의 AI 창의적 아이디어 도구: 시각적 블록을 돌파하라
아티스트를 위한 최고의 AI 창의적 아이디어 도구: 시각적 블록을 돌파하라

2026년 최신 최고 인기 AI 창의적 아이디어 도구들은 XIX.AI가 선별한 것으로, 창작자들이 시각적 장벽을 돌파하고 즉각적으로 창의성을 높일 수 있도록 지원합니다. 이러한 강력한 혁신적 도구들은 실제 테스트 결과, 무료와 유료 버전의 상세 비교, 그리고 매주 업데이트되는 순위표를 제공합니다. 콘텐츠 제작을 가속화하고 AI 경쟁력을 발휘할 수 있는 완벽한 도구를 발견하세요. 지금 바로 탐색하세요!

14 도구
xix.ai
음악 작곡 틱톡 배경 음악, 릴스 오디오, 크리에이터 홍보용 음악을 위한 AI 비트 메이커
틱톡 배경 음악, 릴스 오디오, 크리에이터 홍보용 음악을 위한 AI 비트 메이커

2026년 틱톡 배경 음악, 릴스 오디오, 크리에이터 홍보용 음악을 위한 최신 최고의 AI 비트 메이커! XIX.AI는 모든 콘텐츠 요구 사항에 맞는 완벽한 음악을 제공하기 위해 실제 테스트를 거친, 업계에 혁신을 일으킬 만한 강력한 도구들의 최고 평점 목록을 엄선했습니다. 창의성과 생산성을 높이는 데 도움이 될 상세한 무료 vs 유료 비교 자료, 매주 업데이트되는 순위, 그리고 꼭 시도해 봐야 할 추천 옵션을 확인하실 수 있습니다. 지금 바로 탐색하여 여러분에게 딱 맞는 도구를 찾아보세요!

11 도구
xix.ai
의견 (2)
0/500
JerryGonzález
JerryGonzález 2026년 5월 8일 오전 5시 1분 48초 GMT+09:00

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

JamesGreen
JamesGreen 2026년 1월 29일 오후 3시 0분 40초 GMT+09:00

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