From 95c61db64b89bab8f63e9b8ac255bf95c3027af3 Mon Sep 17 00:00:00 2001 From: zachary62 Date: Wed, 5 Mar 2025 00:48:46 -0500 Subject: [PATCH] update doc --- assets/mapreduce.png | Bin 0 -> 73176 bytes assets/workflow.png | Bin 0 -> 63067 bytes docs/design_pattern/mapreduce.md | 62 +++++++++++++++++++++++-------- docs/design_pattern/workflow.md | 4 ++ 4 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 assets/mapreduce.png create mode 100644 assets/workflow.png diff --git a/assets/mapreduce.png b/assets/mapreduce.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8475352d32a47159e05dd16387fd00a507caba GIT binary patch literal 73176 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 literal 0 HcmV?d00001 diff --git a/assets/workflow.png b/assets/workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..27239d0c7e479e03f4a829703cedec005b3aad9b GIT binary patch literal 63067 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 Dx%g0I literal 0 HcmV?d00001 diff --git a/docs/design_pattern/mapreduce.md b/docs/design_pattern/mapreduce.md index fb767a1..61dce0c 100644 --- a/docs/design_pattern/mapreduce.md +++ b/docs/design_pattern/mapreduce.md @@ -12,27 +12,59 @@ MapReduce is a design pattern suitable when you have either: - Large output data (e.g., multiple forms to fill) and there is a logical way to break the task into smaller, ideally independent parts. + +
+ +
+ You first break down the task using [BatchNode](../core_abstraction/batch.md) in the map phase, followed by aggregation in the reduce phase. ### Example: Document Summarization ```python -class MapSummaries(BatchNode): - def prep(self, shared): return [shared["text"][i:i+10000] for i in range(0, len(shared["text"]), 10000)] - def exec(self, chunk): return call_llm(f"Summarize this chunk: {chunk}") - def post(self, shared, prep_res, exec_res_list): shared["summaries"] = exec_res_list +class SummarizeAllFiles(BatchNode): + def prep(self, shared): + files_dict = shared["files"] # e.g. 10 files + return list(files_dict.items()) # [("file1.txt", "aaa..."), ("file2.txt", "bbb..."), ...] -class ReduceSummaries(Node): - def prep(self, shared): return shared["summaries"] - def exec(self, summaries): return call_llm(f"Combine these summaries: {summaries}") - def post(self, shared, prep_res, exec_res): shared["final_summary"] = exec_res + def exec(self, one_file): + filename, file_content = one_file + summary_text = call_llm(f"Summarize the following file:\n{file_content}") + return (filename, summary_text) -# Connect nodes -map_node = MapSummaries() -reduce_node = ReduceSummaries() -map_node >> reduce_node + def post(self, shared, prep_res, exec_res_list): + shared["file_summaries"] = dict(exec_res_list) -# Create flow -summarize_flow = Flow(start=map_node) -summarize_flow.run(shared) +class CombineSummaries(Node): + def prep(self, shared): + return shared["file_summaries"] + + def exec(self, file_summaries): + # format as: "File1: summary\nFile2: summary...\n" + text_list = [] + for fname, summ in file_summaries.items(): + text_list.append(f"{fname} summary:\n{summ}\n") + big_text = "\n---\n".join(text_list) + + return call_llm(f"Combine these file summaries into one final summary:\n{big_text}") + + def post(self, shared, prep_res, final_summary): + shared["all_files_summary"] = final_summary + +batch_node = SummarizeAllFiles() +combine_node = CombineSummaries() +batch_node >> combine_node + +flow = Flow(start=batch_node) + +shared = { + "files": { + "file1.txt": "Alice was beginning to get very tired of sitting by her sister...", + "file2.txt": "Some other interesting text ...", + # ... + } +} +flow.run(shared) +print("Individual Summaries:", shared["file_summaries"]) +print("\nFinal Summary:\n", shared["all_files_summary"]) ``` \ No newline at end of file diff --git a/docs/design_pattern/workflow.md b/docs/design_pattern/workflow.md index 5601867..62b4436 100644 --- a/docs/design_pattern/workflow.md +++ b/docs/design_pattern/workflow.md @@ -9,6 +9,10 @@ nav_order: 2 Many real-world tasks are too complex for one LLM call. The solution is to decompose them into a [chain](../core_abstraction/flow.md) of multiple Nodes. +
+ +
+ > - You don't want to make each task **too coarse**, because it may be *too complex for one LLM call*. > - You don't want to make each task **too granular**, because then *the LLM call doesn't have enough context* and results are *not consistent across nodes*. >