Skip to content

Commit 5452668

Browse files
authored
vllm llm support (#60)
## Description <!-- Please include a summary of the changes below; Fill in the issue number that this PR addresses (if applicable); Mention the person who will review this PR (if you know who it is); Replace (summary), (issue), and (reviewer) with the appropriate information (No parentheses). 请在下方填写更改的摘要; 填写此 PR 解决的问题编号(如果适用); 提及将审查此 PR 的人(如果您知道是谁); 替换 (summary)、(issue) 和 (reviewer) 为适当的信息(不带括号)。 --> Summary: (summary) Fix: #(issue) Reviewer: @(reviewer) ## Checklist: - [ ] I have performed a self-review of my own code | 我已自行检查了自己的代码 - [ ] I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释 - [ ] I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常 - [ ] I have added necessary documentation (if applicable) | 我已添加必要的文档(如果适用) - [ ] I have linked the issue to this PR (if applicable) | 我已将 issue 链接到此 PR(如果适用) - [ ] I have mentioned the person who will review this PR | 我已提及将审查此 PR 的人
2 parents 5c3164a + 300ca15 commit 5452668

File tree

96 files changed

+5530
-4934
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+5530
-4934
lines changed

.github/CONTRIBUTING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
Please read https://memos.openmem.net/docs/contribution/overview to learn how to contribute to this repository. 🌟
1+
Please read https://memos-docs.openmem.net/contribution/overview to learn how to contribute to this repository. 🌟
22

3-
请阅读 https://memos.openmem.net/docs/contribution/overview 了解如何为此项目贡献代码。🌟
3+
请阅读 https://memos-docs.openmem.net/contribution/overview 了解如何为此项目贡献代码。🌟

.github/ISSUE_TEMPLATE/feature-request.yml

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,34 @@ name: "\U0001F680 Feature request"
22
description: Submit a request for a new feature
33
labels: ["enhancement", "pending"]
44
body:
5-
- type: markdown
6-
attributes:
7-
value: |
8-
Please do not create issues that are not related to new features under this category.
9-
请勿在此分类下创建和新特性无关的 issues。
10-
115
- type: checkboxes
12-
id: reminder
6+
id: checklist
137
attributes:
14-
label: Reminder
15-
description: |
16-
Please ensure you have read the above rules carefully and searched the existing issues.
17-
请确保您已经认真阅读了上述规则并且搜索过现有的 issues。
18-
8+
label: Pre-submission checklist
199
options:
20-
- label: I have read the above rules and searched the existing issues.
10+
- label: I have searched existing issues and this feature hasn't been requested before | 我已搜索现有问题,确认此功能尚未被请求
11+
required: true
12+
- label: I have read the project documentation and confirmed this feature doesn't already exist | 我已阅读项目文档并确认此功能尚未存在
13+
required: true
14+
- label: This feature request is specific to MemOS and not a general software issue | 该功能请求是针对 MemOS 的,而不是一般软件问题
2115
required: true
2216

2317
- type: textarea
24-
id: description
18+
id: problem
2519
validations:
2620
required: true
2721
attributes:
28-
label: Description
29-
description: |
30-
A clear and concise description of the feature proposal.
31-
请详细描述您希望加入的新功能特性。
22+
label: Problem Statement
23+
placeholder: |
24+
Describe the problem you're trying to solve...
25+
Example: "As a developer using MemOS, I find it difficult to..."
3226
33-
- type: textarea
27+
- type: checkboxes
3428
id: contribution
35-
validations:
36-
required: false
3729
attributes:
38-
label: Pull Request
39-
description: |
40-
Have you already created the relevant PR and submitted the code?
41-
您是否已经创建了相关 PR 并提交了代码?
30+
label: Implementation Contribution
31+
options:
32+
- label: I'm willing to implement this feature myself | 我愿意自己实现此功能
33+
required: false
34+
- label: I would like someone else to implement this | 我希望其他人来实现此功能
35+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,28 @@
11
## Description
22

3-
> Please include a summary of the change and which issue is fixed.
4-
>
5-
> 请介绍你的修改,并说明它修复了哪个 issue.
3+
<!--
4+
Please include a summary of the changes below;
5+
Fill in the issue number that this PR addresses (if applicable);
6+
Mention the person who will review this PR (if you know who it is);
7+
Replace (summary), (issue), and (reviewer) with the appropriate information (No parentheses).
68
7-
Fix # (issue)
9+
请在下方填写更改的摘要;
10+
填写此 PR 解决的问题编号(如果适用);
11+
提及将审查此 PR 的人(如果您知道是谁);
12+
替换 (summary)、(issue) 和 (reviewer) 为适当的信息(不带括号)。
13+
-->
14+
15+
Summary: (summary)
16+
17+
Fix: #(issue)
18+
19+
Reviewer: @(reviewer)
820

921
## Checklist:
1022

1123
- [ ] I have performed a self-review of my own code | 我已自行检查了自己的代码
12-
- [ ] I have commented my code, particularly in hard-to-understand areas | 我已对代码进行了注释,特别是在难以理解的地方
24+
- [ ] I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释
1325
- [ ] I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常
14-
- [ ] I have added necessary documentation (if appropriate) | 我已添加必要的文档(如果有必要)
26+
- [ ] I have added necessary documentation (if applicable) | 我已添加必要的文档(如果适用)
27+
- [ ] I have linked the issue to this PR (if applicable) | 我已将 issue 链接到此 PR(如果适用)
28+
- [ ] I have mentioned the person who will review this PR | 我已提及将审查此 PR 的人

.github/workflows/python-tests.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ jobs:
2525
matrix:
2626
os:
2727
- "ubuntu-latest"
28+
- "windows-latest"
29+
- "macos-14"
30+
- "macos-15"
31+
# Ref: https://docs.github.com/en/actions/how-tos/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job
2832
python-version:
2933
- "3.10"
3034
- "3.11"
@@ -51,4 +55,4 @@ jobs:
5155
poetry run ruff format --check
5256
- name: Test with pytest
5357
run: |
54-
PYTHONPATH=src poetry run pytest tests -vv
58+
poetry run pytest tests -vv

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ evaluation/data/langmemeval
1010
evaluation/*tmp/
1111
evaluation/results
1212
evaluation/.env
13-
evaluation/scripts/*.sh
1413
evaluation/configs/*
14+
**tree_textual_memory_locomo**
1515
.env
1616

1717
# Byte-compiled / optimized / DLL files
@@ -166,6 +166,7 @@ venv.bak/
166166
*.xlsx
167167
*.json
168168
*.pkl
169+
*.html
169170

170171
# but do not ignore docs/openapi.json
171172
!docs/openapi.json

Makefile

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: test docs
1+
.PHONY: test
22

33
install:
44
poetry install --with dev --with test
@@ -11,7 +11,7 @@ clean:
1111
rm -rf tmp
1212

1313
test:
14-
PYTHONPATH=src poetry run pytest tests
14+
poetry run pytest tests
1515

1616
format:
1717
poetry run ruff check --fix
@@ -23,24 +23,5 @@ pre_commit:
2323
serve:
2424
poetry run uvicorn memos.api.start_api:app
2525

26-
docs:
27-
pytest tests/test_docs.py -xq
28-
pip install mkdocs mkdocs-material -q
29-
mkdir -p tmp
30-
rm -f tmp/mkdocs.yml
31-
echo "site_name: MemOS Documentation" > tmp/mkdocs.yml
32-
echo "docs_dir: `pwd`/docs" >> tmp/mkdocs.yml
33-
echo "theme: material" >> tmp/mkdocs.yml
34-
echo "markdown_extensions:" >> tmp/mkdocs.yml
35-
echo " - pymdownx.highlight:" >> tmp/mkdocs.yml
36-
echo " anchor_linenums: true" >> tmp/mkdocs.yml
37-
echo " line_spans: __span" >> tmp/mkdocs.yml
38-
echo " pygments_lang_class: true" >> tmp/mkdocs.yml
39-
echo " - pymdownx.inlinehilite" >> tmp/mkdocs.yml
40-
echo " - pymdownx.snippets" >> tmp/mkdocs.yml
41-
echo " - pymdownx.superfences" >> tmp/mkdocs.yml
42-
cat docs/settings.yml >> tmp/mkdocs.yml
43-
mkdocs serve -f tmp/mkdocs.yml --no-livereload
44-
4526
openapi:
4627
poetry run python scripts/export_openapi.py --output docs/openapi.json

README.md

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
<div align="center">
22
<a href="https://memos.openmem.net/">
3-
<img src="docs/assets/banner_new.gif" alt="MemOS Banner">
3+
<img src="https://statics.memtensor.com.cn/memos/memos-banner.gif" alt="MemOS Banner">
44
</a>
55

6-
7-
86
<h1 align="center">
9-
<img src="docs/assets/memos_logo.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
7+
<img src="https://statics.memtensor.com.cn/logo/memos_color_m.png" alt="MemOS Logo" width="50"/> MemOS 1.0: 星河 (Stellar) <img src="https://img.shields.io/badge/status-Preview-blue" alt="Preview Badge"/>
108
</h1>
119

1210
<p>
@@ -19,7 +17,7 @@
1917
<a href="https://pypi.org/project/MemoryOS">
2018
<img src="https://img.shields.io/pypi/pyversions/MemoryOS.svg" alt="Supported Python versions">
2119
</a>
22-
<a href="https://memos.openmem.net/docs/home">
20+
<a href="https://memos-docs.openmem.net/home/overview/">
2321
<img src="https://img.shields.io/badge/Documentation-view-blue.svg" alt="Documentation">
2422
</a>
2523
<a href="https://arxiv.org/abs/2507.03724">
@@ -31,7 +29,7 @@
3129
<a href="https://discord.gg/Txbx3gebZR">
3230
<img src="https://img.shields.io/badge/Discord-join%20chat-7289DA.svg?logo=discord" alt="Discord">
3331
</a>
34-
<a href="docs/assets/memos-wechat-group.png">
32+
<a href="https://statics.memtensor.com.cn/memos/qr-code.png">
3533
<img src="https://img.shields.io/badge/WeChat-Group-07C160.svg?logo=wechat" alt="WeChat Group">
3634
</a>
3735
<a href="https://opensource.org/license/apache-2-0/">
@@ -42,17 +40,14 @@
4240

4341
---
4442

45-
<a href="https://memos.openmem.net/">
46-
<img src="docs/assets/SOTA_Score.jpg" alt="SOTA SCORE">
47-
</a>
48-
43+
<img src="https://statics.memtensor.com.cn/memos/sota_score.jpg" alt="SOTA SCORE">
4944

5045
**MemOS** is an operating system for Large Language Models (LLMs) that enhances them with long-term memory capabilities. It allows LLMs to store, retrieve, and manage information, enabling more context-aware, consistent, and personalized interactions.
5146

52-
- **Website**: <a href="https://memos.openmem.net/" target="_blank">https://memos.openmem.net/</a>
53-
- **Documentation**: <a href="https://memos.openmem.net/docs/home" target="_blank">https://memos.openmem.net/docs/home</a>
54-
- **API Reference**: <a href="https://memos.openmem.net/docs/api/info" target="_blank">https://memos.openmem.net/docs/api/info</a>
55-
- **Source Code**: <a href="https://github.com/MemTensor/MemOS" target="_blank">https://github.com/MemTensor/MemOS</a>
47+
- **Website**: https://memos.openmem.net/
48+
- **Documentation**: https://memos-docs.openmem.net/home/overview/
49+
- **API Reference**: https://memos-docs.openmem.net/docs/api/info/
50+
- **Source Code**: https://github.com/MemTensor/MemOS
5651

5752
## 📈 Performance Benchmark
5853

@@ -66,19 +61,12 @@ MemOS demonstrates significant improvements over baseline memory solutions in mu
6661

6762
> 💡 **Temporal reasoning accuracy improved by 159% compared to the OpenAI baseline.**
6863
69-
70-
7164
### Details of End-to-End Evaluation on LOCOMO
7265

7366
> [!NOTE]
7467
> Comparison of LLM Judge Scores across five major tasks in the LOCOMO benchmark. Each bar shows the mean evaluation score judged by LLMs for a given method-task pair, with standard deviation as error bars. MemOS-0630 consistently outperforms baseline methods (LangMem, Zep, OpenAI, Mem0) across all task types, especially in multi-hop and temporal reasoning scenarios.
7568
76-
<a href="https://memos.openmem.net/">
77-
<img src="docs/assets/score_all_end2end.jpg" alt="END2END SCORE">
78-
</a>
79-
80-
81-
69+
<img src="https://statics.memtensor.com.cn/memos/score_all_end2end.jpg" alt="END2END SCORE">
8270

8371
## ✨ Key Features
8472

@@ -151,7 +139,11 @@ For more detailed examples, please check out the [`examples`](./examples) direct
151139
## 📦 Installation
152140

153141
> [!WARNING]
154-
> Currently, MemOS primarily supports Linux platforms. You may encounter issues on Windows and macOS temporarily.
142+
> MemOS is compatible with Linux, Windows, and macOS.
143+
>
144+
> However, if you're using macOS, please note that there may be dependency issues that are difficult to resolve.
145+
>
146+
> For example, compatibility with macOS 13 Ventura is currently challenging.
155147
156148
### Install via pip
157149

@@ -192,26 +184,50 @@ Join our community to ask questions, share your projects, and connect with other
192184
- **Discord**: Join our <a href="https://discord.gg/Txbx3gebZR" target="_blank">Discord Server</a>.
193185
- **WeChat**: Scan the QR code to join our WeChat group.
194186

195-
<img src="docs/assets/qr-code.png" alt="QR Code" width="600">
187+
<img src="https://statics.memtensor.com.cn/memos/qr-code.png" alt="QR Code" width="600">
196188

197189
## 📜 Citation
198190

199-
If you use MemOS in your research, please cite our paper:
191+
> [!NOTE]
192+
> We publicly released the Short Version on **May 28, 2025**, making it the earliest work to propose the concept of a Memory Operating System for LLMs.
193+
194+
If you use MemOS in your research, we would appreciate citations to our papers.
200195

201196
```bibtex
202-
@misc{li2025memos,
203-
title={MemOS: A Memory OS for AI System},
204-
author={Zhiyu Li and Shichao Song and Chenyang Xi and Hanyu Wang and Chen Tang and Simin Niu and Ding Chen and Jiawei Yang and Chunyu Li and Qingchen Yu and Jihao Zhao and Yezhaohui Wang and Peng Liu and Zehao Lin and Pengyuan Wang and Jiahao Huo and Tianyi Chen and Kai Chen and Kehang Li and Zhen Tao and Junpeng Ren and Huayi Lai and Hao Wu and Bo Tang and Zhenren Wang and Zhaoxin Fan and Ningyu Zhang and Linfeng Zhang and Junchi Yan and Mingchuan Yang and Tong Xu and Wei Xu and Huajun Chen and Haofeng Wang and Hongkang Yang and Wentao Zhang and Zhi-Qin John Xu and Siheng Chen and Feiyu Xiong},
205-
year={2025},
206-
eprint={2507.03724},
207-
archivePrefix={arXiv},
208-
primaryClass={cs.CL}
197+
198+
@article{li2025memos_long,
199+
title={MemOS: A Memory OS for AI System},
200+
author={Li, Zhiyu and Song, Shichao and Xi, Chenyang and Wang, Hanyu and Tang, Chen and Niu, Simin and Chen, Ding and Yang, Jiawei and Li, Chunyu and Yu, Qingchen and Zhao, Jihao and Wang, Yezhaohui and Liu, Peng and Lin, Zehao and Wang, Pengyuan and Huo, Jiahao and Chen, Tianyi and Chen, Kai and Li, Kehang and Tao, Zhen and Ren, Junpeng and Lai, Huayi and Wu, Hao and Tang, Bo and Wang, Zhenren and Fan, Zhaoxin and Zhang, Ningyu and Zhang, Linfeng and Yan, Junchi and Yang, Mingchuan and Xu, Tong and Xu, Wei and Chen, Huajun and Wang, Haofeng and Yang, Hongkang and Zhang, Wentao and Xu, Zhi-Qin John and Chen, Siheng and Xiong, Feiyu},
201+
journal={arXiv preprint arXiv:2507.03724},
202+
year={2025},
203+
url={https://arxiv.org/abs/2507.03724}
204+
}
205+
206+
@article{li2025memos_short,
207+
title={MemOS: An Operating System for Memory-Augmented Generation (MAG) in Large Language Models},
208+
author={Li, Zhiyu and Song, Shichao and Wang, Hanyu and Niu, Simin and Chen, Ding and Yang, Jiawei and Xi, Chenyang and Lai, Huayi and Zhao, Jihao and Wang, Yezhaohui and others},
209+
journal={arXiv preprint arXiv:2505.22101},
210+
year={2025},
211+
url={https://arxiv.org/abs/2505.22101}
212+
}
213+
214+
@article{yang2024memory3,
215+
author = {Yang, Hongkang and Zehao, Lin and Wenjin, Wang and Wu, Hao and Zhiyu, Li and Tang, Bo and Wenqiang, Wei and Wang, Jinbo and Zeyun, Tang and Song, Shichao and Xi, Chenyang and Yu, Yu and Kai, Chen and Xiong, Feiyu and Tang, Linpeng and Weinan, E},
216+
title = {Memory$^3$: Language Modeling with Explicit Memory},
217+
journal = {Journal of Machine Learning},
218+
year = {2024},
219+
volume = {3},
220+
number = {3},
221+
pages = {300--346},
222+
issn = {2790-2048},
223+
doi = {https://doi.org/10.4208/jml.240708},
224+
url = {https://global-sci.com/article/91443/memory3-language-modeling-with-explicit-memory}
209225
}
210226
```
211227

212228
## 🙌 Contributing
213229

214-
We welcome contributions from the community! Please read our [contribution guidelines](https://memos.openmem.net/docs/contribution/overview) to get started.
230+
We welcome contributions from the community! Please read our [contribution guidelines](https://memos-docs.openmem.net/contribution/overview) to get started.
215231

216232
## 📄 License
217233

docs/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
All documentation has been moved to a separate repository: https://github.com/MemTensor/MemOS-Docs. Please edit documentation there.
2+
3+
所有文档已迁移至独立仓库:https://github.com/MemTensor/MemOS-Docs。请在该仓库中编辑文档。

docs/assets/SOTA_Score.jpg

-290 KB
Binary file not shown.

docs/assets/banner_new.gif

-6.86 MB
Binary file not shown.

0 commit comments

Comments
 (0)