* [fix]Fix the interface for statistics of recent activities and applications
* [changes]Modify the code based on the AI review
1.Use the boolean auxiliary methods provided by SQLAlchemy instead of using == True in the is_active filter.
2.The calculation of the "PROJECT_ROOT" has now been hardcoded with five levels of nested os.path.dirname calls.
* [fix]Fix the interface for statistics of recent activities and applications
* [changes]Modify the code based on the AI review
1.Use the boolean auxiliary methods provided by SQLAlchemy instead of using == True in the is_active filter.
2.The calculation of the "PROJECT_ROOT" has now been hardcoded with five levels of nested os.path.dirname calls.
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* feat(celery): add comprehensive logging to worker and write task
- Initialize logging system in Celery worker entry point with LoggingConfig
- Add logger instance and startup message to celery_worker.py
- Reorganize imports in tasks.py for better readability and consistency
- Add detailed logging to write_message_task for debugging and monitoring
- Log task start with group_id, config_id, and storage_type parameters
- Log service execution and completion status with results
- Add exception handling with error logging and stack trace capture
- Log task completion time and Celery task ID for performance tracking
- Improves observability and troubleshooting of async task execution
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 快速检索,需要在接口部分添加LLM整合
* 快速检索,需要在接口部分添加LLM整合
---------
Co-authored-by: Ke Sun <kesun5@illinois.edu>
* refactor(celery): optimize task routing and worker configuration
- Simplify Celery queue configuration with single default 'io_tasks' queue
- Implement task routing strategy separating IO-bound and CPU-bound tasks
- Add Flower monitoring support with task event tracking enabled
- Add summary node search optimization to only retrieve summary nodes
- Clean up unused imports and reorganize import statements for consistency
- Update docker-compose configuration to support multi-queue worker setup
* chore(celery): simplify flower configuration and add gevent dependency
* chore(dependencies): add gevent dependency to requirements
- Add gevent==24.11.1 to api/requirements.txt
- Gevent is required for async worker support in Celery
- Complements existing flower and celery configuration
* refactor(celery): simplify async event loop handling and reorganize task queues
- Replace complex nest_asyncio and manual event loop management with asyncio.run() in read_message_task, write_message_task, regenerate_memory_cache, and workspace_reflection_task
- Rename task queues from io_tasks/cpu_tasks to memory_tasks/document_tasks for better semantic clarity
- Update task routing configuration to reflect new queue names for memory agent tasks and document processing tasks
- Remove redundant exception handling comments and simplify error handling logic
- Update README with improved community support section including GitHub Issues, Pull Requests, Discussions, and WeChat community links
- Simplifies event loop management by leveraging asyncio.run() which handles loop creation and cleanup automatically, reducing code complexity and potential race conditions
* [feature]A set of information for role recognition writing
* [feature]A set of information for role recognition writing
* [fix]Fix the code after rebasing.
* [feature]A set of information for role recognition writing
* [fix]Fix the code after rebasing.
* [fix]Based on the AI review to fix the code
* [changes]Disable the function of batch writing multiple groups of conversations in a cumulative manner
* [fix]Addressing vulnerability risks
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* 去掉MCP框架,重构
* feat(celery): add comprehensive logging to worker and write task
- Initialize logging system in Celery worker entry point with LoggingConfig
- Add logger instance and startup message to celery_worker.py
- Reorganize imports in tasks.py for better readability and consistency
- Add detailed logging to write_message_task for debugging and monitoring
- Log task start with group_id, config_id, and storage_type parameters
- Log service execution and completion status with results
- Add exception handling with error logging and stack trace capture
- Log task completion time and Celery task ID for performance tracking
- Improves observability and troubleshooting of async task execution
* 去掉MCP框架,重构
* 去掉MCP框架,重构
---------
Co-authored-by: Ke Sun <kesun5@illinois.edu>
- Remove template_service extraction and template rendering logic
- Remove LLM client initialization from MemoryClientFactory
- Remove structured response call to LLM with RetrieveSummaryResponse model
- Replace LLM-based answer generation with direct retrieval information
- Simplify response to use raw retrieved info or default fallback message
- Update logging to reflect non-LLM quick answer approach
- Reduce unnecessary dependencies and improve performance by eliminating LLM call overhead
- Add [PERF] prefixed logging throughout hybrid search pipeline for better performance visibility
- Break down latency metrics with separate timing for config loading, embedder initialization, and rerank computation
- Format latency breakdown as JSON in performance summary logs
- Optimize batch_record_access to process node access records in parallel using asyncio.gather instead of sequential processing
- Add performance timing instrumentation for forgetting config loading and rerank computation stages
- Reorganize imports in access_history_manager for consistency
- Improve observability of search performance bottlenecks through structured logging
* [fix]Fix the return of the "content" attribute
* [changes]Improve the code based on AI review
* Apply suggestion from @sourcery-ai[bot]
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* [fix]Fix the return of the "content" attribute
* [changes]Improve the code based on AI review
* Apply suggestion from @sourcery-ai[bot]
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* [changes]Improve the code based on AI review
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* [refactor]Reconstructing forgotten, emotional, situational, and explicit memory statistics
* [refactor]Reconstructing forgotten, emotional, situational, and explicit memory statistics
* [changes]Improve the code based on AI review
* [changes]Request to remove 'config_id' has been received.
* [add]Add the access history record table
* [changes]Request to remove 'config_id' has been received.
* [add]Add the access history record table
* [add]Obtain the record of the forgetting trend
* [changes]Based on the AI's suggestion, make the necessary modifications.
* [fix]fix memory insights
* [fix]fix memory insights
* [fix]Based on the correction of the code by sourcery-ai
* [fix]Restore user information archive and one-sentence summary
[feature]actr-记忆遗忘需求开发
* feature/actr-forget: (12 commits squashed)
- [feature]
1.Extended fields of the date_config table;
2.New activation value calculation has been added, and the ACTR parameter has been introduced in Neo4j.
- [feature]1.Create a forgetting strategy executor;2.Create the forgetting scheduler
- [feature]Introduce activation values for retrieval, and develop a two-stage retrieval reordering process
- [feature]
1.Extended fields of the date_config table;
2.New activation value calculation has been added, and the ACTR parameter has been introduced in Neo4j.
- [feature]1.Create a forgetting strategy executor;2.Create the forgetting scheduler
- [feature]Introduce activation values for retrieval, and develop a two-stage retrieval reordering process
- Merge branch 'feature/actr-forget' of codeup.aliyun.com:redbearai/python/redbear-mem-open into feature/actr-forget
- [fix]Eliminate the interference caused by redundant code
- [feature]
1.Extended fields of the date_config table;
2.New activation value calculation has been added, and the ACTR parameter has been introduced in Neo4j.
- [feature]1.Create a forgetting strategy executor;2.Create the forgetting scheduler
- [feature]Introduce activation values for retrieval, and develop a two-stage retrieval reordering process
- Merge branch 'feature/actr-forget' of codeup.aliyun.com:redbearai/python/redbear-mem-open into feature/actr-forget
Signed-off-by: 乐力齐 <accounts_690c7b0af9007d7e338af636@mail.teambition.com>
Reviewed-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>
Merged-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com>
CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/85
Add new predicates for learning/education domain to support educational content extraction. Also add field validator to filter empty statements in extraction response to handle malformed LLM outputs.
- Simplified FastMCP initialization by removing unnecessary allowed_hosts parameter.
- Added logging for MCP server startup details.
- Implemented DNS rebinding protection configuration to support Docker container hostnames.
- Move MemoryClientFactory from app.core.memory.client_factory to app.core.memory.utils.llm.llm_utils
- Update all evaluation modules to import MemoryClientFactory from new location (locomo, longmemeval, memsciqa)
- Move GenerateCacheRequest from memory_storage_service to memory_storage_schema
- Update memory_storage_controller imports to reflect schema reorganization
- Add analytics_user_summary import to memory_storage_controller from user_memory_service
- Consolidate utility imports across evaluation test files for consistency
- Improve code organization by centralizing LLM utilities in dedicated utils module
- Remove deprecated main.py entry point from memory module
- Reorganize imports across controllers and services for consistency
- Update emotion controller to pass db session instead of config_id to services
- Enhance memory agent controller with db session parameter for status_type and user_profile endpoints
- Refactor memory agent service to accept db parameter in classify_message_type method
- Improve configuration handling in celery_app by removing automatic database reload
- Update all memory-related services to use centralized config management
- Standardize import ordering and remove unused imports across 50+ files
- Add pilot_run_service for new pilot execution workflow
- Refactor extraction engine, reflection engine, and search services for better modularity
- Update LLM utilities and embedder configuration for improved flexibility
- Enhance type classifier and verification tools with better error handling
- Improve memory evaluation modules (LOCOMO, LongMemEval, MemSciQA) with consistent patterns
- Reorganize imports and remove unused dependencies across memory agent controllers
- Extract config validation logic into dedicated validators module
- Create new memory_config_model and memory_config_schema for configuration management
- Implement memory_config_service for centralized config handling
- Add embedder_utils module for embedding model utilities
- Refactor memory agent service to use new config validation framework
- Clean up configuration files (remove config.json, testdata.json, dbrun.json)
- Remove deprecated hybrid_chatbot.py and config overrides
- Update logging configuration and error handling across memory modules
- Consolidate LLM and embedding model validation into validators
- Improve code organization and reduce duplication in memory storage services
- Enhance type classification and verification tools with better error handling