Nikita Miroshnichenko commited on
Commit
1b32465
·
unverified ·
1 Parent(s): 487bb1b

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +7 -10
README.md CHANGED
@@ -17,9 +17,6 @@ This project leverages [LangGraph](https://python.langgraph.org/) and [LangChain
17
  It combines planning, execution and critique to solve open‑ended queries that might involve search, file analysis, mathematics, coding or image understanding.
18
  By breaking down tasks into manageable steps and selecting the right tool for each job, Ankelodon aims to deliver accurate answers with verifiable evidence.
19
 
20
- ![project logo](docs/images/logo.png)
21
-
22
- > *Note: The banner above is a placeholder. You can replace it with your own image placed at `docs/images/logo.png`.*
23
 
24
  ## 🌟 Features
25
 
@@ -27,20 +24,20 @@ By breaking down tasks into manageable steps and selecting the right tool for ea
27
 
28
  Before doing any heavy lifting, Ankelodon evaluates the incoming query to determine whether it requires planning or can be answered directly.
29
  Simple questions (e.g. definitions, single mathematical operations) are answered via a lightweight executor.
30
- Moderate and complex queries trigger the planner and agent pipeline, ensuring appropriate decomposition and tool usage【942452390578334†L22-L34】.
31
 
32
  ### 🧭 Structured planning
33
 
34
  For non‑trivial tasks, a **planner** LLM generates a structured plan consisting of a series of steps.
35
  Each step has an ID, goal, selected tool, expected result and fallback strategy.
36
- The plan is stored as a Pydantic model (`PlannerPlan`) with strong typing for reliability【981681905155103†L82-L100】.
37
 
38
  ### 🤖 Agent execution
39
 
40
  The **agent** node follows the plan step‑by‑step.
41
  For each step it first produces reasoning, then invokes the suggested tool with the appropriate inputs.
42
  Tool outputs are captured and fed back into subsequent reasoning.
43
- The agent continues until all steps are complete or an error requires replanning【981681905155103†L161-L186】.
44
 
45
  ### 🧰 Rich toolset
46
 
@@ -58,13 +55,13 @@ Ankelodon exposes a curated set of tools bound to the execution LLM:
58
  | `vision_qa_gemma` | Answer questions about images using a vision model |
59
  | `safe_code_run` | Execute Python code securely in an isolated environment |
60
 
61
- These tools are loaded into a `ToolNode` and passed to the agent for use during execution【774776463100239†L10-L14】.
62
 
63
  ### 📝 Comprehensive reporting & critique
64
 
65
  After the agent finishes, a deterministic LLM generates a structured execution report.
66
  This report summarises the query, steps taken, key findings, sources used, and the final answer.
67
- A separate **critic** LLM evaluates the report for completeness, accuracy, methodology and evidence, scoring it out of 10 and suggesting improvements if necessary【981681905155103†L459-L525】.
68
  The system may then replan and re‑execute until the answer meets quality thresholds.
69
 
70
  ## 🏗 Architecture
@@ -79,13 +76,13 @@ Ankelodon is built as a directed acyclic graph of nodes. The high‑level flow i
79
  6. **FINALIZER** – Consolidate the execution into a report and extract a formatted final answer.
80
  7. **CRITIC** – Score the report and decide whether to accept or trigger the **REPLANNER**.
81
 
82
- The graph is compiled using LangGraph’s `StateGraph` API and is flexible enough to be extended with new nodes or tools【942452390578334†L8-L50】.
83
 
84
  ## 🚀 Getting started
85
 
86
  ### Prerequisites
87
 
88
- This project targets **Python 3.10+**. You’ll need API keys or credentials for any external services (e.g. OpenAI, Tavily, Gemini) used by tools.
89
  Assuming you have a virtual environment activated:
90
 
91
  ```bash
 
17
  It combines planning, execution and critique to solve open‑ended queries that might involve search, file analysis, mathematics, coding or image understanding.
18
  By breaking down tasks into manageable steps and selecting the right tool for each job, Ankelodon aims to deliver accurate answers with verifiable evidence.
19
 
 
 
 
20
 
21
  ## 🌟 Features
22
 
 
24
 
25
  Before doing any heavy lifting, Ankelodon evaluates the incoming query to determine whether it requires planning or can be answered directly.
26
  Simple questions (e.g. definitions, single mathematical operations) are answered via a lightweight executor.
27
+ Moderate and complex queries trigger the planner and agent pipeline, ensuring appropriate decomposition and tool usage.
28
 
29
  ### 🧭 Structured planning
30
 
31
  For non‑trivial tasks, a **planner** LLM generates a structured plan consisting of a series of steps.
32
  Each step has an ID, goal, selected tool, expected result and fallback strategy.
33
+ The plan is stored as a Pydantic model (`PlannerPlan`) with strong typing for reliability.
34
 
35
  ### 🤖 Agent execution
36
 
37
  The **agent** node follows the plan step‑by‑step.
38
  For each step it first produces reasoning, then invokes the suggested tool with the appropriate inputs.
39
  Tool outputs are captured and fed back into subsequent reasoning.
40
+ The agent continues until all steps are complete or an error requires replanning.
41
 
42
  ### 🧰 Rich toolset
43
 
 
55
  | `vision_qa_gemma` | Answer questions about images using a vision model |
56
  | `safe_code_run` | Execute Python code securely in an isolated environment |
57
 
58
+ These tools are loaded into a `ToolNode` and passed to the agent for use during execution.
59
 
60
  ### 📝 Comprehensive reporting & critique
61
 
62
  After the agent finishes, a deterministic LLM generates a structured execution report.
63
  This report summarises the query, steps taken, key findings, sources used, and the final answer.
64
+ A separate **critic** LLM evaluates the report for completeness, accuracy, methodology and evidence, scoring it out of 10 and suggesting improvements if necessary.
65
  The system may then replan and re‑execute until the answer meets quality thresholds.
66
 
67
  ## 🏗 Architecture
 
76
  6. **FINALIZER** – Consolidate the execution into a report and extract a formatted final answer.
77
  7. **CRITIC** – Score the report and decide whether to accept or trigger the **REPLANNER**.
78
 
79
+ The graph is compiled using LangGraph’s `StateGraph` API and is flexible enough to be extended with new nodes or tools.
80
 
81
  ## 🚀 Getting started
82
 
83
  ### Prerequisites
84
 
85
+ This project targets **Python 3.11+**. You’ll need API keys or credentials for any external services (e.g. OpenAI, Tavily, Gemini) used by tools.
86
  Assuming you have a virtual environment activated:
87
 
88
  ```bash