From 30c02e79b40ffc2e9286322df8ed80c5eb97da18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B8=A3=E5=B1=B1?= Date: Fri, 13 Jun 2025 15:23:41 +0800 Subject: [PATCH] add readme for step summarizer & context generator --- cookbook/step_agent/readme.md | 99 +++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 cookbook/step_agent/readme.md diff --git a/cookbook/step_agent/readme.md b/cookbook/step_agent/readme.md new file mode 100644 index 00000000..9e1b3837 --- /dev/null +++ b/cookbook/step_agent/readme.md @@ -0,0 +1,99 @@ +# Step Summarizer & Context Generator + +A step-level experience extraction and context generation system for the ExperienceMaker framework. + +## Overview + +This system provides advanced step-level experience extraction and context generation capabilities: + +- **StepSummarizer**: Extracts reusable experiences from individual steps or step sequences in trajectories +- **StepContextGenerator**: Retrieves and utilizes step-level experiences to provide relevant context for agent execution + +## Key Features + +### StepSummarizer Features +- **Step-level experience extraction** from successful and failed trajectories +- **Comparative analysis** between success and failure cases +- **Trajectory segmentation** into meaningful step sequences +- **Experience validation** for quality assurance +- **Similarity-based comparison** for finding related experiences + +### StepContextGenerator Features +- **Hybrid retrieval** combining vector search with LLM reranking +- **Context rewriting** to make experiences more relevant to current tasks +- **Score-based filtering** for quality control +- **Configurable retrieval parameters** for different use cases + +## Configuration Options + +### StepSummarizer Parameters +- `enable_step_segmentation`: Enable trajectory segmentation (default: False) +- `enable_similarity_search`: Enable similarity search for comparison (default: False) +- `enable_experience_validation`: Enable experience validation (default: True) +- `max_retries`: Maximum retries for LLM calls (default: 3) + +### StepContextGenerator Parameters +- `enable_llm_rerank`: Enable LLM-based reranking (default: True) +- `enable_context_rewrite`: Enable context rewriting (default: True) +- `enable_score_filter`: Enable score-based filtering (default: False) +- `vector_retrieve_top_k`: Number of candidates to retrieve (default: 15) +- `final_top_k`: Final number of experiences to return (default: 5) +- `min_score_threshold`: Minimum score threshold for filtering (default: 0.3) + +## Quick Start + +### 1. Basic Setup +```bash +# Start the service with default configuration +bash run.sh + + +### 3. Run Examples +```python +# Test the system with example trajectories +python examples.py +``` + +## Usage Examples + +### Extract Step Experiences +```python +# Extract experiences from trajectories +summarizer_request = { + "trajectories": [successful_trajectory, failed_trajectory], + "workspace_id": "my_workspace", + "metadata": { + "em_config": { + "summarizer": { + "backend": "step", + "enable_step_segmentation": True, + "enable_similarity_search": True, + "enable_experience_validation": True + } + } + } +} + +response = requests.post(f"{SERVICE_URL}/summarizer", json=summarizer_request) +``` + +### Generate Context +```python +# Generate context for current task +context_request = { + "trajectory": current_trajectory, + "workspace_id": "my_workspace", + "metadata": { + "em_config": { + "context_generator": { + "backend": "step", + "enable_llm_rerank": True, + "enable_context_rewrite": True, + "final_top_k": 5 + } + } + } +} + +response = requests.post(f"{SERVICE_URL}/context_generator", json=context_request) +``` \ No newline at end of file