Commit Graph

259 Commits

Author SHA1 Message Date
Mark
8932d455d8 Merge pull request #202 from SuanmoSuanyangTechnology/feature/workflow-code
Feature/workflow code
2026-01-27 11:40:18 +08:00
乐力齐
c3ea3b751b delete benchmark-test (#204)
* Refactor: Move evaluation folder to redbear-mem-benchmark submodule

* [changes]Restore .gitmodules
2026-01-26 20:30:07 +08:00
乐力齐
80ca247435 Refactor/benchmark test (#196)
* [changes]refactor locomo_test

* [fix]Fix the circular import of ModelParameters

* [changes]The benchmark test can run stably.

* [fix]Complete end-to-end LoCoMo repair

* [fix]Complete the end-to-end longmemeval and memsciqa fixes

* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.

* [changes]refactor locomo_test

* [fix]Fix the circular import of ModelParameters

* [changes]The benchmark test can run stably.

* [fix]Complete end-to-end LoCoMo repair

* [fix]Complete the end-to-end longmemeval and memsciqa fixes

* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.

* [changes]Benchmark test adaptation for end_user_id

* [changes]refactor locomo_test

* [fix]Fix the circular import of ModelParameters

* [changes]The benchmark test can run stably.

* [fix]Complete end-to-end LoCoMo repair

* [fix]Complete the end-to-end longmemeval and memsciqa fixes

* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.

* [fix]Complete the end-to-end longmemeval and memsciqa fixes

* [changes]Complete the benchmark test description document to ensure that the configuration parameters take effect.

* [changes]Benchmark test adaptation for end_user_id
2026-01-26 19:05:20 +08:00
Eternity
1f615a06ad fix(sandbox): treat non-zero exit codes as errors instead of relying only on stderr 2026-01-26 18:50:22 +08:00
Eternity
f1f887faae feat(workflow): Add a new node for executing code 2026-01-26 17:51:31 +08:00
Mark
6ab65b3626 Merge pull request #195 from SuanmoSuanyangTechnology/feature/workflow-code
Add SSE-based exception streaming and sandbox support for workflow
2026-01-26 14:30:53 +08:00
Eternity
85681db7b7 perf(workflow): update standard node output structure 2026-01-26 12:28:40 +08:00
Eternity
0fd8a122fb feat(workflow): emit SSE events for node exception output 2026-01-26 12:00:55 +08:00
lixinyue11
3601737869 Fix/memory bug fix (#171) 2026-01-26 11:53:34 +08:00
Ke Sun
714c624dc6 Merge branch 'main' into develop 2026-01-25 12:44:34 +08:00
lixinyue11
1919580759 Fix/memory mcp2 1 (#190)
* 优化快速检索的回复内容

* 优化快速检索的回复内容

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复

* LLM生存缺少config_id认证,修复BUG

* LLM生存缺少config_id认证,修复BUG

* LLM生存缺少config_id认证,修复BUG

* 深度检索优化,搜索不到数据/提问的概念过于蘑菇,以引导的方式继续提问

* 深度检索优化,搜索不到数据/提问的概念过于蘑菇,以引导的方式继续提问

* 深度检索优化,搜索不到数据/提问的概念过于蘑菇,以引导的方式继续提问
2026-01-23 17:12:21 +08:00
Timebomb2018
c115bcde54 feat(home page): version description update 2026-01-23 16:58:55 +08:00
lixinyue11
86812b34d1 Fix/memory mcp2 1 (#185)
* 优化快速检索的回复内容

* 优化快速检索的回复内容

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复

* 路径的BUG修复
2026-01-23 13:57:27 +08:00
lixinyue11
15f9c49418 Fix/memory mcp2 1 (#184)
* 优化快速检索的回复内容

* 优化快速检索的回复内容
2026-01-23 12:21:54 +08:00
Eternity
c5e0df12ad fix(workflow): fix loop node termination and iteration node startup issues (#181) 2026-01-23 10:52:01 +08:00
乐力齐
7870c6c33f Fix/interface home (#182)
* [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.
2026-01-23 10:50:24 +08:00
Mark
5ced11999e Merge pull request #178 from SuanmoSuanyangTechnology/fix/workflow-cycle
fix(workflow): fix loop node scheduling and I/O issues
2026-01-22 16:23:16 +08:00
Eternity
4923708515 fix(workflow): fix loop node scheduling and I/O issues 2026-01-22 16:10:15 +08:00
Mark
fafab973ee Merge branch 'develop' of github.com:SuanmoSuanyangTechnology/MemoryBear into develop
# Conflicts:
#	api/pyproject.toml
2026-01-22 10:22:40 +08:00
Mark
64e4411048 [add] file storage service 2026-01-22 10:12:23 +08:00
lixinyue11
fb25495f1b Fix/memory mcp2 1 (#170)
* 去掉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>
2026-01-21 18:21:51 +08:00
Ke Sun
c24fb73147 Fix/memory celery fix (#168)
* 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
2026-01-21 17:58:46 +08:00
乐力齐
2e504f9c48 Feature/distinction role (#165)
* [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
2026-01-21 13:55:32 +08:00
Mark
21ec923f24 Merge pull request #164 from SuanmoSuanyangTechnology/fix/workflow-parallelization
fix(workflow): fix improper merge of execution flows caused by multi-branch routing
2026-01-21 11:26:40 +08:00
Eternity
3a0eab068c perf(workflow): optimize logging output for workflow nodes 2026-01-21 11:18:29 +08:00
Eternity
8aa496f588 fix(workflow): fix improper merge of execution flows caused by multi-branch routing 2026-01-21 11:09:48 +08:00
lixinyue11
af7b9ee41c Fix/memory bug fix (#161)
* 图谱数据量限制数量去掉

* 图谱数据量限制数量去掉

* 图谱数据量限制数量去掉

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 读取的接口,去掉全局锁

* 输出数组

* 反思优化1.0(优化隐私输出、时间检索)

* 反思优化1.0(优化隐私输出、时间检索)

* 反思优化1.0(优化隐私输出、时间检索)

* 反思优化测试接口

* 反思优化测试接口

* 读取接口内层嵌套BUG修复

* 读取接口内层嵌套BUG修复

* 读取接口内层嵌套BUG修复

* 读取接口内层嵌套BUG修复

* 读取接口内层嵌套BUG修复
2026-01-20 19:14:59 +08:00
Ke Sun
83fe793e72 refactor(memory): clean up deprecated config and self-reflexion utilities
- Remove deprecated self_reflexion endpoint from memory_storage_controller
- Delete obsolete config modules (config_optimization, definitions, get_example_data, litellm_config)
- Remove self_reflexion_utils package and related evaluation/reflexion modules
- Refactor hot_memory_tags to use Neo4jConnector instead of direct GraphDatabase connection
- Simplify LLM client initialization by removing DEFAULT_LLM_ID fallback logic
- Remove unnecessary sys.path manipulation and project root resolution code
- Update filter_tags_with_llm to properly handle missing config with clear error messages
- Migrate get_raw_tags_from_db to async function using Neo4jConnector
- Consolidate imports and remove unused dependencies (uuid, sys)
- Improve error handling with explicit ValueError messages for missing configuration
2026-01-20 15:03:29 +08:00
lixinyue11
e518b57dea Fix/memory bug fix (#150)
* 图谱数据量限制数量去掉

* 图谱数据量限制数量去掉

* 图谱数据量限制数量去掉

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 用户详情优化

* 读取的接口,去掉全局锁

* 输出数组

* 反思优化1.0(优化隐私输出、时间检索)

* 反思优化1.0(优化隐私输出、时间检索)

* 反思优化1.0(优化隐私输出、时间检索)
2026-01-20 10:39:12 +08:00
lixinyue11
642587fc97 Fix/memory mcp2 1 (#145)
* 去掉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>
2026-01-20 10:36:30 +08:00
乐力齐
9d25b08641 Feature/memory redis (#151)
* [feature]Emotional memory cache

* [feature]Implicit memory cache

* [changes]Modify the expiration time of implicit memory to 24 hours.

* [feature]Emotional memory cache

* [feature]Implicit memory cache

* [changes]Modify the expiration time of implicit memory to 24 hours.

* [changes]Modify the code based on the AI review

* [feature]Emotional memory cache

* [feature]Implicit memory cache

* [changes]Modify the expiration time of implicit memory to 24 hours.

* [feature]Implicit memory cache

* [changes]Modify the code based on the AI review
2026-01-19 16:41:11 +08:00
Mark
de058e3b1d Merge pull request #142 from SuanmoSuanyangTechnology/feature/workflow-release
Fix workflow release issues and enhance token metrics & loop node outputs
2026-01-19 15:46:12 +08:00
lixiangcheng1
16fb9f59fe Merge remote-tracking branch 'origin/feature/knowledge_lxc' into develop 2026-01-19 15:30:05 +08:00
lixiangcheng1
eb58e0ea63 [ADD]transcribing the content of MP4 video files into text and precisely marking the timestamps 2026-01-19 15:27:54 +08:00
Eternity
6ba4b9e7bd fix(workflow): fix message merging in parallel states and ensure LLM node parameter validation errors are properly thrown 2026-01-19 15:11:57 +08:00
lixiangcheng1
26dd15ef83 Merge remote-tracking branch 'origin/feature/knowledge_lxc' into develop 2026-01-19 13:59:46 +08:00
lixiangcheng1
46752420da [ADD]transcribing the content of MP3 audio files into text and precisely marking the timestamps 2026-01-19 13:33:06 +08:00
Eternity
0489013ddd feat(workflow): support token usage metrics and subgraph state output
- expose token consumption for workflow runs
- enable loop nodes to output subgraph states
- enhance executor logging
2026-01-19 10:21:56 +08:00
Eternity
07760d55b7 perf(workflow): optimize default values for LLM node configuration 2026-01-19 10:19:02 +08:00
Eternity
034559aac7 fix(workflow): Fix workflow release process and API call issues 2026-01-16 14:15:33 +08:00
谢俊男
ec25efcb75 fix(mcp tool): bug fix for the sse protocol request header in the mcp tool 2026-01-15 12:21:24 +08:00
Eternity
be285c85ec perf(http): change resource not found status code to 400 2026-01-14 21:34:34 +08:00
Eternity
a9901e0495 perf(workflow): eliminate workspace_id dependency in memory read/write nodes 2026-01-14 18:19:11 +08:00
Eternity
a84d23f69f feat(workflow): support async memory writes via Celery 2026-01-14 18:13:41 +08:00
Mark
1afab9248b Merge pull request #113 from SuanmoSuanyangTechnology/feature/workflow-llm-memory
feat(workflow): add session context memory support to LLM nodes
2026-01-14 17:06:40 +08:00
谢俊男
5904ac80db fix(mcp tool): 1. add identification for the SSE protocol tools; 2. When using the agent call tool to handle parameters, there was an error caused by the enumeration 2026-01-14 17:01:09 +08:00
Eternity
b712325399 fix(workflow): fix env timeout configuration and LLM node message role mismatch 2026-01-14 16:46:09 +08:00
Eternity
567624c323 feat(workflow): add session context memory support to LLM nodes 2026-01-14 16:36:02 +08:00
Mark
3ed6f9fad0 Merge pull request #106 from SuanmoSuanyangTechnology/feature/agent-tool_xjn
fix(custome tool)
2026-01-14 16:34:38 +08:00
Ke Sun
6452733c4e fix(memory): simplify summary tool by removing LLM processing
- 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
2026-01-14 15:58:24 +08:00