Spaces:
Runtime error
Runtime error
import os | |
from langchain.chains.summarize import load_summarize_chain | |
from utils import openai_llm | |
from dotenv import load_dotenv | |
from langchain_core.prompts import PromptTemplate | |
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() | |
map_prompt = """ | |
Write a detailed summary of the following text. | |
The summary should be in the language of the text. | |
Do not miss any important details. | |
Mention all the important entities at the end of the summary with a heading 'IMPORTANT ENTITIES' and bullets underneath the heading | |
"{text}" | |
DETAILED SUMMARY: | |
""" | |
map_prompt_template = PromptTemplate(template=map_prompt, input_variables=["text"]) | |
combine_prompt = """ | |
Write a detailed summary of the following text delimited by triple backquotes. | |
Return your response as a detailed paragraph. | |
The Response should be in the language of the text | |
Mention all the important entities at the end of the summary with a heading 'IMPORTANT ENTITIES' and bullets underneath the heading | |
```{text}``` | |
PARAGRAPH SUMMARY: | |
""" | |
combine_prompt_template = PromptTemplate(template=combine_prompt, input_variables=["text"]) | |
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', | |
map_prompt=map_prompt_template, | |
combine_prompt=combine_prompt_template) | |
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]) |