Files
Tutorial-Codebase-Knowledge/docs/design.md
2025-04-02 16:56:35 -04:00

1.9 KiB
Raw Blame History

Design Doc: Your Project Name

Please DON'T remove notes for AI

Requirements

Notes for AI: Keep it simple and clear. If the requirements are abstract, write concrete user stories

Flow Design

Notes for AI:

  1. Consider the design patterns of agent, map-reduce, rag, and workflow. Apply them if they fit.
  2. Present a concise, high-level description of the workflow.

Applicable Design Pattern:

  1. Map the file summary into chunks, then reduce these chunks into a final summary.
  2. Agentic file finder
    • Context: The entire summary of the file
    • Action: Find the file

Flow high-level Design:

  1. First Node: This node is for ...
  2. Second Node: This node is for ...
  3. Third Node: This node is for ...
flowchart TD
    firstNode[First Node] --> secondNode[Second Node]
    secondNode --> thirdNode[Third Node]

Utility Functions

Notes for AI:

  1. Understand the utility function definition thoroughly by reviewing the doc.
  2. Include only the necessary utility functions, based on nodes in the flow.
  1. Call LLM (utils/call_llm.py)

    • Input: prompt (str)
    • Output: response (str)
    • Generally used by most nodes for LLM tasks
  2. Embedding (utils/get_embedding.py)

    • Input: str
    • Output: a vector of 3072 floats
    • Used by the second node to embed text

Node Design

Shared Memory

Notes for AI: Try to minimize data redundancy

The shared memory structure is organized as follows:

shared = {
    "key": "value"
}

Node Steps

Notes for AI: Carefully decide whether to use Batch/Async Node/Flow.

  1. First Node
  • Purpose: Provide a short explanation of the nodes function
  • Type: Decide between Regular, Batch, or Async
  • Steps:
    • prep: Read "key" from the shared store
    • exec: Call the utility function
    • post: Write "key" to the shared store
  1. Second Node ...