본문 바로가기
데이터&AI/langchain

[langchain공부] langchain 기초 - 4 (사이트 요약해!!)

by 일등박사 2024. 2. 1.
728x90

필요한 패키지

pip install unstructured

 

요약하고자 하는 샘플 페이지 URL : https://namu.wiki/w/%EA%B8%B0%EA%B8%88?from=%ED%8E%80%EB%93%9C

 

코드!!

우선 관련 패키지 및 api key 만들고!

from langchain.chat_models import ChatOpenAI
from langchain.document_loaders import YoutubeLoader, UnstructuredURLLoader
from langchain.chains.summarize import load_summarize_chain
from langchain.prompts import PromptTemplate

openai_api_key = '{나의 key}'
model =  "gpt-3.5-turbo-16k"
##  모델은 두가지가 가능한데, "gpt-3.5-turbo", "gpt-3.5-turbo-16k"  , 길다면 16k 로 하자!

 

 

v필요한 url 에 대한 데이터를 불러오고!

url = "https://namu.wiki/w/%EA%B8%B0%EA%B8%88?from=%ED%8E%80%EB%93%9C"
loader = UnstructuredURLLoader(urls=[url], ssl_verify=False, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_5_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"})
data = loader.load()

 

이제 langchain을 통하여 llm에 요약시키자!!

 

# Initialize the ChatOpenAI module, load and run the summarize chain
llm = ChatOpenAI(temperature=0, model=model, openai_api_key=openai_api_key)
prompt_template = """200~300 단어수준으로 요약해줘 :

{text}

"""
prompt = PromptTemplate(template=prompt_template, input_variables=["text"])
chain = load_summarize_chain(llm, chain_type="stuff", prompt=prompt)
summary = chain.run(data)
summary

 

 

 

그 결과

펀드에 대하여 깔끔하게 요약해주었습니다!

 

 

ㅁ 참고 : https://github.com/alphasecio/langchain-examples/blob/main/url-summary/streamlit_app.py

728x90

댓글