Lex / summarize.py
taaha3244's picture
Update summarize.py
bbe5b39 verified
raw
history blame
No virus
844 Bytes
import os
from langchain.chains.summarize import load_summarize_chain
from utils import openai_llm
from dotenv import load_dotenv
from langfuse.callback import CallbackHandler
load_dotenv()
os.environ["LANGFUSE_PUBLIC_KEY"] = os.getenv("LANGFUSE_PUBLIC_KEY")
os.environ["LANGFUSE_SECRET_KEY"] = os.getenv("LANGFUSE_SECRET_KEY")
os.environ["LANGFUSE_HOST"] = os.getenv("LANGFUSE_HOST")
langfuse_handler = CallbackHandler()
def setup_summary_chain(api_key):
"""Set up a summary chain with a specified LLM."""
llm = openai_llm(api_key=api_key)
return load_summarize_chain(llm=llm, chain_type='map_reduce')
def summarize_documents(documents, api_key):
"""Generate summaries for provided documents."""
summary_chain = setup_summary_chain(api_key)
return summary_chain.run(documents, callbacks=[langfuse_handler])