diff --git a/README.md b/README.md index 07d0ddd9..67d5ac75 100644 --- a/README.md +++ b/README.md @@ -1,228 +1,230 @@ # ExperienceMaker

- ExperienceMakerLogo + ExperienceMaker Logo

-[![](https://img.shields.io/badge/python-3.12+-blue)](https://pypi.org/project/experiencemaker/) -[![](https://img.shields.io/badge/pypi-v0.1.0-blue?logo=pypi)](https://pypi.org/project/experiencemaker/) -[![](https://img.shields.io/badge/license-Apache--2.0-black)](./LICENSE) - ----- - -## ๐Ÿ“ฐ News - -- **[2025-01]** We release ExperienceMaker v0.1.0 now, which is also available in [PyPI](https://pypi.org/simple/experiencemaker/)! - ----- - -## ๐ŸŒŸ What is ExperienceMaker? - -ExperienceMaker is a comprehensive framework that provides AI agents with robust capabilities for **experience generation and reuse**. By summarizing agents' past trajectories into structured experiences, it enables these experiences to be intelligently applied to subsequent tasks. Through the continuous accumulation and application of experience, agents can keep learning and progressively become more skilled in performing complex tasks. - -### ๐Ÿš€ Core Features - -- **๐Ÿง  Experience Generation**: Automatically generate successful or failed experiences by summarizing the agent's historical trajectories using advanced LLM-powered extraction techniques. - -- **๐Ÿ”„ Experience Reuse**: Intelligently apply relevant experiences to new tasks by retrieving them from a vector store, helping agents improve through practice and reduce trial-and-error. - -- **๐Ÿ“Š Experience Management**: Comprehensive management of experiences with operations including loading, dumping, clearing historical experiences, deduplication, validation, and flexible database operations. - -- **๐Ÿ” Multi-Modal Retrieval**: Support both query-based and conversation-based experience retrieval with advanced reranking and rewriting capabilities. - -### โšก Core Advantages - -- **๐ŸŽฏ Ease of Use**: HTTP REST API interface with one-click startup via command line. Configuration can be quickly updated using YAML files and command-line arguments. - -- **๐Ÿ”ง Flexibility**: Rich library of atomic operations that can be composed into pipelines. Users can flexibly implement any summarization or retrieval workflow by combining operators. - -- **๐Ÿ—„๏ธ Multiple Vector Store Backends**: Support for Elasticsearch (production), ChromaDB (local development), and file-based storage (testing) to fit different deployment scenarios. - -- **๐Ÿ“š Experience Store**: Ready-to-use out of the box โ€” leverage existing, comprehensive experience datasets to enhance your agent's capabilities without manual experience creation. - -- **โš™๏ธ Modular Architecture**: Pluggable components for LLMs, embedding models, vector stores, and operators, making it easy to customize and extend. - -### ๐Ÿ—๏ธ Framework Architecture -

- ExperienceMakerFramework + Python Version + PyPI Version + License + GitHub Stars

-ExperienceMaker follows a modular architecture with the following key components: +

+ A comprehensive framework for AI agent experience generation and reuse
+ Empowering agents to learn from the past and excel in the future +

-#### ๐ŸŒ API Layer -- **Retriever API**: Interface for experience retrieval. Input can be a query or conversation messages, output includes retrieved experiences and merged contextual content. -- **Summarizer API**: Interface for experience summarization. Input is agent's historical trajectories, output is structured experiences stored in vector store. -- **Vector Store API**: Interface for experience database management with operations like dump/load, create/delete workspaces, and batch operations. -- **Agent API**: Interface for running agents with experience-enhanced prompts using ReAct framework. +--- -#### ๐Ÿ”„ Pipeline & Operators -ExperienceMaker abstracts experience capabilities into atomic operators that can be composed into flexible pipelines: +## ๐Ÿ“ฐ What's New +- **[2025-08]** ๐ŸŽ‰ ExperienceMaker v0.1.0 is now available on [PyPI](https://pypi.org/project/experiencemaker/)! +- **[2025-07]** ๐Ÿ“š Complete documentation and quick start guides released +- **[2025-07]** ๐Ÿš€ Multi-backend vector store support (Elasticsearch & ChromaDB) -- **Retrieval Operators**: Query building, experience recall, reranking, rewriting -- **Summarization Operators**: Success/failure extraction, comparative analysis, validation, deduplication -- **Vector Store Operators**: CRUD operations, workspace management, batch processing +--- -#### ๐Ÿ—ƒ๏ธ Vector Store Backends -- **Elasticsearch**: Production-ready, high-performance, supports complex filtering -- **ChromaDB**: Local development, embedded database, good for prototyping -- **File Store**: Simple file-based storage for testing and small datasets +## ๐ŸŒŸ What is ExperienceMaker? +ExperienceMaker is a framework that revolutionizes how AI agents learn and improve through **experience-driven intelligence**. +By automatically extracting, storing, and reusing experiences from agent trajectories, it enables continuous learning and progressive skill enhancement. -#### ๐Ÿค– LLM & Embedding Integration -- **OpenAI-Compatible LLMs**: Support for any OpenAI-compatible API endpoint -- **Embedding Models**: Configurable embedding models for semantic search -- **Model Registry**: Pluggable architecture for easy model switching +### ๐Ÿš€ Why ExperienceMaker? +Traditional AI agents start from scratch with every new task, wasting valuable learning opportunities. +ExperienceMaker changes this by: +- **๐Ÿง  Learning from History**: Automatically extract actionable insights from successful and failed attempts +- **๐Ÿ”„ Intelligent Reuse**: Apply relevant past experiences to solve new, similar problems +- **๐Ÿ“ˆ Continuous Improvement**: Build a growing knowledge base that makes agents smarter over time +- **โšก Faster Problem Solving**: Reduce trial-and-error by leveraging proven strategies + +### โœจ Core Capabilities + +#### ๐Ÿ” **Intelligent Experience Summarizer** +- **Success Pattern Recognition**: Identify what works and why +- **Failure Analysis**: Learn from mistakes to avoid repetition +- **Comparative Insights**: Understand the difference between successful and failed approaches +- **Multi-step Trajectory Processing**: Break down complex tasks into learnable segments + +#### ๐ŸŽฏ **Smart Experience Retriever** +- **Semantic Search**: Find relevant experiences using advanced embedding models +- **Context-Aware Ranking**: Prioritize the most applicable experiences for current tasks +- **Dynamic Rewriting**: Adapt past experiences to fit new contexts +- **Multi-modal Support**: Handle various input types (queries, conversations, trajectories) + +#### ๐Ÿ—„๏ธ **Scalable Experience Management** +- **Multiple Storage Backends**: Choose from Elasticsearch (production), ChromaDB (development), or file-based (testing) +- **Workspace Isolation**: Organize experiences by projects, domains, or teams +- **Deduplication & Validation**: Ensure high-quality, unique experience storage +- **Batch Operations**: Efficiently handle large-scale experience processing + +#### ๐Ÿ”ง **Developer-Friendly Architecture** +- **REST API Interface**: Easy integration with existing systems +- **Modular Pipeline Design**: Compose custom workflows from atomic operations +- **Flexible Configuration**: YAML files and command-line overrides +- **Comprehensive Monitoring**: Built-in logging and performance metrics + +### ๐Ÿ—๏ธ Framework Architecture +

+ ExperienceMaker Architecture +

+ +ExperienceMaker follows a modular, scalable architecture designed for production use: +#### ๐ŸŒ **API Layer** +- **๐Ÿ” Retriever API**: Query-based and conversation-based experience retrieval +- **๐Ÿ“Š Summarizer API**: Trajectory-to-experience conversion and storage +- **๐Ÿ—„๏ธ Vector Store API**: Database management and workspace operations +- **๐Ÿค– Agent API**: ReAct-based agent execution with experience enhancement +#### โš™๏ธ **Processing Pipeline** +Our atomic operations can be composed into powerful pipelines: +**Retrieval Pipeline**: +``` +build_query_op->recall_vector_store_op->merge_experience_op +``` +**Summarization Pipeline**: +``` +simple_summary_op->update_vector_store_op +``` + +#### ๐Ÿ”Œ **Extensible Components** +- **LLM Integration**: OpenAI-compatible APIs with flexible model switching +- **Embedding Models**: Pluggable embedding providers for semantic search +- **Vector Stores**: Multiple backends for different deployment scenarios +- **Tools & Operators**: Extensible library of processing operations --- ## ๐Ÿ› ๏ธ Installation -### Install from Source +### Prerequisites +- Python 3.12+ +- LLM API access (openAI compatible models) +- Embedding model API access -```shell +### Quick Install + +```bash +# Install from PyPI (recommended) +pip install experiencemaker + +# Or install from source git clone https://github.com/modelscope/ExperienceMaker.git cd ExperienceMaker - -# Install the package pip install . ``` -### Install from PyPI - -```shell -pip install experiencemaker -``` - --- ## โšก Quick Start ### 1. Environment Setup -First, configure the required environment variables for LLM and embedding model services: +Configure your API credentials: -```shell -# Required: LLM API configuration -export LLM_API_KEY="sk-xxx" -export LLM_BASE_URL="https://api.openai.com/v1" +```bash +# LLM Configuration +export LLM_API_KEY="your-api-key-here" +export LLM_BASE_URL="https://xxxx.com/v1" -# Required: Embedding model configuration -export EMBEDDING_MODEL_API_KEY="sk-xxx" -export EMBEDDING_MODEL_BASE_URL="https://api.openai.com/v1" +# Embedding Model Configuration +export EMBEDDING_MODEL_API_KEY="your-api-key-here" +export EMBEDDING_MODEL_BASE_URL="https://xxxx.com/v1" -# Optional: Elasticsearch configuration (if using Elasticsearch backend) +# Optional: Elasticsearch export ES_HOSTS="http://localhost:9200" ``` -### 2. Start ExperienceMaker Service +### 2. Launch ExperienceMaker Service -Start the service with a single command: +Start with a single command: -```shell +```bash experiencemaker \ - llm.default.model_name=gpt-4 \ + llm.default.model_name=gpt-4o \ embedding_model.default.model_name=text-embedding-3-small \ - vector_store.default.backend=elasticsearch + vector_store.default.backend=local_file +``` +> ๐Ÿ“š **Need Help?** Check our [Services Params Documentation](./doc/service_params.md) for detailed instructions. + + +### 3. Vector Store Setup(Optional) +if you want to use Elasticsearch as your vector store, you can follow these steps: + +```bash +vector_store.default.backend=elasticsearch ``` -**Backend Options:** -- `elasticsearch` - Production deployment (recommended) -- `chroma` - Local development and medium scale -- `local_file` - Testing and small datasets - -### 3. Vector Store Setup (Optional) - -#### For Production (Elasticsearch) - -ExperienceMaker uses Elasticsearch as the default vector store for production environments. To set up Elasticsearch locally: - -```shell -# Quick setup using Elastic's official script +```bash +# Quick setup (recommended) curl -fsSL https://elastic.co/start-local | sh + +# Verify connection +curl http://localhost:9200/_cluster/health ``` -For detailed setup instructions, see our [Vector Store Guide](./cookbook/material/vector_store_quick_start.md). - -#### For Development (ChromaDB or File Store) - -For quick testing, you can use the file-based backend: - -```shell -experiencemaker vector_store.default.backend=local_file -``` +> ๐Ÿ“š **Need Help?** Check our [Vector Store Setup Guide](./doc/vector_store_quick_start.md) for detailed instructions. --- -## ๐Ÿ“š API Usage +## ๐ŸŽฏ Usage Examples -### Experience Summarization - -Convert agent trajectories into structured experiences: +### Call Summarizer Examples ```python import json + import requests +from dotenv import load_dotenv -base_url = "http://localhost:8001" -workspace_id = "my_workspace" +load_dotenv() +base_url = "http://0.0.0.0:8001/" +workspace_id = "test_workspace" -def summarize_experience(messages: list, score: float = 1.0): - """Summarize agent trajectory into experiences""" - response = requests.post( - url=f"{base_url}/summarizer", - json={ - "workspace_id": workspace_id, - "traj_list": [ - {"messages": messages, "score": score} - ] - } - ) - - if response.status_code == 200: - result = response.json() - print(f"Generated {len(result['experience_list'])} experiences") - return result["experience_list"] - else: - print(f"Error: {response.text}") - return [] + +def run_summary(messages: list, dump_experience: bool = True): + response = requests.post(url=base_url + "summarizer", json={ + "workspace_id": workspace_id, + "traj_list": [ + {"messages": messages, "score": 1.0} + ] + }) + + response = response.json() + experience_list = response["experience_list"] + if dump_experience: + with open("experience.jsonl", "w") as f: + f.write(json.dumps(experience_list, indent=2, ensure_ascii=False)) ``` -### Experience Retrieval - -Retrieve relevant experiences for new tasks: +### Call Retriever Examples ```python -def retrieve_experience(query: str, top_k: int = 5): - """Retrieve relevant experiences for a query""" - response = requests.post( - url=f"{base_url}/retriever", - json={ - "workspace_id": workspace_id, - "query": query, - "top_k": top_k - } - ) - - if response.status_code == 200: - result = response.json() - return { - "experiences": result["experience_list"], - "merged_context": result["experience_merged"] - } - else: - print(f"Error: {response.text}") - return {} +import requests +from dotenv import load_dotenv + +load_dotenv() +base_url = "http://0.0.0.0:8001/" +workspace_id = "test_workspace" + + +def run_retriever(query: str): + response = requests.post(url=base_url + "retriever", json={ + "workspace_id": workspace_id, + "query": query, + }) + + response = response.json() + experience_merged: str = response["experience_merged"] + print(f"experience_merged={experience_merged}") + return experience_merged ``` ### Vector Store Management -Manage experience databases: - ```python -def manage_vector_store(action: str, **params): - """Manage vector store operations""" +def manage_vector_store(action: str, workspace_id: str, **params): + """Comprehensive vector store management""" response = requests.post( - url=f"{base_url}/vector_store", + f"{BASE_URL}/vector_store", json={ "workspace_id": workspace_id, "action": action, @@ -230,190 +232,281 @@ def manage_vector_store(action: str, **params): } ) - return response.json() if response.status_code == 200 else None + if response.status_code == 200: + return response.json() + else: + print(f"โŒ Action '{action}' failed: {response.text}") + return None + +# Example operations +workspace = "production_workspace" -# Examples: # Create workspace -manage_vector_store("create") +manage_vector_store("create", workspace) -# Dump experiences to file -manage_vector_store("dump", path="./backup/experiences.jsonl") +# Check workspace stats +stats = manage_vector_store("stats", workspace) +if stats: + print(f"Workspace '{workspace}': {stats['total_experiences']} experiences") -# Load experiences from file -manage_vector_store("load", path="./backup/experiences.jsonl") +# Backup experiences +manage_vector_store("dump", workspace, path="./backup/experiences.jsonl") + +# Restore from backup +manage_vector_store("load", workspace, path="./backup/experiences.jsonl") + +# Clean up workspace +manage_vector_store("clear", workspace) ``` ---- -## ๐ŸŽฏ Complete Example - -Here's a comprehensive example showing the full experience lifecycle: +### Advanced: Custom Pipeline Configuration ```python -import json -import requests -from typing import List, Dict +# Create custom configuration file +config = """ +http_service: + host: "0.0.0.0" + port: 8001 -class ExperienceMakerClient: - def __init__(self, base_url: str = "http://localhost:8001"): - self.base_url = base_url - - def run_agent_with_experience(self, query: str, workspace_id: str) -> Dict: - """Run agent with experience enhancement""" - - # Step 1: Retrieve relevant experiences - print("๐Ÿ” Retrieving relevant experiences...") - experience_response = requests.post( - url=f"{self.base_url}/retriever", - json={"workspace_id": workspace_id, "query": query} - ) - - experience_context = "" - if experience_response.status_code == 200: - experience_context = experience_response.json()["experience_merged"] - - # Step 2: Run agent with enhanced prompt - print("๐Ÿค– Running agent with experience context...") - enhanced_query = f""" -Previous Experience Context: -{experience_context} +# Custom retrieval pipeline +api: + retriever: "build_query_op->recall_experience_op->rerank_experience_op->rewrite_experience_op" + summarizer: "trajectory_preprocess_op->success_extraction_op->experience_validation_op->experience_storage_op" -Current Task: -{query} +# LLM Configuration +llm: + default: + backend: openai_compatible + model_name: gpt-4o + params: + temperature: 0.7 + max_tokens: 4000 + +# Embedding Configuration +embedding_model: + default: + backend: openai_compatible + model_name: text-embedding-3-small + +# Vector Store Configuration +vector_store: + default: + backend: elasticsearch + embedding_model: default + +# Operation-specific parameters +op: + recall_experience_op: + params: + retrieve_top_k: 10 + query_enhancement: true + + rerank_experience_op: + params: + enable_llm_rerank: true + top_k: 5 + min_score_threshold: 0.3 + + experience_validation_op: + params: + validation_threshold: 0.4 """ - - agent_response = requests.post( - url=f"{self.base_url}/agent", - json={"query": enhanced_query} - ) - - if agent_response.status_code == 200: - agent_result = agent_response.json() - - # Step 3: Summarize new experience - print("๐Ÿ“ Summarizing new experience...") - summary_response = requests.post( - url=f"{self.base_url}/summarizer", - json={ - "workspace_id": workspace_id, - "traj_list": [ - {"messages": agent_result["messages"], "score": 1.0} - ] - } - ) - - return { - "answer": agent_result["answer"], - "messages": agent_result["messages"], - "new_experiences": summary_response.json()["experience_list"] if summary_response.status_code == 200 else [] - } - - return {"error": "Failed to run agent"} -# Usage example -if __name__ == "__main__": - client = ExperienceMakerClient() - - # Example queries - queries = [ - "Analyze Tesla's financial performance", - "Create a market analysis report for Apple Inc.", - "Research renewable energy trends in 2024" - ] - - workspace_id = "financial_analysis" - - for query in queries: - print(f"\n{'='*50}") - print(f"Query: {query}") - print(f"{'='*50}") - - result = client.run_agent_with_experience(query, workspace_id) - - if "answer" in result: - print(f"Answer: {result['answer'][:200]}...") - print(f"Generated {len(result['new_experiences'])} new experiences") - else: - print(f"Error: {result.get('error', 'Unknown error')}") +# Save and use custom configuration +with open("custom_config.yaml", "w") as f: + f.write(config) + +# Launch with custom configuration +# experiencemaker config_path=custom_config.yaml ``` -For more examples and advanced usage, see the [cookbook](./cookbook/) directory. + --- ## ๐Ÿ”ง Configuration -ExperienceMaker supports flexible configuration through YAML files and command-line arguments: +ExperienceMaker offers flexible configuration through YAML files and command-line parameters: -### YAML Configuration +### Configuration Methods -```yaml -# config.yaml -http_service: - host: "0.0.0.0" - port: 8001 +1. **Default Configuration**: Built-in sensible defaults +2. **YAML Configuration**: Structured configuration files +3. **Environment Variables**: Runtime configuration +4. **Command-line Overrides**: Dynamic parameter adjustment -api: - retriever: recall_experience_op->rerank_experience_op->rewrite_experience_op - summarizer: success_extraction_op->experience_validation_op->experience_storage_op +### Key Configuration Areas -llm: - default: - backend: openai_compatible - model_name: gpt-4 - params: - temperature: 0.7 +| Category | Description | Example | +|----------|-------------|---------| +| **HTTP Service** | Server host, port, timeouts | `http_service.port=8080` | +| **LLM Models** | Model names, parameters, endpoints | `llm.default.model_name=gpt-4o` | +| **Embedding Models** | Embedding services and dimensions | `embedding_model.default.model_name=text-embedding-3-small` | +| **Vector Stores** | Backend type, connection settings | `vector_store.default.backend=elasticsearch` | +| **Operations** | Pipeline configurations, thresholds | `op.rerank_experience_op.params.top_k=5` | -embedding_model: - default: - backend: openai_compatible - model_name: text-embedding-3-small +### Example Configuration Commands -vector_store: - default: - backend: elasticsearch - embedding_model: default -``` +```bash +# Basic setup +experiencemaker llm.default.model_name=gpt-4o vector_store.default.backend=chroma -### Command Line Override - -```shell +# Advanced configuration experiencemaker \ - --config config.yaml \ - llm.default.model_name=gpt-4-turbo \ - vector_store.default.backend=chroma \ - http_service.port=8002 + config_path=my_config.yaml \ + http_service.port=8002 \ + op.recall_experience_op.params.retrieve_top_k=15 \ + op.rerank_experience_op.params.enable_llm_rerank=true \ + vector_store.default.backend=elasticsearch ``` +> ๐Ÿ“– **Complete Reference**: See our [Configuration Guide](./doc/global_params.md) for all available parameters. + --- -## ๐Ÿ“– Documentation +## ๐Ÿข Production Deployment -- **[Quick Start Guide](./cookbook/react/quick_start.md)** - Get started with ExperienceMaker -- **[Vector Store Guide](./cookbook/material/vector_store_quick_start.md)** - Comprehensive vector store setup -- **[API Documentation](./cookbook/)** - Detailed API reference -- **[Configuration Reference](./cookbook/)** - All configuration options -- **[Examples](./cookbook/simple_demo/)** - Working code examples +### Docker Deployment + +```dockerfile +# Dockerfile +FROM python:3.12-slim + +WORKDIR /app +COPY requirements.txt . +RUN pip install -r requirements.txt + +COPY . . +RUN pip install . + +EXPOSE 8001 + +CMD ["experiencemaker", "http_service.host=0.0.0.0", "vector_store.default.backend=elasticsearch"] +``` + +### Kubernetes Configuration + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: experiencemaker +spec: + replicas: 3 + selector: + matchLabels: + app: experiencemaker + template: + metadata: + labels: + app: experiencemaker + spec: + containers: + - name: experiencemaker + image: experiencemaker:latest + ports: + - containerPort: 8001 + env: + - name: LLM_API_KEY + valueFrom: + secretKeyRef: + name: api-keys + key: llm-api-key + - name: ES_HOSTS + value: "http://elasticsearch:9200" + command: ["experiencemaker"] + args: + - "vector_store.default.backend=elasticsearch" + - "http_service.host=0.0.0.0" +``` + +### Performance Considerations + +- **Elasticsearch**: Recommended for >100K experiences +- **ChromaDB**: Suitable for <1M experiences +- **Load Balancing**: Multiple service instances for high availability +- **Caching**: Redis for frequently accessed experiences +- **Monitoring**: Integrate with Prometheus/Grafana + +--- + +## ๐Ÿ“š Documentation & Resources + +### ๐Ÿ“– **Core Documentation** +- [๐Ÿ“‹ Operations Reference](./doc/operations.md) - Complete list of all available operations +- [โš™๏ธ Configuration Guide](./doc/global_params.md) - Detailed parameter documentation +- [๐Ÿ—„๏ธ Vector Store Setup](./doc/vector_store_quick_start.md) - Backend setup instructions +- [๐Ÿงช Quick Start Examples](./cookbook/simple_demo/) - Working code samples + +### ๐ŸŽ“ **Learning Resources** +- [๐Ÿ“˜ Cookbook Examples](./cookbook/) - Real-world use cases and patterns +- [๐Ÿš€ Best Practices](./cookbook/) - Production deployment guidelines +- [๐Ÿ”ง Troubleshooting](./cookbook/) - Common issues and solutions + +### ๐Ÿ”— **API Reference** +- **Retriever API**: Experience search and retrieval +- **Summarizer API**: Trajectory processing and storage +- **Vector Store API**: Database management operations +- **Agent API**: ReAct-based agent execution --- ## ๐Ÿค Contributing -We welcome contributions! Please see our contributing guidelines for more information. +We welcome contributions from the community! Here's how you can help: + +### ๐Ÿ› **Report Issues** +- Bug reports and feature requests +- Documentation improvements +- Performance optimization suggestions + +### ๐Ÿ’ป **Code Contributions** +- New operations and tools +- Backend implementations +- API enhancements +- Test coverage improvements + +### ๐Ÿ“ **Documentation** +- Usage examples and tutorials +- Best practices and patterns +- Translation and localization + +**Getting Started**: Fork the repository, create a feature branch, and submit a pull request. Please follow our coding standards and include tests for new functionality. + +--- + +## ๐ŸŽฏ Use Cases & Success Stories + +### ๐Ÿค– **AI Agent Development** +- **Code Generation Agents**: Learn successful coding patterns and avoid common bugs +- **Research Assistants**: Build domain expertise through accumulated research experiences +- **Customer Support**: Improve response quality using past successful interactions + +### ๐Ÿข **Enterprise Applications** +- **Knowledge Management**: Capture and reuse organizational expertise +- **Process Automation**: Learn optimal workflows from successful completions +- **Decision Support**: Leverage historical decision outcomes for better choices + +### ๐Ÿ“Š **Data Science & Analytics** +- **Model Development**: Learn from past experimentation results +- **Feature Engineering**: Reuse successful feature combinations +- **Pipeline Optimization**: Apply proven processing strategies --- ## ๐Ÿ“„ Citation -If you use ExperienceMaker in your research, please cite: +If you use ExperienceMaker in your research or projects, please cite: ```bibtex @software{ExperienceMaker, - title = {ExperienceMaker}, + title = {ExperienceMaker: A Comprehensive Framework for AI Agent Experience Generation and Reuse}, author = {The ExperienceMaker Team}, url = {https://github.com/modelscope/ExperienceMaker}, - month = {01}, - year = {2025} + month = {January}, + year = {2025}, + note = {Version 0.1.0} } ``` @@ -421,10 +514,27 @@ If you use ExperienceMaker in your research, please cite: ## โš–๏ธ License -This project is licensed under the Apache 2.0 License - see the [LICENSE](./LICENSE) file for details. +This project is licensed under the Apache License 2.0 - see the [LICENSE](./LICENSE) file for details. + +--- + +## ๐Ÿ™ Acknowledgments + +ExperienceMaker is built with โค๏ธ by the team at ModelScope. Special thanks to: + +- The open-source community for valuable feedback and contributions +- Research teams advancing the field of AI agent learning +- Early adopters providing real-world usage insights ---

-Made with โค๏ธ by the ExperienceMaker Team + Ready to supercharge your AI agents with experience? ๐Ÿš€
+ Get Started Now ยท + Read the Docs ยท + Star on GitHub +

+ +

+ Made with โค๏ธ by the ExperienceMaker Team

diff --git a/TODO.md b/TODO.md index 336e4b4a..27f6c0ab 100644 --- a/TODO.md +++ b/TODO.md @@ -16,3 +16,13 @@ 7. ่ฎพ่ฎก็†ๅฟต + RoadMAP @jiaji 1. ้‡‘่žexperience 2. making tools + + +# ๅ…†ๆด‹ +1. bedrockไปฃ็ ๆ‰ซไธ€ไธ‹ไธŠไธ‹ๆ–‡็ฎก็† +2. ๅ’Œไบฎๅ“ฅๅˆไฝœ ๅ›บ่ฏsop +3. Experienceๅˆ—ๅคง็บฒ๏ผŒfutureๅทฅไฝœ +4. ๅ‘จๅ››ไธ‹ๅˆๅ’Œๅ…†ๆด‹ๅฏนไธ€ไธ‹ + +# ้”ฆ้ฒค +1. LOGOๆ›ดๅŠ ็ฎ€ๆด agent <-> experience \ No newline at end of file diff --git a/cookbook/simple_demo/simple_demo.py b/cookbook/simple_demo/simple_demo.py index 523e47a1..a0741e21 100644 --- a/cookbook/simple_demo/simple_demo.py +++ b/cookbook/simple_demo/simple_demo.py @@ -71,9 +71,39 @@ def run_agent_with_experience(query_first: str, query_second: str, dump_experien return messages +def dump_experience(): + response = requests.post(url=base_url + "vector_store", json={ + "workspace_id": workspace_id, + "action": "dump", + "path": "./", + }) + + if response.status_code != 200: + print(response.text) + return + + print(response.json()) + + +def load_experience(): + response = requests.post(url=base_url + "vector_store", json={ + "workspace_id": "test_workspace2", + "action": "load", + "path": "./", + }) + + if response.status_code != 200: + print(response.text) + return + + print(response.json()) + + if __name__ == "__main__": query1 = "Analyze Xiaomi Corporation" query2 = "Analyze the company Tesla." # run_agent(query=query1, dump_messages=True) - run_agent_with_experience(query_first=query1, query_second=query2) + # run_agent_with_experience(query_first=query1, query_second=query2) + # dump_experience() + load_experience() diff --git a/doc/quick_start.md b/doc/quick_start.md new file mode 100644 index 00000000..6bda0dad --- /dev/null +++ b/doc/quick_start.md @@ -0,0 +1,273 @@ +# ExperienceMaker Quick Start Guide +This guide will help you get started with ExperienceMaker quickly using practical examples. + +## ๐Ÿš€ What You'll Learn +- How to set up ExperienceMaker service +- Run an agent and generate experiences +- Retrieve and apply experiences to new tasks +- Build experience-enhanced agents + +## ๐Ÿ“‹ Prerequisites +- Python 3.12+ +- LLM API access (OpenAI or compatible) +- Embedding model API access + +## ๐Ÿ› ๏ธ Installation + +### Option 1: Install from PyPI (Recommended) + +```bash +pip install experiencemaker +``` + +### Option 2: Install from Source + +```bash +git clone https://github.com/modelscope/ExperienceMaker.git +cd ExperienceMaker +pip install . +``` + +## โš™๏ธ Environment Setup +Create a `.env` file in your project directory: + +```bash +# Required: LLM API configuration +LLM_API_KEY="sk-xxx" +LLM_BASE_URL="https://xxx.com/v1" + +# Required: Embedding model configuration +EMBEDDING_MODEL_API_KEY="sk-xxx" +EMBEDDING_MODEL_BASE_URL="https://xxx.com/v1" + +# Optional: Elasticsearch configuration (if using Elasticsearch backend) + +``` + +## ๐Ÿš€ Start the Service +For testing, use the `local_file` backend: +```bash +experiencemaker \ + llm.default.model_name=qwen3-32b \ + embedding_model.default.model_name=text-embedding-v4 \ + vector_store.default.backend=local_file +``` +The service will start on `http://localhost:8001` + +### Elasticsearch Backend +```bash +experiencemaker \ + llm.default.model_name=qwen3-32b \ + embedding_model.default.model_name=text-embedding-v4 \ + vector_store.default.backend=elasticsearch +``` + +**Setup Elasticsearch:** +```bash +export ES_HOSTS="http://localhost:9200" +# Quick setup using Elastic's official script +curl -fsSL https://elastic.co/start-local | sh +``` + +## ๐Ÿ“ Your First ExperienceMaker Script + +### Call Summarizer Examples +```python +import requests +from dotenv import load_dotenv + +load_dotenv() +base_url = "http://0.0.0.0:8001/" +workspace_id = "test_workspace" + + +def run_summary(messages: list): + response = requests.post(url=base_url + "summarizer", json={ + "workspace_id": workspace_id, + "traj_list": [ + {"messages": messages, "score": 1.0} + ] + }) + + response = response.json() + experience_list = response["experience_list"] + for experience in experience_list: + print(experience) +``` + +### Call Retriever Examples + +```python +import requests +from dotenv import load_dotenv + +load_dotenv() +base_url = "http://0.0.0.0:8001/" +workspace_id = "test_workspace" + + +def run_retriever(query: str): + response = requests.post(url=base_url + "retriever", json={ + "workspace_id": workspace_id, + "query": query, + }) + + response = response.json() + experience_merged: str = response["experience_merged"] + print(f"experience_merged={experience_merged}") +``` + +## ๐ŸŽฏ Step-by-Step Walkthrough + +### Step 1: Run Your First Agent + +```bash +python demo.py +``` + +This will: +1. Send a query to the agent +2. Get an analysis of Tesla's business model +3. Save the conversation messages + +### Step 2: Understand the Experience Generation + +The agent's conversation will be processed to extract: +- **Success patterns**: What worked well in the analysis +- **Key insights**: Important findings and methodologies +- **Failure cases**: What didn't work or could be improved + +### Step 3: Experience Retrieval in Action + +When you ask about Apple, the system will: +1. Search for relevant experiences (Tesla analysis) +2. Find similar business analysis patterns +3. Apply learned methodologies to the new query + +## ๐Ÿ”ง Advanced Usage + +### Custom Workspace Management + +```python +def manage_workspace(action: str): + """Manage vector store workspace""" + response = requests.post( + url=f"{base_url}/vector_store", + json={ + "workspace_id": workspace_id, + "action": action + } + ) + return response.json() + +# Create a new workspace +manage_workspace("create") + +# Clear all experiences +manage_workspace("clear") + +# Dump experiences to file +requests.post( + url=f"{base_url}/vector_store", + json={ + "workspace_id": workspace_id, + "action": "dump", + "path": "./backup/experiences.jsonl" + } +) +``` + +### Batch Experience Processing + +```python +def batch_process_experiences(queries: list): + """Process multiple queries and build experience base""" + all_experiences = [] + + for i, query in enumerate(queries): + print(f"Processing query {i+1}/{len(queries)}: {query}") + + # Run agent + messages = run_agent(query) + + # Generate experiences + run_summary(messages, dump_experience=False) + + print(f"Processed {len(queries)} queries and built experience base") + +# Example: Build experience base for financial analysis +financial_queries = [ + "Analyze Tesla's revenue streams", + "Evaluate Apple's market position", + "Assess Microsoft's competitive advantages" +] + +batch_process_experiences(financial_queries) +``` + +## ๐Ÿ” Monitoring and Debugging + +### Check Service Status + +```python +def check_service_health(): + """Check if ExperienceMaker service is running""" + try: + response = requests.get(f"{base_url}/health") + return response.status_code == 200 + except: + return False + +if not check_service_health(): + print("โŒ ExperienceMaker service is not running") + print("Start it with: experiencemaker vector_store.default.backend=local_file") +else: + print("โœ… ExperienceMaker service is running") +``` + +### View Generated Files + +After running the demo, you'll have: + +- `messages.jsonl`: Raw conversation data +- `experience.jsonl`: Structured experiences extracted from conversations + +## ๐ŸŽ‰ What's Next? + +Now that you have ExperienceMaker running: + +1. **Explore Different Domains**: Try queries in different areas (technical analysis, creative writing, problem-solving) + +2. **Build Domain-Specific Experience**: Create workspaces for specific use cases + +3. **Integration**: Integrate ExperienceMaker into your existing agent workflows + +4. **Production Deployment**: Switch to Elasticsearch for production workloads + +## ๐Ÿ“š Additional Resources + +- **[Full Documentation](./README.md)**: Complete feature reference +- **[Vector Store Setup](./doc/vector_store_quick_start.md)**: Production deployment guide +- **[Configuration Guide](./doc/global_params.md)**: Advanced configuration options +- **[Example Collection](./cookbook/)**: More practical examples + +## ๐Ÿ› Common Issues + +### Service Won't Start +- Check if port 8001 is available +- Verify your API keys in `.env` file +- Ensure Python version is 3.12+ + +### No Experiences Retrieved +- Make sure you've run the summarizer first +- Check if workspace_id matches between operations +- Verify vector store backend is properly configured + +### API Connection Errors +- Confirm LLM_BASE_URL and API keys are correct +- Test API access independently +- Check network connectivity + +--- + +๐ŸŽฏ **You're all set!** You now have a working ExperienceMaker setup that can learn from interactions and improve over time. \ No newline at end of file diff --git a/doc/global_params.md b/doc/service_params.md similarity index 99% rename from doc/global_params.md rename to doc/service_params.md index fc9f87ad..ec96dcc9 100644 --- a/doc/global_params.md +++ b/doc/service_params.md @@ -1,4 +1,4 @@ -# Global Params Documentation +# Services Params Documentation This document describes all available command-line parameters for ExperienceMaker. The application uses [OmegaConf](https://omegaconf.readthedocs.io/) for configuration management, supporting both YAML files and diff --git a/test_workspace2.jsonl b/test_workspace2.jsonl new file mode 100644 index 00000000..079ee51e --- /dev/null +++ b/test_workspace2.jsonl @@ -0,0 +1,2 @@ +{"unique_id": "e249d97f56dd452badd764a81dc22709", "workspace_id": "test_workspace1", "content": "When analyzing a large, multifaceted corporation across various dimensions such as financials, market position, and technological innovations.", "vector": [-0.03873444348573685, 0.06966108083724976, -0.0016456600278615952, -0.006419977638870478, 0.02106998674571514, 0.10510074347257614, -0.008846071548759937, 0.023783335462212563, 0.023118842393159866, 0.08704866468906403, -0.004329591523855925, -0.049366340041160583, 0.05335330218076706, 0.04117091745138168, 0.006928730756044388, 0.02835172973573208, -0.02796410769224167, -0.035467348992824554, 0.030040649697184563, 0.04316439852118492, 0.09153400361537933, 0.05603896453976631, -0.018204357475042343, 0.06733535975217819, -0.020917706191539764, 0.06788910180330276, 0.007897784002125263, -0.019699467346072197, 0.04634843394160271, -0.008236952126026154, 0.01871657185256481, -0.03275400027632713, 0.04454876109957695, 0.04421651363372803, 0.02813023142516613, 0.03341849148273468, -0.029043909162282944, -0.03103739023208618, 0.006946035195142031, -0.007150228600949049, -0.003365729469805956, -0.012694597244262695, -0.020557772368192673, -0.025624535977840424, 0.0006471891538240016, 0.04726210981607437, -0.024170955643057823, -0.0016093205194920301, -0.018605822697281837, 0.008050063624978065, 0.011967807076871395, -0.002355145523324609, -0.04800966754555702, -0.02274506352841854, -0.0029365774244070053, -0.004686064552515745, -0.03045595809817314, 0.013331403955817223, 0.04391195625066757, 0.03275400027632713, -0.006229627877473831, 0.05864156410098076, 0.021139204502105713, 0.004686064552515745, 0.0009595357696525753, -0.009358285926282406, -0.005945833865553141, -0.03926049917936325, 0.02813023142516613, -0.03804226219654083, 0.011358688585460186, 0.056205086410045624, -0.011947042308747768, 0.013449074700474739, -0.07542002946138382, -0.0069391136057674885, 0.0028275588992983103, -0.0003285696147941053, -0.03167419880628586, 0.0068664345890283585, -0.03854063153266907, 0.028600914403796196, -0.032311003655195236, -0.05880768969655037, -0.027147334069013596, 0.013940523378551006, -0.023506462574005127, -0.07309430092573166, -0.0001388687960570678, -0.06268390268087387, -0.019699467346072197, -0.019574875012040138, 0.0356888473033905, -0.010361948050558567, 0.008063907735049725, 0.06960570812225342, -0.01446658093482256, 0.0529656819999218, -0.014840357936918736, 0.0010650933254510164, -0.02170679345726967, -0.007918549701571465, -0.05764482542872429, 0.025762973353266716, 0.01961640641093254, -0.07979461550712585, 0.020557772368192673, 0.023340338841080666, -0.003408990800380707, 0.029985275119543076, 0.011614794842898846, -0.026178281754255295, 0.025306133553385735, 0.0414201058447361, -0.03236638009548187, -0.019824059680104256, -0.021457606926560402, 0.010943380184471607, 0.015961691737174988, -0.014757296070456505, -0.022468192502856255, 0.01925647258758545, -0.00708101037889719, -0.033695366233587265, -0.015311040915548801, 0.003699706867337227, 0.006617249455302954, 0.01122717373073101, -0.010278886184096336, -0.019381064921617508, 0.003530122572556138, -0.04565625265240669, -0.010798022150993347, -0.03125888854265213, 0.02367258630692959, 0.04607155919075012, -0.02248203568160534, -0.021789854392409325, -0.012874564155936241, -0.0017659264849498868, 0.009939717128872871, -0.0038969784509390593, -0.04081098362803459, -0.05293799564242363, 0.03621490299701691, -0.016570810228586197, -0.006914887111634016, 0.012583848088979721, 0.003500704886391759, 0.011974729597568512, -0.03333543241024017, -0.013919757679104805, -0.019214941188693047, 0.022011352702975273, -0.04202922433614731, -0.02664896473288536, -0.0002922301064245403, -0.0046341512352228165, 0.018301263451576233, -0.021762166172266006, -0.0003361403360031545, 0.01825973205268383, 0.03480285406112671, 0.009759750217199326, -0.046431493014097214, 0.01236927229911089, 0.05293799564242363, -0.015698662027716637, 0.033307746052742004, 0.017138399183750153, 0.03884519264101982, 0.022980405017733574, -0.00859688688069582, -0.06960570812225342, 0.0025281906127929688, 0.04122629389166832, 0.036824021488428116, 0.006150027271360159, -0.040561798959970474, 0.02080695703625679, -0.011538655497133732, -0.012106243520975113, 0.053464051336050034, 0.008908367715775967, -0.0414201058447361, -0.035439662635326385, 0.03854063153266907, -0.018910381942987442, 0.01088800560683012, -0.032504815608263016, 0.006181175354868174, -0.002877742052078247, 0.030428271740674973, 0.024074051529169083, -0.05426698178052902, -0.0002290686097694561, -0.010230433195829391, 0.01308221835643053, 0.0890975221991539, 0.004866031464189291, 0.01544947735965252, -0.013656728900969028, 0.008063907735049725, 0.022717377170920372, -0.05592821538448334, 0.0006082539330236614, -0.013296795077621937, -0.013573667034506798, -0.011704779230058193, 0.020765427500009537, -0.0012537125730887055, -0.005492455326020718, 0.018301263451576233, 0.03892825171351433, 0.01780289225280285, 0.0038900566287338734, -0.026884306222200394, 0.031563449651002884, 0.02790873311460018, 0.004592620301991701, -0.010735725983977318, -0.02473854459822178, -0.03784845024347305, 0.010341182351112366, -0.032311003655195236, 0.0035612706560641527, 0.012687675654888153, 0.0047483607195317745, -0.016404686495661736, -0.00422576442360878, -0.022398972883820534, 0.0076693641021847725, -0.013898991979658604, -0.0428321547806263, -0.005810858681797981, -0.011254861019551754, 0.0006138778990134597, -0.012085477821528912, 0.006150027271360159, 0.007863175123929977, -0.008866837248206139, 0.00887375883758068, -0.016501592472195625, 0.019602563232183456, -0.014840357936918736, 0.056371212005615234, -0.028434790670871735, -0.007496318779885769, -0.07691513746976852, 0.022052882239222527, -0.04513019323348999, 0.04781585559248924, 0.01777520589530468, -0.036408714950084686, -0.010687272995710373, -0.008603808470070362, -0.017442958429455757, 0.002235744148492813, 0.030926642939448357, 0.06855359673500061, -0.012791503220796585, 0.043441273272037506, -0.0016802691388875246, -0.0544607937335968, 0.009496721439063549, 0.014286613091826439, -0.010091997683048248, 0.07586302608251572, -0.021886760368943214, 0.09518871456384659, -0.019076505675911903, 0.018232043832540512, 0.053270239382982254, -0.06002592667937279, 0.008984507992863655, 0.008797619491815567, -0.04147547855973244, -0.0024087894707918167, -0.0009880881989374757, 0.0034228344447910786, -0.015864785760641098, 0.006302306894212961, -0.046763740479946136, 0.0173598974943161, -0.01789979822933674, 0.03386148810386658, 0.0012563082855194807, 0.07924086600542068, -0.07713663578033447, -0.018412010744214058, 0.006873356178402901, -0.023658743128180504, -0.001752082840539515, 0.0037377767730504274, -0.053436364978551865, -0.023783335462212563, 0.025956783443689346, 0.03732239454984665, -0.000576240592636168, -0.013905913569033146, 0.0019813678227365017, -0.024724701419472694, -0.0055824387818574905, 0.001722665154375136, 0.005174051970243454, 0.015172605402767658, 0.0004302336892578751, -0.11274242401123047, -0.021845228970050812, -0.048563409596681595, 0.0036443322896957397, 0.018882693722844124, -0.01874425821006298, -0.017083024606108665, -0.02015630714595318, 0.02151298150420189, -0.05628814920783043, 0.0012701519299298525, 0.008956820704042912, 0.019657937809824944, 0.05886306241154671, -0.013559823855757713, 0.068387471139431, 0.004198077134788036, -0.030179087072610855, 0.030179087072610855, 0.0028171762824058533, -0.032947808504104614, 0.0327816866338253, 0.005478611681610346, 0.013587511144578457, 0.010964144952595234, 0.000352795934304595, 0.03557809814810753, -0.04884028434753418, 0.034249112010002136, -0.01981021650135517, 0.02509847842156887, -0.04587775096297264, -0.0187719464302063, 0.014397362247109413, 0.061465661972761154, 0.013331403955817223, -0.03890056535601616, 0.06129954010248184, 0.028074856847524643, 0.048148103058338165, 0.039565060287714005, 0.021886760368943214, 0.025167696177959442, 0.00017099031538236886, 0.025596849620342255, -0.029265407472848892, 0.016044752672314644, 0.0007713490631431341, 0.020571615546941757, 0.0031805711332708597, -0.019298003986477852, 0.002033281372860074, 0.0034470607060939074, -0.05019695684313774, -0.009538252837955952, 0.010784178040921688, 0.04106017202138901, -0.06899659335613251, -0.05670345947146416, -0.03045595809817314, 0.0017806353280320764, 0.038180697709321976, 0.03051133267581463, 0.020723896101117134, 0.000907622161321342, -0.03549503535032272, -0.0056516570039093494, -0.008520746603608131, 0.028102543205022812, -0.03316930681467056, -0.0017572742654010653, -0.03267093747854233, -0.01813513971865177, 0.015920160338282585, 0.039924994111061096, 0.002341301878914237, -0.014798827469348907, 0.04673605412244797, -0.028656288981437683, -0.03873444348573685, 0.012625379487872124, 0.02561069279909134, 0.005433619953691959, 0.035882655531167984, 0.037211645394563675, -0.0032013365998864174, 0.010735725983977318, 0.04352433234453201, -0.006994487717747688, 0.025541475042700768, -0.02068236470222473, 0.023201903328299522, -0.029653029516339302, -0.0337507389485836, 0.02871166355907917, -0.07735813409090042, 0.028628600761294365, -0.052052002400159836, 0.009268302470445633, 0.013165280222892761, 0.03926049917936325, 0.03552272170782089, 0.03123120218515396, -0.06916271150112152, -0.025403037667274475, 0.031563449651002884, -0.010714960284531116, 0.007932392880320549, 0.014397362247109413, -0.030372897163033485, 0.0016508514527231455, -0.00361664523370564, -0.09712681919336319, -0.0015349111054092646, 0.005322870798408985, 0.00141118373721838, -0.003973118495196104, -0.02558300644159317, 0.05548521876335144, 0.02010093256831169, 0.0021682565566152334, -0.01436967495828867, 0.03862369433045387, -0.056758832186460495, 0.01612781547009945, -0.07386954128742218, 0.044022705405950546, 0.03355693072080612, 0.00800161063671112, 0.03732239454984665, -0.010922614485025406, -0.05897381156682968, -0.00723329046741128, -0.029459219425916672, -0.003000604221597314, -0.016017066314816475, 0.005973521154373884, 0.003789690323174, -0.0011351766297593713, 0.04321977496147156, -0.06966108083724976, 0.008714557625353336, -0.02567991055548191, -0.04416114091873169, 0.0038935174234211445, 0.021249953657388687, 0.01553253922611475, 0.003057708963751793, 0.025458412244915962, -0.017789049074053764, 0.03776538744568825, -0.019962497055530548, 0.01495110709220171, 0.022758906707167625, 0.06545262783765793, -0.025043103843927383, 0.013732869178056717, 0.004211920779198408, 0.04070023447275162, 0.005350558087229729, 0.000943961669690907, 0.01561560109257698, -0.015657132491469383, 0.027881046757102013, -0.005049459636211395, -0.004429957829415798, 0.014757296070456505, 0.02854553982615471, 0.022025195881724358, 0.02932078205049038, 0.010500384494662285, 0.01436967495828867, 0.08034835755825043, 0.038374509662389755, 0.007835487835109234, 0.008506903424859047, 0.024060208350419998, 0.02010093256831169, 0.04787122830748558, 0.018107451498508453, -0.0027341144159436226, -0.01253539603203535, -0.014425049535930157, 0.022897344082593918, -0.02109767310321331, -0.05022464692592621, 0.0408940464258194, -0.012749971821904182, -0.04180772602558136, -0.020267056301236153, 0.05174744129180908, 0.007994689047336578, 0.0009370398474857211, 0.054599229246377945, -0.016529278829693794, -0.017567550763487816, -0.03848525881767273, 0.03715626895427704, -0.007877018302679062, -0.0789639949798584, 0.01874425821006298, -0.012978391721844673, -0.0159063171595335, 0.02529229037463665, -0.007842409424483776, 0.006821442861109972, -0.019630249589681625, 0.007676286157220602, -0.021955978125333786, 0.04094942286610603, 0.008091595023870468, 0.007046401500701904, -0.03627027943730354, 0.024281704798340797, -0.04557318985462189, 0.023368027061223984, 0.03912206366658211, -0.058530814945697784, 0.004682603757828474, 0.0011118155671283603, -0.0001341100432910025, 0.051498256623744965, -0.006977183278650045, -0.00125198217574507, 0.027078116312623024, -0.04881259799003601, -0.08145584911108017, 0.01446658093482256, 0.038983628153800964, -0.0341937355697155, 0.004506097640842199, -0.03502435237169266, -0.063625268638134, 0.018633509054780006, 0.005689726676791906, 0.023534150794148445, -0.04939402639865875, 0.020502397790551186, -0.019657937809824944, -0.005045998841524124, 0.021596044301986694, -0.020211681723594666, -0.01103336364030838, -0.033723052591085434, 0.008409997448325157, -0.008202343247830868, 0.012770737521350384, 0.06595099717378616, -0.03831913322210312, -0.03862369433045387, -0.024655483663082123, -0.011746309697628021, -0.03984193131327629, 0.0221636313945055, -0.03638102859258652, -0.026565901935100555, 0.007295586634427309, 0.030566707253456116, -0.013566745445132256, 0.03139732405543327, -0.015394102782011032, -0.030954329296946526, -0.014341987669467926, 0.02316037192940712, -0.015407946892082691, -0.02968071587383747, -0.028379416093230247, -0.01726299151778221, -0.03552272170782089, 0.027881046757102013, -0.0002803332463372499, 0.07652752101421356, -0.012473099865019321, -0.007510162424296141, -0.06500963121652603, -0.03690708428621292, 0.006475352216511965, 0.017083024606108665, -0.015864785760641098, -0.08416919410228729, -0.021831385791301727, 0.038789816200733185, -0.03328005596995354, 0.042278409004211426, 0.045407067984342575, -0.005302105564624071, -0.013525214977562428, -0.0027669931296259165, 0.021817540749907494, 0.03906669095158577, 0.02180369757115841, -0.016141658648848534, 0.019602563232183456, -0.021333014592528343, -0.010258120484650135, -0.00943442527204752, 0.02512616664171219, 0.01387130469083786, -0.013995897956192493, 0.02303577959537506, -0.0233541838824749, 0.003973118495196104, -0.03571653366088867, -0.039371248334646225, -0.0036512541119009256, 0.03901131451129913, -0.02948690578341484, -0.0042949821799993515, -0.009704375639557838, -0.018204357475042343, 0.01367749460041523, 0.01522797904908657, -0.0035820361226797104, 0.012867642566561699, 0.028573226183652878, -0.008901446126401424, -0.03862369433045387, -0.01760908216238022, -0.012736128643155098, 0.015670975670218468, -0.04845266044139862, 0.010777256451547146, 0.016833839938044548, -0.018702726811170578, 0.04598849639296532, 0.053464051336050034, -0.0219421349465847, 0.06069042161107063, 0.003595879767090082, -0.03521816432476044, -0.024918511509895325, -0.007454788312315941, 0.10421475768089294, 0.05628814920783043, -0.007316351868212223, -0.0031615362968295813, 0.053990110754966736, -0.008610730059444904, -0.04255528002977371, -0.01303376629948616, -0.04020186513662338, 0.00766244251281023, 0.0006385368760675192, 0.013089140877127647, -0.02274506352841854, 0.0003192684380337596, -0.014134333468973637, 0.036436401307582855, -0.014715765602886677, -0.009109100326895714, -0.02041933685541153, 0.023506462574005127, 0.029376156628131866, -0.033086247742176056, -0.05219043791294098, -0.03211719170212746, -0.00012783716374542564, -0.06739073246717453, 0.012182383798062801, 0.00011810336582129821, 0.010320416651666164, -0.026635119691491127, -0.001393879298120737, 0.004814118146896362, -0.029569966718554497, -0.0187719464302063, 0.05365786328911781, -0.007316351868212223, 0.059306059032678604, -0.011684013530611992, -0.013670572079718113, -0.01080494374036789, -0.011649404652416706, -0.03854063153266907, 0.04886797070503235, -0.08583042770624161, 0.004045797511935234, 0.0005498512182384729, 0.014355831779539585, -0.037211645394563675, -0.03441523388028145, -0.01906266249716282, 0.00951748713850975, -0.023215746507048607, -0.06811060011386871, -0.009455190971493721, -0.01813513971865177, -0.09026038646697998, -0.02761801704764366, -0.028628600761294365, 0.0257768165320158, -0.006056582555174828, 0.05725720152258873, 0.047594357281923294, -0.030428271740674973, 0.07403566688299179, -0.012327741831541061, 0.007364804856479168, 0.043662771582603455, -0.03784845024347305, 0.04789891839027405, -0.0037966121453791857, 0.01971331238746643, 0.04180772602558136, 0.001219103578478098, -0.024600109085440636, 0.012978391721844673, 0.012362350709736347, -0.007530928123742342, -0.003408990800380707, -0.025153852999210358, 0.022177476435899734, 0.03491360321640968, -0.02990221418440342, 0.03674096241593361, -0.01009891927242279, -0.014189708046615124, 0.05277187004685402, -0.08051448315382004, 0.03593803197145462, 0.011137190274894238, -0.023215746507048607, 0.01016121543943882, -0.043275147676467896, 0.02352030575275421, -0.016723090782761574, 0.019893279299139977, 0.019657937809824944, 0.01387130469083786, 0.03239406645298004, 0.012618457898497581, -0.03258787468075752, 0.02148529514670372, 0.008008533157408237, -0.029459219425916672, -0.009482878260314465, -0.038014575839042664, 0.02439245395362377, -0.014757296070456505, -0.01699996180832386, 0.026828931644558907, 0.020308587700128555, -0.011254861019551754, 0.02803332544863224, -0.01842585578560829, -0.1454133540391922, -0.006727998144924641, -0.03433217108249664, -0.033307746052742004, 0.03574422001838684, 0.02587372064590454, -0.0019484892254695296, -0.017304522916674614, -0.003848525695502758, -0.01387130469083786, 0.01303376629948616, 0.02493235468864441, 0.05764482542872429, 0.037239331752061844, -0.027147334069013596, 0.021429920569062233, -0.06351451575756073, 0.012286210432648659, -0.0011048937449231744, 0.04623768478631973, 0.026275185868144035, 0.01986559107899666, 0.04020186513662338, -0.04435495287179947, -0.002616443671286106, 0.0006385368760675192, -0.019657937809824944, 0.004329591523855925, 0.05468228831887245, 0.018730415031313896, -0.07187606394290924, 0.0017079563112929463, 0.015435634180903435, -0.01532488502562046, 0.007925471290946007, -0.01738758385181427, -0.005187895614653826, -0.0031649970915168524, 0.028047168627381325, 0.01230697613209486, 0.0025178079959005117, -0.0007263573352247477, -0.03615953028202057, 0.006496117450296879, -0.0059839035384356976, 0.018951913341879845, -0.010991832241415977, 0.006759146228432655, -0.019007287919521332, -0.05847544223070145, -0.03768232837319374, -0.04806504026055336, 0.024060208350419998, 0.012043947353959084, -0.026856618002057076, -0.03887287899851799, 0.006738380994647741, 0.04042336344718933, -0.026704339310526848, -0.03336311876773834, -0.023990988731384277, 0.00880454108119011, -0.01322757638990879, 0.02909928373992443, 0.007440944667905569, -0.005852389615029097, 0.008479216136038303, 0.03211719170212746, -0.044631823897361755, 0.018079765141010284, -0.003941969946026802, 0.008555355481803417, 0.028683975338935852, -0.006683006417006254, 0.012043947353959084, -0.021540669724345207, -0.007011792156845331, -0.00845152884721756, -0.0015305849956348538, 0.03438754752278328, -0.05016927048563957, -0.0137259466573596, -0.04950477555394173, 0.013019922189414501, -0.03444292023777962, -0.00044169792090542614, -0.018882693722844124, -0.03765464201569557, -0.0544607937335968, 0.006309228949248791, -0.0020177073311060667, -0.040146492421627045, 0.017470644786953926, -0.020211681723594666, -0.05008620768785477, 0.0021838305983692408, 0.007586302701383829, -0.014272769913077354, -0.038955941796302795, 0.011600951664149761, -0.02725808322429657, 0.02000402845442295, 0.04316439852118492, -0.005665500648319721, 0.013116828165948391, 0.018896538764238358, 0.0394819974899292, -0.023921770974993706, 0.0030507873743772507, -0.02077927067875862, -0.013587511144578457, -0.024572420865297318, -0.024240175262093544, 0.01274305023252964, 0.025735285133123398, -0.008963742293417454, 0.012473099865019321, -0.003530122572556138, -0.003907361067831516, 0.09762519598007202, -0.049338653683662415, 0.003682402428239584, -0.010486540384590626, -0.038596007972955704, -0.02160988748073578, -0.017761360853910446, 0.03170188516378403, -0.00851382501423359, -0.026441309601068497, 0.015089543536305428, -0.03743314370512962, 0.005533986259251833, -0.06207478046417236, -0.017235303297638893, -0.018467385321855545, -0.003959274850785732, -0.025790659710764885, 0.02774260938167572, -0.024461671710014343, 0.006084269843995571, -0.09048188477754593, -0.024849293753504753, -0.0026700878515839577, -0.01648774929344654, -0.04468719661235809, 0.022731220349669456, -0.014729609712958336, 0.007593224290758371, 0.06667086482048035, 0.004866031464189291, -0.001619703252799809, 0.00795315857976675, -0.006738380994647741, 0.027299614623188972, -0.004796813707798719, -0.013843617402017117, -0.04457644745707512, -0.018813475966453552, 0.01610012724995613, 0.0076693641021847725, 0.04510250687599182, 0.025375351309776306, -0.03386148810386658, -0.0341937355697155, 0.023188060149550438, 0.02716117724776268, 0.016750777140259743, 0.044438011944293976, 0.02696736715734005, -0.007420178968459368, 0.03355693072080612, -0.04770510643720627, 0.01702765002846718, 0.029265407472848892, -0.02374180406332016, -0.019990183413028717, -0.02245434746146202, -0.03217256814241409, 0.03867906704545021, 0.004395348485559225, 0.03521816432476044, 0.047594357281923294, 0.03513510152697563, 0.007537849713116884, 0.019284158945083618, 0.03208950534462929, 0.009233692660927773, 0.0017927484586834908, 0.011164877563714981, -0.014217395335435867, -0.026787400245666504, 0.013026844710111618, 0.05858619138598442, -0.018799632787704468, 0.009822046384215355, 0.0053436364978551865, -1.3397485417954158e-05, 0.015131074003875256, -0.03339080512523651, -0.003434947691857815, 0.03123120218515396, -0.041087858378887177, 0.017276834696531296, 0.006011590827256441, -0.05504222586750984, 0.005014850292354822, -0.007070627529174089, 0.003630488645285368, 0.023049622774124146, 0.007579380646348, -0.0022097874898463488, 0.07054707407951355, 0.01571250520646572, 0.017013806849718094, -0.010943380184471607, 0.023215746507048607, 0.022731220349669456, 0.004350356757640839, -0.025721441954374313, 0.007946236990392208, -0.021180735900998116, -0.006021973676979542, -0.012895329855382442, -0.03325236961245537, 0.0028621680103242397, -0.0180659219622612, 0.021762166172266006, -0.05842006579041481, -0.01697227545082569, 0.008776853792369366, 0.03433217108249664, -0.018010547384619713, 0.027756454423069954, 0.004405731335282326, 0.009060648269951344, -0.022426661103963852, -0.04629305750131607, 0.011247939430177212, 0.0001388687960570678, 0.04147547855973244, 0.006478813011199236, 0.05365786328911781, 0.021014612168073654, -0.03862369433045387, -0.013276029378175735, -0.00938597321510315, 0.05797707289457321, -0.023188060149550438, 0.014494268223643303, 0.02677355706691742, 0.02328496426343918, 0.006638014689087868, -0.011420984752476215, 0.030234461650252342, -0.08450144529342651, 0.020433180034160614, -0.012874564155936241, 0.041918475180864334, -0.05570671707391739, 0.034110672771930695, 0.005194817669689655, -0.022135945037007332, 0.026704339310526848, 0.03405530005693436, 0.030234461650252342, 0.0050356159918010235, -0.025596849620342255, 0.0027427668683230877, 0.002464164048433304, 0.02638593502342701, -0.03610415384173393, 0.030372897163033485], "metadata": {"experience_type": "text", "experience_content": "Breaking down the problem into smaller subtasks (e.g., financial performance, market standing, recent developments) allows for a more systematic and comprehensive analysis. Using multiple `web_search` calls with specific queries ensures that each dimension is thoroughly covered from different angles.", "score": null, "metadata": {"author": "qwen-max-2025-01-25", "created_time": "2025-07-21 16:35:35", "modified_time": "2025-07-21 16:35:35", "extra_info": null}, "_score": 0.0}} +{"unique_id": "c13abd248d1a48e89582f0177a7a0f84", "workspace_id": "test_workspace1", "content": "When information retrieved seems sufficient but fragmented across several sources and needs to be synthesized into a coherent response.", "vector": [-0.012681480497121811, 0.052835505455732346, 0.005525673273950815, -0.017212292179465294, 0.030764775350689888, 0.01539837010204792, 0.027488527819514275, 0.027041040360927582, -0.020920047536492348, 0.14536955952644348, -0.01789950579404831, -0.02649766206741333, 0.018059322610497475, -0.027712270617485046, 0.041104938834905624, -0.006752268876880407, 0.029358386993408203, -0.06191311404109001, 0.054209932684898376, 0.06744278222322464, 0.012170066125690937, -0.033561572432518005, 0.06223274767398834, 0.040593523532152176, -0.032394908368587494, 0.02208671160042286, -0.024563875049352646, -0.07057519257068634, -0.04730583727359772, -0.014023943804204464, 0.003164377063512802, -0.01885840855538845, 0.02032872475683689, -0.02283785119652748, 0.0013414641143754125, 0.033146049827337265, -0.008957743644714355, 0.026625515893101692, 0.0005293939029797912, 0.01006048172712326, 0.01695658639073372, -0.030557014048099518, 0.0028826994821429253, -0.035862937569618225, 0.007315624039620161, 0.023812735453248024, -0.02628989890217781, -0.017739688977599144, -0.03845197334885597, 0.0016251392662525177, -0.02577848546206951, -0.020776212215423584, -0.03803645074367523, -0.010755685158073902, 0.00015444816381204873, -0.0013784217881038785, 0.020824158564209938, -0.010236280038952827, 0.01729220151901245, -0.0055656274780631065, 0.028942862525582314, -0.0012106138747185469, 0.03726932778954506, -0.029246514663100243, 0.05433778837323189, -0.018506810069084167, 0.08246558159589767, -0.03592686727643013, -0.016381245106458664, -0.0439816452562809, 0.007994846440851688, 0.009005689062178135, 0.026641497388482094, -0.0018588716629892588, -0.059004444628953934, 0.03947480395436287, -0.02785610593855381, 0.06338343024253845, -0.0355752669274807, -0.017963433638215065, -0.015062754042446613, -0.006852154619991779, -0.0440136082470417, -0.036374352872371674, -0.01031618844717741, 0.014966864138841629, -0.010284225456416607, 0.01632530800998211, 0.013280794024467468, 0.02397255226969719, -0.009788792580366135, 0.007607290055602789, 0.030029617249965668, 0.02199082262814045, -0.00345404539257288, -0.0068441638723015785, -0.033465683460235596, 0.024979399517178535, 0.029981672763824463, 0.01183445006608963, 0.0004477373731788248, -0.017963433638215065, -0.02849537506699562, 0.040785305202007294, 0.022805888205766678, -0.029054734855890274, -0.05663915351033211, 0.005333893001079559, -0.01580590382218361, -0.01492690946906805, -0.008829890750348568, -0.017196310684084892, 0.022997669875621796, 0.0032782466150820255, 0.02231045626103878, -0.029262496158480644, 0.014175769872963428, 0.033146049827337265, 0.02178305946290493, 0.006208891049027443, 0.003248280845582485, -0.013384675607085228, 0.028031906113028526, -0.04260721802711487, 0.021127810701727867, -0.009597011841833591, -0.01031618844717741, 0.04810492321848869, 0.010851575993001461, 0.047593507915735245, -0.054721347987651825, -0.029278477653861046, 0.003577903611585498, -0.007543363142758608, 0.0005268967361189425, -0.008414366282522678, 0.025075290352106094, -0.01298513263463974, -0.00946915801614523, 0.005677499808371067, -0.023077577352523804, -0.026721404865384102, 0.0597076378762722, 0.028830990195274353, -0.015949739143252373, -0.05999530851840973, 0.00764724425971508, 0.014687184244394302, -0.034520477056503296, 0.007679207716137171, -0.027696289122104645, -0.03301819786429405, -0.030429160222411156, 0.032826416194438934, 0.028974825516343117, -0.06641995161771774, 0.004570766817778349, -0.022022785618901253, 0.022981686517596245, 0.003603873774409294, -0.025299035012722015, -0.009676920250058174, -0.004694624803960323, 0.01959356665611267, -0.028623228892683983, 0.009365277364850044, 0.11455684155225754, -0.03570312261581421, 0.00017554900841787457, -0.008566192351281643, -0.01414380595088005, 0.035671159625053406, -0.018187176436185837, -0.04494054615497589, 0.018043341115117073, 0.03276249021291733, 0.00874199066311121, 0.04385378956794739, 0.00953308492898941, -0.0964016243815422, 0.0167648047208786, -0.013528510928153992, 0.009229432791471481, -0.013648373074829578, -0.03295426815748215, -0.05615970119833946, 0.006800214294344187, -0.027408618479967117, -0.017883524298667908, 0.013200885616242886, 0.004658665973693132, 0.024467986077070236, 0.006796218920499086, -0.0021914909593760967, -0.04116886481642723, -0.03046112321317196, 0.008238567039370537, 0.028463412076234818, 0.04378986358642578, 0.0016131530283018947, 0.025810448452830315, -0.008917789906263351, -0.02544287033379078, -0.019529640674591064, -0.038579829037189484, 0.04353415593504906, 0.013792208395898342, -0.0024711706209927797, -0.0027608389500528574, -0.0019517653854563832, 0.015270516276359558, -0.0021235686726868153, -0.005485719069838524, -0.027568435296416283, -0.012337873689830303, -0.012082166969776154, -0.04241543635725975, 0.009333314374089241, -0.03308212384581566, 0.03375335410237312, 0.0, 0.03271454572677612, 0.0029086696449667215, 0.00927737820893526, -7.154308696044609e-05, 0.04241543635725975, 0.028655191883444786, 0.0063047814182937145, 0.027376655489206314, 0.01791548728942871, -0.010068472474813461, 0.028447428718209267, -0.079652801156044, -0.04231954738497734, 0.0282876119017601, 0.019449731335043907, -0.05152500793337822, -0.05040628835558891, -0.052196238189935684, 0.01740407384932041, -0.00848628394305706, 0.02744058147072792, -0.010971438139677048, -0.02755245380103588, 0.0006447617779485881, 0.010659795254468918, -0.08137882500886917, 0.0015272514428943396, 0.015622113831341267, 0.018043341115117073, -0.012178056873381138, 0.0503103993833065, 0.013448602519929409, 0.021607261151075363, -0.04944738745689392, -0.025203144177794456, -0.004930355120450258, -0.01695658639073372, 0.035862937569618225, -0.010220298543572426, -0.050725921988487244, 0.009445185773074627, 0.0023373239673674107, -0.015670059248805046, -0.030285324901342392, 0.018874390050768852, -0.04689031466841698, 0.04973505809903145, -0.05580810457468033, -0.05222820118069649, -0.04056156054139137, 0.0025171181187033653, 0.049798984080553055, 0.013600428588688374, -0.006396676413714886, -0.005257979966700077, -0.057246457785367966, -0.02943829447031021, -0.02052050456404686, -0.012162075378000736, -0.04209580272436142, -0.00191181106492877, -0.054401714354753494, -0.006228868383914232, 0.06021905317902565, -0.03153189644217491, 0.049063824117183685, 0.05683093145489693, 0.022246528416872025, 0.02334926649928093, 0.010012536309659481, 0.07620075345039368, 0.025075290352106094, 0.03317801281809807, -0.026321863755583763, -0.015662068501114845, 0.00573743088170886, -0.0005528670153580606, -0.0011796493781730533, -0.017963433638215065, -0.020648358389735222, -0.055872030556201935, -0.018346993252635002, -0.001997712766751647, 0.009740847162902355, 0.042958814650774, -0.030732812359929085, -0.10017330944538116, -0.043310411274433136, -0.090008944272995, -0.05957978591322899, 0.02449994906783104, 0.041616350412368774, -0.03153189644217491, 0.055360615253448486, -0.05520080029964447, -0.05305925011634827, -0.005305924918502569, -0.036502208560705185, -0.0314200259745121, -0.024867529049515724, -0.015222570858895779, -0.004546794109046459, 0.012825315818190575, 0.021942876279354095, 0.007171788718551397, 0.030205417424440384, -0.005573618691414595, 0.003713747952133417, -0.0058852615766227245, -0.008090736344456673, 0.007918933406472206, -0.015414351597428322, 0.03426476940512657, 0.007870987989008427, 0.005321906879544258, 0.03416888043284416, -0.020168907940387726, 0.026225972920656204, 0.014623257331550121, 0.0055656274780631065, 0.05194053053855896, 0.03730129078030586, -0.04180813208222389, 0.033369794487953186, -0.000906961562577635, 0.028719117864966393, 0.04615515470504761, -0.011994266882538795, 0.021735114976763725, 0.00725569250062108, -0.0054257879965007305, -0.005385833326727152, 0.03330586850643158, 0.014439467340707779, -0.02221456542611122, 0.01272942591458559, 0.0008620130247436464, 0.021031919866800308, 0.02344515733420849, -0.038579829037189484, -0.004335036501288414, -0.037237364798784256, 0.02231045626103878, -0.01382417231798172, -0.05705467611551285, -0.004087320063263178, -0.0010967443231493235, -0.017675762996077538, 0.0282716304063797, -0.013528510928153992, -0.004370995331555605, -0.026465699076652527, 0.014231706038117409, -0.016149509698152542, 0.07402724027633667, -0.007467450108379126, -0.02365291863679886, -0.03918713331222534, -0.011323035694658756, 0.028223685920238495, 0.01098741963505745, 0.007267679087817669, -0.04481269046664238, -0.011163218878209591, 0.006264827214181423, -0.10726918280124664, 0.00457875756546855, 0.02155931666493416, -0.008925780653953552, 0.022438310086727142, -0.017132384702563286, 0.031132355332374573, 0.02323739416897297, 0.043406303972005844, 0.024260222911834717, 0.026114100590348244, -0.007011971902102232, 0.07242907583713531, -0.01042806077748537, 0.022773925215005875, -0.021191736683249474, 0.008302493952214718, 0.00958103034645319, -0.01570202223956585, -0.02282186970114708, 0.011602715589106083, -0.013975998386740685, 0.020712286233901978, -0.022965705022215843, -0.04724191129207611, 0.02251821756362915, -0.012633535079658031, -0.004139260854572058, 0.0018239117925986648, 0.01183445006608963, 0.019018225371837616, -0.005174076184630394, 0.0334976464509964, -0.02084014005959034, 0.01684471406042576, 0.00536585645750165, -0.02640177123248577, 0.0003558425814844668, -0.06469392776489258, 0.09032858163118362, -0.012066184543073177, -0.055648285895586014, 0.0006357720703817904, 0.010172353126108646, -0.08610940724611282, 0.008130691014230251, -0.07338797301054001, 0.017931468784809113, 0.00020975983352400362, -0.005297934170812368, 0.06552498042583466, 0.008278521709144115, -0.050118617713451385, -0.011307054199278355, 0.021958857774734497, 0.010020527057349682, -0.05257979780435562, 0.0015472285449504852, 0.009668929502367973, 0.08642904460430145, 0.01602964662015438, -0.03675791621208191, -0.023493101820349693, -0.01959356665611267, -0.00309046171605587, 0.008662082254886627, 0.03675791621208191, -0.008829890750348568, 0.01980132795870304, 0.029933728277683258, -0.005038231611251831, 0.0029845829121768475, -0.004614716395735741, 0.018155213445425034, 0.027088984847068787, 0.05296336114406586, -0.0586848109960556, 0.03864375501871109, 0.008454320020973682, 0.0245958399027586, 0.003739718347787857, -0.023700863122940063, -0.014703165739774704, -0.05894051864743233, 0.030620940029621124, 0.042767032980918884, -0.03621453791856766, -0.006800214294344187, -0.0024092416279017925, 0.014535358175635338, -0.04890400916337967, 0.05146108195185661, -0.003913519438356161, -0.013176913373172283, 0.06041083484888077, 0.005273961462080479, 0.01105134654790163, -0.006752268876880407, -0.02084014005959034, -0.08054777979850769, -0.016461152583360672, -0.0004417442250996828, 0.02282186970114708, 0.05526472628116608, 0.020456578582525253, -0.01114723738282919, -0.010116416960954666, 0.009381258860230446, -0.03154787793755531, -0.017995396628975868, -0.02378077246248722, -0.005230011884123087, -0.009828746318817139, 0.012745407409965992, 0.02784012444317341, -0.017356127500534058, -0.03410495072603226, -0.009485140442848206, -0.011482852511107922, 0.0017310180701315403, 0.005557636730372906, 0.035031892359256744, 0.0038655742537230253, -0.016069602221250534, -0.02272598072886467, -0.00323229911737144, 0.001139695174060762, -0.03234696388244629, -0.003160381456837058, 0.027296746149659157, 0.018043341115117073, 0.018874390050768852, -0.014087870717048645, -0.035031892359256744, 0.013272803276777267, 0.019225986674427986, -0.006408662535250187, -0.012345864437520504, -0.005657522473484278, 0.017260238528251648, -0.008526237681508064, 0.017563890665769577, 0.09154319018125534, -0.04168028011918068, -0.005905238911509514, -0.015837866812944412, -0.03359353914856911, -0.03442458435893059, 0.022997669875621796, 0.06737885624170303, 0.011291072703897953, 0.012273946776986122, -0.0056655132211744785, 0.01757987216114998, 0.016780786216259003, -0.009117561392486095, 0.008989707566797733, 0.019241970032453537, 0.01523855235427618, -0.012593581341207027, 0.031899478286504745, 0.00921345129609108, 0.002904674271121621, 0.019114116206765175, 0.031372081488370895, 0.02576250396668911, 0.05801357701420784, 0.036374352872371674, 0.014367549680173397, -0.041009046137332916, -0.0004272608202882111, 0.0377168171107769, 0.004982295446097851, -0.004498849157243967, 0.032506782561540604, -0.046666570007801056, -0.04992683604359627, 0.0060850330628454685, -0.016077592968940735, -0.007375555578619242, 0.02167118713259697, -0.0004597236402332783, 0.012186047621071339, -0.040465667843818665, 0.013208876363933086, 0.03180358558893204, -0.0193858053535223, -0.008861853741109371, -0.0266894418746233, 0.04641086235642433, 0.04829670488834381, 0.024691728875041008, 0.07696788012981415, -0.011243127286434174, 0.011083310469985008, -0.0471140556037426, 0.025490814819931984, -0.00497030932456255, 0.05318710580468178, -0.015174626372754574, -0.003615860128775239, 0.03119628131389618, 0.03276249021291733, 0.0069640264846384525, -0.004562776070088148, 0.05152500793337822, 0.023333285003900528, 0.012026230804622173, -0.02127164602279663, 0.027584416791796684, 0.012841297313570976, 0.0712144672870636, -0.02481958270072937, 0.021623242646455765, -0.024563875049352646, -0.060378868132829666, -0.014591294340789318, -0.016413208097219467, 0.06450214982032776, 0.015134671702980995, -0.01419175136834383, 0.00113769737072289, 0.030013635754585266, 0.00026170036289840937, -0.03704558685421944, -0.00879792682826519, 0.025362960994243622, 0.01145888026803732, 0.03720540180802345, -0.004015402402728796, 0.018378958106040955, -0.023269357159733772, -0.10835593938827515, -0.04442913085222244, -0.001273541827686131, 0.031467970460653305, 0.018666628748178482, -0.07338797301054001, 0.02534697949886322, -0.004430926870554686, -0.027073003351688385, -0.0012935190461575985, 0.025474833324551582, -0.011770523153245449, -0.0021854976657778025, 0.055872030556201935, -0.01042007002979517, 0.025842411443591118, -0.013944035395979881, -0.0091655058786273, 0.011802487075328827, 0.02502734586596489, -0.020392652601003647, -0.012953169643878937, 0.01708444021642208, -0.016828732565045357, -0.027680307626724243, 0.00879792682826519, 0.0022114680614322424, -0.030189434066414833, -0.051493044942617416, -0.027680307626724243, 0.000687213207129389, -0.003024537116289139, 0.05897248163819313, -0.03394513577222824, -0.01256161741912365, 0.019034206867218018, 0.024467986077070236, 0.01581389456987381, 0.01687667705118656, 0.0032123220153152943, 0.00952509418129921, -0.0016261382261291146, -0.023045614361763, -0.021431462839245796, -0.002093602903187275, -0.03236294537782669, 0.07517792284488678, -0.02231045626103878, 0.039826400578022, -0.015358415432274342, 0.05331495776772499, 0.0005149104399606586, 0.00570546742528677, -0.034935999661684036, -0.016700878739356995, 0.03998621925711632, -0.029374368488788605, 0.05529668927192688, -0.0004247636825311929, -0.0013314755633473396, 0.03832412138581276, 0.035862937569618225, -0.039123207330703735, 0.011339017190039158, 0.002353305695578456, -0.009756828658282757, 0.01042806077748537, -0.028095832094550133, -0.01449540350586176, 0.024691728875041008, -0.039858363568782806, -0.01611754670739174, 0.0026050175074487925, -0.08182631433010101, -0.004378986544907093, 0.01114723738282919, -0.05532865226268768, 0.012241983786225319, -0.015406360849738121, 0.03937891498208046, 0.009916646406054497, 0.021335572004318237, 0.0015751965111121535, -0.02274196222424507, -0.12114129960536957, -0.009844728745520115, -0.01655704341828823, -0.06993592530488968, 0.013392666354775429, -0.009245414286851883, -0.02063237689435482, -0.0075034089386463165, 0.03611864522099495, -0.0025430882815271616, -0.05091770365834236, -0.020344706252217293, -0.004327045753598213, 0.020073017105460167, 0.029757928103208542, 0.026545606553554535, -0.029278477653861046, 0.01340065710246563, 0.015414351597428322, 0.021846987307071686, -0.021207718178629875, 0.0036598097067326307, -0.013784217648208141, -0.0001995215570786968, 0.08770757913589478, -0.003991430159658194, 0.01188239548355341, 0.030317287892103195, -0.005989142693579197, 0.0013294778764247894, 0.03036523424088955, -0.024212278425693512, 0.03156386315822601, -0.05753412842750549, -0.039442840963602066, 0.0069800084456801414, -0.011682623997330666, -0.02996569126844406, -0.021335572004318237, -0.010931484401226044, 0.06399073451757431, 0.0022514222655445337, 0.05887658894062042, 0.026114100590348244, 0.00499827740713954, 0.014127824455499649, 0.061721332371234894, 0.028447428718209267, 0.006057064980268478, -0.04020996391773224, -0.05926015228033066, -0.0356072336435318, 0.00690809078514576, -0.018251104280352592, -0.008534228429198265, 0.03404102474451065, -0.025730540975928307, 0.017547909170389175, -0.014783074147999287, -0.02480360120534897, -0.006109005771577358, -0.0314519889652729, 0.0028007931541651487, 0.023860681802034378, -0.005649531725794077, -0.022582145407795906, -0.085917629301548, 0.028015922755002975, -0.03181956708431244, 0.04369397461414337, 0.02323739416897297, -0.005433778744190931, 0.020296761766076088, -0.010180343873798847, 0.006448616739362478, 0.01999310962855816, -0.0183310117572546, 0.006284804083406925, 0.012281937524676323, 0.010523950681090355, -0.024883510544896126, 0.015382387675344944, 0.020264798775315285, 0.008278521709144115, -0.0345524400472641, -0.0335296094417572, 0.01266549900174141, -0.015166634693741798, -0.008813908323645592, -0.02106388285756111, 0.06124188005924225, -0.004351018462330103, -0.0178036168217659, -0.060155127197504044, -0.007515395525842905, -0.025107253342866898, 0.017659781500697136, 0.004570766817778349, 0.0450364351272583, -0.07313226908445358, -0.077479287981987, -0.04871222749352455, -0.0065245297737419605, 0.0007736142724752426, -0.01590179279446602, -0.0032023335807025433, 0.06309575587511063, 0.031691715121269226, 0.010012536309659481, -0.017340146005153656, -0.008965734392404556, 0.006356721743941307, 0.03730129078030586, -0.011339017190039158, -0.058812662959098816, 0.000593820121139288, 0.011682623997330666, 0.026977112516760826, 0.007187770679593086, 0.03098852001130581, -0.006077042315155268, 0.02106388285756111, 0.011674633249640465, -0.010220298543572426, -0.00690809078514576, -0.003701761830598116, -0.010476005263626575, 0.021511370316147804, -0.04637889936566353, -0.039858363568782806, -0.016101565212011337, 0.030924594029784203, -0.025378942489624023, 0.014215723611414433, -0.02545885182917118, 0.003723736619576812, -0.047177985310554504, -0.024563875049352646, 0.011378971859812737, 0.01418376062065363, 0.022997669875621796, 0.008398384787142277, -0.015757957473397255, 0.010851575993001461, 0.007315624039620161, 0.018778499215841293, 0.03017345257103443, -0.019210005179047585, -0.06993592530488968, 0.018378958106040955, -0.06523730605840683, 0.10285823047161102, 0.012170066125690937, -0.0712144672870636, -0.015014808624982834, 0.0059851473197340965, 0.002632985357195139, -0.01968945749104023, -0.022038767114281654, -0.021015938371419907, -0.0012056196574121714, 0.06188115105032921, -0.006073046941310167, 0.021846987307071686, -0.026018211618065834, 0.009429204277694225, 0.019321877509355545, -0.006728296633809805, -0.022470273077487946, 0.05999530851840973, -0.004862432833760977, 0.007934914901852608, 0.01778763346374035, -0.05424189567565918, 0.0038016473408788443, -0.01304106879979372, -0.06331950426101685, -0.009517103433609009, 0.00460672564804554, -0.026098119094967842, -0.025506796315312386, -0.006136973388493061, -0.06968022137880325, 0.023205431178212166, 0.013656364753842354, -0.008821899071335793, -0.01381618157029152, 0.0067243012599647045, -0.008162654004991055, -0.006009120028465986, -0.001996713923290372, 0.023924607783555984, -0.005677499808371067, -0.002511124825105071, 0.020999956876039505, 0.030541032552719116, 0.021383516490459442, -0.029390349984169006, 0.016589006409049034, -0.04155242443084717, 0.037237364798784256, 0.046538714319467545, -0.041200827807188034, -0.030604958534240723, -0.07709573209285736, -0.016493115574121475, -0.01810726895928383, 0.0246278028935194, 0.039346951991319656, 0.018490828573703766, 0.014095861464738846, -0.024643784388899803, -0.026673460379242897, -0.03589490428566933, 0.004738574847579002, 0.04848848283290863, 0.006280808709561825, 0.013001114130020142, 0.026098119094967842, -0.04091315716505051, 0.06661173701286316, 0.03480814769864082, 0.002830758923664689, -0.04494054615497589, 0.03509581834077835, -0.025075290352106094, 0.021926894783973694, 0.017196310684084892, -0.030141489580273628, -0.005078185815364122, 0.0037077548913657665, 0.014719147235155106, 0.01655704341828823, 0.002938635414466262, 0.002515120431780815, -0.03343372046947479, -0.031036464497447014, -0.04516429081559181, 0.007914938032627106, -0.03368942812085152, -0.008638110011816025, 0.005010263528674841, 0.005929211620241404, -0.022166620939970016, 0.004790515173226595, -0.04788117855787277, -0.03359353914856911, -0.023493101820349693, -0.013176913373172283, -0.026673460379242897, -0.004315059632062912, 0.0018239117925986648, -0.009141533635556698, 0.010827602818608284, -0.005633549764752388, 0.041840095072984695, -0.039123207330703735, -0.004510835278779268, 0.05321906879544258, 0.01580590382218361, -0.003527960740029812, -0.0035319561138749123, -0.006228868383914232, -0.0099406186491251, 0.009285368956625462, 0.016924621537327766, -0.008238567039370537, 0.010044499300420284, -0.022166620939970016, 0.010995411314070225, -0.0162214282900095, -0.049063824117183685, -0.004506839904934168, -0.045068398118019104, 0.006416653282940388, -0.04557981342077255, 0.07409117370843887, 0.010412079282104969, 0.017004530876874924, 0.014255678281188011, -0.01644517108798027, 0.031467970460653305, -0.014319605194032192, -0.02084014005959034, 0.00725169712677598, 0.006920076906681061, -0.03464832901954651, 0.02504332736134529, -0.012010249309241772, -0.012130111455917358, -0.01842690259218216, 0.004390972666442394, 0.017228275537490845, -0.024739675223827362, -0.002559070009738207, 0.0020286773797124624, 0.07632860541343689, -0.00036982656456530094, -0.042255621403455734, 0.05814143270254135, -0.027408618479967117, 0.0006902097375132143, 0.01748398132622242, -0.003799649653956294, -0.05529668927192688, -0.020184889435768127, -0.03295426815748215, 0.0008914793143048882, 0.015358415432274342, -0.0006672360468655825, -0.032203130424022675, 0.004167228937149048, 0.01571001298725605, -0.0660363957285881, -0.019225986674427986, 0.0069440496154129505, 0.06220078468322754, -0.07006378471851349, -0.02576250396668911, 0.027200857177376747, -0.08144275099039078, 0.007315624039620161], "metadata": {"experience_type": "text", "experience_content": "After gathering data through various tool calls, it is crucial to integrate all relevant pieces of information into a unified narrative. This involves cross-referencing the content, ensuring consistency, and presenting the findings in a structured manner so that the final output directly addresses the userโ€™s question without leaving gaps or introducing redundancies.", "score": null, "metadata": {"author": "qwen-max-2025-01-25", "created_time": "2025-07-21 16:35:35", "modified_time": "2025-07-21 16:35:35", "extra_info": null}, "_score": 0.0}}