diff --git a/assets/node.png b/assets/node.png new file mode 100644 index 0000000..3b2a388 Binary files /dev/null and b/assets/node.png differ diff --git a/docs/agent.md b/docs/agent.md index c12701a..3631fd1 100644 --- a/docs/agent.md +++ b/docs/agent.md @@ -1,7 +1,7 @@ --- layout: default title: "Agent" -parent: "Design" +parent: "Design Pattern" nav_order: 6 --- diff --git a/docs/decomp.md b/docs/decomp.md index ad6536e..cdd84a0 100644 --- a/docs/decomp.md +++ b/docs/decomp.md @@ -1,7 +1,7 @@ --- layout: default title: "Workflow" -parent: "Design" +parent: "Design Pattern" nav_order: 2 --- diff --git a/docs/guide.md b/docs/guide.md index 98e4c16..21907bd 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -10,11 +10,11 @@ nav_order: 1 ## System Design Steps -1. **Project Requirements** - - Identify the project's core entities, and provide a step-by-step user story. - - Define a list of both functional and non-functional requirements. +1. **Project Requirements**: Understand what the project is for and what are required. + +2. **Utility Functions**: LLM Systems are like the brain + -2. **Utility Functions** - Determine the utility functions on which this project depends (e.g., for LLM calls, web searches, file handling). - Implement these functions and write basic tests to confirm they work correctly. diff --git a/docs/index.md b/docs/index.md index ffa4d6b..48294d6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -37,7 +37,7 @@ We model the LLM workflow as a **Nested Directed Graph**: - [(Advanced) Async](./async.md) - [(Advanced) Parallel](./parallel.md) -## Utility Functions +## Utility Function - [LLM Wrapper](./llm.md) - [Tool](./tool.md) @@ -48,7 +48,7 @@ We model the LLM workflow as a **Nested Directed Graph**: {: .warning } -## Design Patterns +## Design Pattern - [Structured Output](./structure.md) - [Workflow](./decomp.md) diff --git a/docs/llm.md b/docs/llm.md index b3ffd51..96cd8c1 100644 --- a/docs/llm.md +++ b/docs/llm.md @@ -1,7 +1,7 @@ --- layout: default title: "LLM Wrapper" -parent: "Utility" +parent: "Utility Function" nav_order: 1 --- diff --git a/docs/mapreduce.md b/docs/mapreduce.md index 8698192..7f1dd1f 100644 --- a/docs/mapreduce.md +++ b/docs/mapreduce.md @@ -1,7 +1,7 @@ --- layout: default title: "Map Reduce" -parent: "Design" +parent: "Design Pattern" nav_order: 3 --- diff --git a/docs/memory.md b/docs/memory.md index 09dc538..e94fbbf 100644 --- a/docs/memory.md +++ b/docs/memory.md @@ -1,7 +1,7 @@ --- layout: default title: "Chat Memory" -parent: "Design" +parent: "Design Pattern" nav_order: 5 --- diff --git a/docs/multi_agent.md b/docs/multi_agent.md index ed64c4a..3f5937f 100644 --- a/docs/multi_agent.md +++ b/docs/multi_agent.md @@ -1,7 +1,7 @@ --- layout: default title: "(Advanced) Multi-Agents" -parent: "Design" +parent: "Design Pattern" nav_order: 7 --- diff --git a/docs/node.md b/docs/node.md index 9554cf0..83fd0bf 100644 --- a/docs/node.md +++ b/docs/node.md @@ -26,6 +26,11 @@ A **Node** is the smallest building block. Each Node has 3 steps `prep->exec->po - Examples: *update DB, change states, log results*. - **Decide the next action** by returning a *string* (`action = "default"` if *None*). +
+ +
+ + > **Why 3 steps?** To enforce the principle of *separation of concerns*. The data storage and data processing are operated separately. > > All steps are *optional*. E.g., you can only implement `prep` and `post` if you just need to process data. diff --git a/docs/paradigm.md b/docs/paradigm.md index 37889b8..ec24d5d 100644 --- a/docs/paradigm.md +++ b/docs/paradigm.md @@ -1,6 +1,6 @@ --- layout: default -title: "Design" +title: "Design Pattern" nav_order: 4 has_children: true --- \ No newline at end of file diff --git a/docs/preparation.md b/docs/preparation.md index 4fe5f00..62216b0 100644 --- a/docs/preparation.md +++ b/docs/preparation.md @@ -1,6 +1,6 @@ --- layout: default -title: "Utility" +title: "Utility Function" nav_order: 3 has_children: true --- \ No newline at end of file diff --git a/docs/rag.md b/docs/rag.md index 35d5c8b..6aeb028 100644 --- a/docs/rag.md +++ b/docs/rag.md @@ -1,7 +1,7 @@ --- layout: default title: "RAG" -parent: "Design" +parent: "Design Pattern" nav_order: 4 --- diff --git a/docs/structure.md b/docs/structure.md index d379083..91d6083 100644 --- a/docs/structure.md +++ b/docs/structure.md @@ -1,7 +1,7 @@ --- layout: default title: "Structured Output" -parent: "Design" +parent: "Design Pattern" nav_order: 1 --- diff --git a/docs/tool.md b/docs/tool.md index 262c7d8..e4dbe19 100644 --- a/docs/tool.md +++ b/docs/tool.md @@ -1,7 +1,7 @@ --- layout: default title: "Tool" -parent: "Utility" +parent: "Utility Function" nav_order: 2 --- diff --git a/docs/viz.md b/docs/viz.md index 0841079..26f6c80 100644 --- a/docs/viz.md +++ b/docs/viz.md @@ -1,7 +1,7 @@ --- layout: default title: "Viz and Debug" -parent: "Utility" +parent: "Utility Function" nav_order: 3 ---