Commit Graph

239 Commits

Author SHA1 Message Date
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
Eternity
cdcac262a3 fix(workflow): fix LLM node streaming execution configuration error 2026-01-14 12:24:41 +08:00
Ke Sun
a6e1898e1b perf(memory): add detailed performance logging and optimize batch access recording
- 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
2026-01-14 12:02:10 +08:00
谢俊男
2e3e0f4ce9 fix(custome tool): get the name of the custom tool schema 2026-01-14 11:41:45 +08:00
谢俊男
d5e788ed6b Merge branch 'feature/20260105_xjn' into feature/agent-tool_xjn 2026-01-14 11:41:05 +08:00
乐力齐
9eb3e1329f Fix/content attribute (#105)
* [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>
2026-01-14 11:39:47 +08:00
谢俊男
255fb07615 fix(custome tool): get the name of the custom tool schema 2026-01-14 11:27:23 +08:00
Eternity
938a99a59c Merge branch 'develop' into fix/workflow 2026-01-14 10:58:13 +08:00
mengyonghao
95b61e9972 perf(workflow): optimize default value of rerank_id configuration 2026-01-14 10:55:05 +08:00
mengyonghao
84e24ede04 fix(workflow): move node config validation to runtime for proper error handling 2026-01-14 10:47:38 +08:00
mengyonghao
4448296e7b feat(workflow): officially support workflow session variables 2026-01-14 10:46:23 +08:00
乐力齐
b71f67f7df Refactor/memory statistics (#99)
* [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
2026-01-13 20:27:27 +08:00
谢俊男
eef0ee5f5c feat(workflow tool node): Change the data output variable of the tool node to a string 2026-01-13 18:00:45 +08:00
谢俊男
c780d4be14 feat(workflow tool node): add a string type output variable 2026-01-13 17:41:03 +08:00
mengyonghao
e60bc37fbf fix(workflow): set default empty value for custom variables in start node 2026-01-13 17:28:41 +08:00
谢俊男
9a0c403c51 feat(home page): place the version introduction in a static file 2026-01-13 16:41:26 +08:00
Eternity
7a5792ba01 Fix/workflow (#92)
* fix(workflow): use loose rendering for end-node variables

* fix(workflow): use int type for memory node config id

* fix(workflow): handle missing environment variable defaults

* fix(workflow): render jinja variables with actual values in non-strict mode

* fix(workflow): support reordering without a rerank model in knowledge base

* fix(workflow): fix typo in key value
2026-01-13 15:42:00 +08:00
mengyonghao
ada63d9f5c fix(workflow): fix typo in key value 2026-01-13 15:40:22 +08:00
mengyonghao
8f114b0dfa fix(workflow): support reordering without a rerank model in knowledge base 2026-01-13 15:34:57 +08:00
mengyonghao
9427584825 fix(workflow): render jinja variables with actual values in non-strict mode 2026-01-13 15:10:01 +08:00
mengyonghao
592c2ac217 fix(workflow): handle missing environment variable defaults 2026-01-13 15:09:06 +08:00