Spaces:
Sleeping
Sleeping
File size: 1,164 Bytes
f1268bf 8e29230 83d98e9 f1268bf 8e29230 83d98e9 8e29230 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from langchain_core.documents import Document
from chains import generate_document_summary_prompt
from config import SEVEN_B_LLM_MODEL
def generate_document_summaries(
docs: list[Document]
) -> list[Document]:
"""
Generates summaries for a list of Document objects and updates their metadata with the summaries.
Args:
docs (List[Document]): A list of Document objects to generate summaries for.
Returns:
List[Document]: A new list of Document objects with updated metadata containing the summaries.
Example:
docs = [Document(metadata={"title": "Doc1"}), Document(metadata={"title": "Doc2"})]
updated_docs = generate_document_summaries(docs)
for doc in updated_docs:
print(doc.metadata["summary"])
"""
new_docs = docs.copy()
for doc in new_docs:
genrate_summary_chain = generate_document_summary_prompt | SEVEN_B_LLM_MODEL
summary = genrate_summary_chain.invoke(
{"document":str(doc.metadata)}
)
doc.metadata.update(
{"summary":summary}
)
return new_docs |