[{"data":1,"prerenderedAt":6141},["ShallowReactive",2],{"/open_source/getting_started/examples":3,"surround-/open_source/getting_started/examples":6125},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":6118,"description":102,"extension":6119,"links":6,"meta":6120,"navigation":6,"path":6121,"seo":6122,"stem":6123,"__hash__":6124},"docs/en/open_source/getting_started/examples.md","MemOS Examples",null,{"type":8,"value":9,"toc":6085},"minimark",[10,63,68,73,83,87,92,96,679,683,686,694,697,711,714,717,1451,1454,2850,2854,2857,2865,2868,2873,2876,3546,3550,3553,3564,3567,3578,3581,4359,4363,4366,4377,4381,4407,4410,5010,5014,5017,5028,5031,5042,5045,6045,6063,6067,6070,6078,6081],[11,12,13,23,31,39,47,55],"card-group",{},[14,15,19],"card",{"icon":16,"title":17,"to":18},"ri:play-line","Minimal Pipeline","/open_source/getting_started/examples#example-1-minimal-pipeline",[20,21,22],"p",{},"The smallest working pipeline — add, search, update and dump plaintext memories.",[14,24,28],{"icon":25,"title":26,"to":27},"ri:tree-line","Adding and retrieving multiple information sources","/open_source/getting_started/examples#example-2-multi-modal",[20,29,30],{},"Adding multi-source messages—including text, images, files, and tool calls—into memory and enabling their retrieval.",[14,32,36],{"icon":33,"title":34,"to":35},"ri:apps-line","Multi-Cube addition and retrieval","/open_source/getting_started/examples#example-3-multi-cube",[20,37,38],{},"Add different memories to different Cubes and retrieve them simultaneously during a search.",[14,40,44],{"icon":41,"title":42,"to":43},"ri:database-2-line","KVCacheMemory Only","/open_source/getting_started/examples#example-4-kvcachememory-only",[20,45,46],{},"Speed up sessions with short-term KV cache for fast context injection.",[14,48,52],{"icon":49,"title":50,"to":51},"hugeicons:share-07","Hybrid TreeText + KVCache","/open_source/getting_started/examples#example-5-hybrid",[20,53,54],{},"Combine explainable graph memory with fast KV caching in a single MemCube.",[14,56,60],{"icon":57,"title":58,"to":59},"ri:calendar-check-line","Multi-Memory Scheduling","/open_source/getting_started/examples#example-6-multi-memory-scheduling",[20,61,62],{},"Run dynamic memory orchestration for multi-user, multi-session agents.",[64,65,67],"h2",{"id":66},"example-1-minimal-pipeline","Example 1: Minimal Pipeline",[69,70,72],"h3",{"id":71},"when-to-use","When to Use:",[74,75,76,80],"ul",{},[77,78,79],"li",{},"You want the smallest possible working example.",[77,81,82],{},"You only need simple plaintext memories stored in a vector DB and retrieve them.",[69,84,86],{"id":85},"key-points","Key Points:",[74,88,89],{},[77,90,91],{},"Supports basic personal memory integration and search.",[69,93,95],{"id":94},"full-example-code","Full Example Code",[97,98,103],"pre",{"className":99,"code":100,"language":101,"meta":102,"style":102},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import json\nfrom memos.api.routers.server_router import add_memories, search_memories\nfrom memos.api.product_models import APIADDRequest, APISearchRequest\n\nuser_id = \"test_user_1\"\nadd_req = APIADDRequest(\n    user_id=user_id,\n    writable_cube_ids=[\"cube_test_user_1\"],\n    messages = [\n      {\"role\": \"user\", \"content\": \"I’ve planned to travel to Guangzhou during the summer vacation. What chain hotels are available for accommodation?\"},\n      {\"role\": \"assistant\", \"content\": \"You can consider [7 Days Inn, Ji Hotel, Hilton], etc.\"},\n      {\"role\": \"user\", \"content\": \"I’ll choose 7 Days Inn.\"},\n      {\"role\": \"assistant\", \"content\": \"Okay, feel free to ask me if you have any other questions.\"}\n    ],\n    async_mode=\"sync\",\n    mode=\"fine\",\n)\n\nadd_rsp = add_memories(add_req)\nprint(\"add_memories rsp: \\n\\n\", add_rsp)\n\nsearch_req = APISearchRequest(\n    user_id=user_id,\n    readable_cube_ids=[\"cube_test_user_1\"],\n    query=\"Please recommend a hotel that I haven’t stayed at before.\",\n    include_preference=True,\n)\n\nsearch_rsp = search_memories(search_req).data\nprint(\"\\n\\nsearch_rsp: \\n\\n\", json.dumps(search_rsp, indent=2, ensure_ascii=False))\n","python","",[104,105,106,119,156,182,189,208,222,237,257,269,313,352,390,429,435,452,469,475,480,498,523,528,541,552,568,585,594,599,604,627],"code",{"__ignoreMap":102},[107,108,111,115],"span",{"class":109,"line":110},"line",1,[107,112,114],{"class":113},"s7zQu","import",[107,116,118],{"class":117},"sTEyZ"," json\n",[107,120,122,125,128,132,135,137,140,142,145,147,150,153],{"class":109,"line":121},2,[107,123,124],{"class":113},"from",[107,126,127],{"class":117}," memos",[107,129,131],{"class":130},"sMK4o",".",[107,133,134],{"class":117},"api",[107,136,131],{"class":130},[107,138,139],{"class":117},"routers",[107,141,131],{"class":130},[107,143,144],{"class":117},"server_router ",[107,146,114],{"class":113},[107,148,149],{"class":117}," add_memories",[107,151,152],{"class":130},",",[107,154,155],{"class":117}," search_memories\n",[107,157,159,161,163,165,167,169,172,174,177,179],{"class":109,"line":158},3,[107,160,124],{"class":113},[107,162,127],{"class":117},[107,164,131],{"class":130},[107,166,134],{"class":117},[107,168,131],{"class":130},[107,170,171],{"class":117},"product_models ",[107,173,114],{"class":113},[107,175,176],{"class":117}," APIADDRequest",[107,178,152],{"class":130},[107,180,181],{"class":117}," APISearchRequest\n",[107,183,185],{"class":109,"line":184},4,[107,186,188],{"emptyLinePlaceholder":187},true,"\n",[107,190,192,195,198,201,205],{"class":109,"line":191},5,[107,193,194],{"class":117},"user_id ",[107,196,197],{"class":130},"=",[107,199,200],{"class":130}," \"",[107,202,204],{"class":203},"sfazB","test_user_1",[107,206,207],{"class":130},"\"\n",[107,209,211,214,216,219],{"class":109,"line":210},6,[107,212,213],{"class":117},"add_req ",[107,215,197],{"class":130},[107,217,176],{"class":218},"s2Zo4",[107,220,221],{"class":130},"(\n",[107,223,225,229,231,234],{"class":109,"line":224},7,[107,226,228],{"class":227},"sHdIc","    user_id",[107,230,197],{"class":130},[107,232,233],{"class":218},"user_id",[107,235,236],{"class":130},",\n",[107,238,240,243,246,249,252,254],{"class":109,"line":239},8,[107,241,242],{"class":227},"    writable_cube_ids",[107,244,245],{"class":130},"=[",[107,247,248],{"class":130},"\"",[107,250,251],{"class":203},"cube_test_user_1",[107,253,248],{"class":130},[107,255,256],{"class":130},"],\n",[107,258,260,263,266],{"class":109,"line":259},9,[107,261,262],{"class":227},"    messages",[107,264,265],{"class":130}," =",[107,267,268],{"class":130}," [\n",[107,270,272,275,277,280,282,285,287,290,292,294,296,299,301,303,305,308,310],{"class":109,"line":271},10,[107,273,274],{"class":130},"      {",[107,276,248],{"class":130},[107,278,279],{"class":203},"role",[107,281,248],{"class":130},[107,283,284],{"class":130},":",[107,286,200],{"class":130},[107,288,289],{"class":203},"user",[107,291,248],{"class":130},[107,293,152],{"class":130},[107,295,200],{"class":130},[107,297,298],{"class":203},"content",[107,300,248],{"class":130},[107,302,284],{"class":130},[107,304,200],{"class":130},[107,306,307],{"class":203},"I’ve planned to travel to Guangzhou during the summer vacation. What chain hotels are available for accommodation?",[107,309,248],{"class":130},[107,311,312],{"class":130},"},\n",[107,314,316,318,320,322,324,326,328,331,333,335,337,339,341,343,345,348,350],{"class":109,"line":315},11,[107,317,274],{"class":130},[107,319,248],{"class":130},[107,321,279],{"class":203},[107,323,248],{"class":130},[107,325,284],{"class":130},[107,327,200],{"class":130},[107,329,330],{"class":203},"assistant",[107,332,248],{"class":130},[107,334,152],{"class":130},[107,336,200],{"class":130},[107,338,298],{"class":203},[107,340,248],{"class":130},[107,342,284],{"class":130},[107,344,200],{"class":130},[107,346,347],{"class":203},"You can consider [7 Days Inn, Ji Hotel, Hilton], etc.",[107,349,248],{"class":130},[107,351,312],{"class":130},[107,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,386,388],{"class":109,"line":354},12,[107,356,274],{"class":130},[107,358,248],{"class":130},[107,360,279],{"class":203},[107,362,248],{"class":130},[107,364,284],{"class":130},[107,366,200],{"class":130},[107,368,289],{"class":203},[107,370,248],{"class":130},[107,372,152],{"class":130},[107,374,200],{"class":130},[107,376,298],{"class":203},[107,378,248],{"class":130},[107,380,284],{"class":130},[107,382,200],{"class":130},[107,384,385],{"class":203},"I’ll choose 7 Days Inn.",[107,387,248],{"class":130},[107,389,312],{"class":130},[107,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,424,426],{"class":109,"line":392},13,[107,394,274],{"class":130},[107,396,248],{"class":130},[107,398,279],{"class":203},[107,400,248],{"class":130},[107,402,284],{"class":130},[107,404,200],{"class":130},[107,406,330],{"class":203},[107,408,248],{"class":130},[107,410,152],{"class":130},[107,412,200],{"class":130},[107,414,298],{"class":203},[107,416,248],{"class":130},[107,418,284],{"class":130},[107,420,200],{"class":130},[107,422,423],{"class":203},"Okay, feel free to ask me if you have any other questions.",[107,425,248],{"class":130},[107,427,428],{"class":130},"}\n",[107,430,432],{"class":109,"line":431},14,[107,433,434],{"class":130},"    ],\n",[107,436,438,441,443,445,448,450],{"class":109,"line":437},15,[107,439,440],{"class":227},"    async_mode",[107,442,197],{"class":130},[107,444,248],{"class":130},[107,446,447],{"class":203},"sync",[107,449,248],{"class":130},[107,451,236],{"class":130},[107,453,455,458,460,462,465,467],{"class":109,"line":454},16,[107,456,457],{"class":227},"    mode",[107,459,197],{"class":130},[107,461,248],{"class":130},[107,463,464],{"class":203},"fine",[107,466,248],{"class":130},[107,468,236],{"class":130},[107,470,472],{"class":109,"line":471},17,[107,473,474],{"class":130},")\n",[107,476,478],{"class":109,"line":477},18,[107,479,188],{"emptyLinePlaceholder":187},[107,481,483,486,488,490,493,496],{"class":109,"line":482},19,[107,484,485],{"class":117},"add_rsp ",[107,487,197],{"class":130},[107,489,149],{"class":218},[107,491,492],{"class":130},"(",[107,494,495],{"class":218},"add_req",[107,497,474],{"class":130},[107,499,501,504,506,508,511,514,516,518,521],{"class":109,"line":500},20,[107,502,503],{"class":218},"print",[107,505,492],{"class":130},[107,507,248],{"class":130},[107,509,510],{"class":203},"add_memories rsp: ",[107,512,513],{"class":117},"\\n\\n",[107,515,248],{"class":130},[107,517,152],{"class":130},[107,519,520],{"class":218}," add_rsp",[107,522,474],{"class":130},[107,524,526],{"class":109,"line":525},21,[107,527,188],{"emptyLinePlaceholder":187},[107,529,531,534,536,539],{"class":109,"line":530},22,[107,532,533],{"class":117},"search_req ",[107,535,197],{"class":130},[107,537,538],{"class":218}," APISearchRequest",[107,540,221],{"class":130},[107,542,544,546,548,550],{"class":109,"line":543},23,[107,545,228],{"class":227},[107,547,197],{"class":130},[107,549,233],{"class":218},[107,551,236],{"class":130},[107,553,555,558,560,562,564,566],{"class":109,"line":554},24,[107,556,557],{"class":227},"    readable_cube_ids",[107,559,245],{"class":130},[107,561,248],{"class":130},[107,563,251],{"class":203},[107,565,248],{"class":130},[107,567,256],{"class":130},[107,569,571,574,576,578,581,583],{"class":109,"line":570},25,[107,572,573],{"class":227},"    query",[107,575,197],{"class":130},[107,577,248],{"class":130},[107,579,580],{"class":203},"Please recommend a hotel that I haven’t stayed at before.",[107,582,248],{"class":130},[107,584,236],{"class":130},[107,586,588,591],{"class":109,"line":587},26,[107,589,590],{"class":227},"    include_preference",[107,592,593],{"class":130},"=True,\n",[107,595,597],{"class":109,"line":596},27,[107,598,474],{"class":130},[107,600,602],{"class":109,"line":601},28,[107,603,188],{"emptyLinePlaceholder":187},[107,605,607,610,612,615,617,620,623],{"class":109,"line":606},29,[107,608,609],{"class":117},"search_rsp ",[107,611,197],{"class":130},[107,613,614],{"class":218}," search_memories",[107,616,492],{"class":130},[107,618,619],{"class":218},"search_req",[107,621,622],{"class":130},").",[107,624,626],{"class":625},"swJcz","data\n",[107,628,630,632,634,636,638,641,643,645,647,650,652,655,657,660,662,665,667,671,673,676],{"class":109,"line":629},30,[107,631,503],{"class":218},[107,633,492],{"class":130},[107,635,248],{"class":130},[107,637,513],{"class":117},[107,639,640],{"class":203},"search_rsp: ",[107,642,513],{"class":117},[107,644,248],{"class":130},[107,646,152],{"class":130},[107,648,649],{"class":218}," json",[107,651,131],{"class":130},[107,653,654],{"class":218},"dumps",[107,656,492],{"class":130},[107,658,659],{"class":218},"search_rsp",[107,661,152],{"class":130},[107,663,664],{"class":227}," indent",[107,666,197],{"class":130},[107,668,670],{"class":669},"sbssI","2",[107,672,152],{"class":130},[107,674,675],{"class":227}," ensure_ascii",[107,677,678],{"class":130},"=False))\n",[64,680,682],{"id":681},"example-2-adding-and-retrieving-multi-source-memories","Example 2: Adding and retrieving multi-source memories",[69,684,72],{"id":685},"when-to-use-1",[74,687,688,691],{},[77,689,690],{},"In addition to plain text conversations, you need to add files, image content, or tool call history to memory.",[77,692,693],{},"At the same time, you want to retrieve memories from these multiple sources.",[69,695,86],{"id":696},"key-points-1",[74,698,699,702,705,708],{},[77,700,701],{},"Adding memories from multiple information sources.",[77,703,704],{},"Needs to include downloadable file and image URLs.",[77,706,707],{},"The added information must strictly follow the OpenAI Messages format.",[77,709,710],{},"The tool schema in the system prompt needs to be wrapped in \u003Ctool_schema> \u003C/tool_schema>.",[69,712,95],{"id":713},"full-example-code-1",[20,715,716],{},"Adding text and files to memory",[97,718,720],{"className":99,"code":719,"language":101,"meta":102,"style":102},"import json\nfrom memos.api.routers.server_router import add_memories, search_memories\nfrom memos.api.product_models import APIADDRequest, APISearchRequest\n\nuser_id = \"test_user_2\"\nadd_req = APIADDRequest(\n    user_id=user_id,\n    writable_cube_ids=[\"cube_test_user_2\"],\n    messages = [\n        {\n            \"role\": \"user\",\n            \"content\": [\n                {\n                    \"type\": \"text\",\n                    \"text\": \"Please read this file, summarize the key points, and provide a final conclusion.\"\n                },\n                {\n                    \"type\": \"file\",\n                    \"file\": {\n                    \"file_id\": \"file_123\",\n                    \"filename\": \"report.md\",\n                    \"file_data\": \"@http://139.196.232.20:9090/graph-test/algorithm/2025_11_13/1763043889_1763043782_PM1%E8%BD%A6%E9%97%B4PMT%E9%9D%B4%E5%8E%8B%E8%BE%B9%E5%8E%8B%E5%8E%8B%E5%8A%9B%E6%97%A0%E6%B3%95%E5%BB%BA%E7%AB%8B%E6%95%85%E9%9A%9C%E6%8A%A5%E5%91%8A20240720.md\"\n                    }\n                },\n            ]\n        },\n        {\n            \"role\": \"assistant\",\n            \"content\": [\n                {\n                    \"type\": \"text\",\n                    \"text\": \"Final Summary: During the PMT boot-pressure startup test of the PM1 workshop on July 20, 2024, the drive could not run because the edge pressures on both sides failed to reach the 2.5-bar interlock requirement. After troubleshooting, the PLC output signals, hydraulic pipelines, and valves were all found to be normal. The root cause was ultimately identified as poor contact at the negative terminal of the proportional valve’s DC 24V power supply inside the PLC cabinet, caused by a short-jumpered terminal block. After re-connecting the negative incoming lines in parallel, the equipment returned to normal operation. It is recommended to replace terminal blocks in batches, inspect instruments with uncertain service life, and optimize the troubleshooting process by tracing common-mode issues from shared buses and power supply sources.\"\n                }\n            ]\n        }\n    ],\n    async_mode=\"sync\",\n    mode=\"fine\",\n)\n\nadd_rsp = add_memories(add_req)\nprint(\"add_memories rsp: \\n\\n\", add_rsp)\n\nsearch_req = APISearchRequest(\n    user_id=user_id,\n    readable_cube_ids=[\"cube_test_user_2\"],\n    query=\"Workshop PMT boot pressure startup test\",\n    include_preference=False,\n)\nsearch_rsp = search_memories(search_req).data\nprint(\"\\n\\nsearch_rsp: \\n\\n\", json.dumps(search_rsp, indent=2, ensure_ascii=False))\n",[104,721,722,728,754,776,780,793,803,813,828,836,841,860,872,877,898,915,920,924,943,956,976,996,1128,1133,1137,1142,1147,1151,1169,1181,1185,1204,1222,1228,1233,1239,1244,1259,1274,1279,1284,1299,1320,1325,1336,1347,1362,1378,1386,1391,1408],{"__ignoreMap":102},[107,723,724,726],{"class":109,"line":110},[107,725,114],{"class":113},[107,727,118],{"class":117},[107,729,730,732,734,736,738,740,742,744,746,748,750,752],{"class":109,"line":121},[107,731,124],{"class":113},[107,733,127],{"class":117},[107,735,131],{"class":130},[107,737,134],{"class":117},[107,739,131],{"class":130},[107,741,139],{"class":117},[107,743,131],{"class":130},[107,745,144],{"class":117},[107,747,114],{"class":113},[107,749,149],{"class":117},[107,751,152],{"class":130},[107,753,155],{"class":117},[107,755,756,758,760,762,764,766,768,770,772,774],{"class":109,"line":158},[107,757,124],{"class":113},[107,759,127],{"class":117},[107,761,131],{"class":130},[107,763,134],{"class":117},[107,765,131],{"class":130},[107,767,171],{"class":117},[107,769,114],{"class":113},[107,771,176],{"class":117},[107,773,152],{"class":130},[107,775,181],{"class":117},[107,777,778],{"class":109,"line":184},[107,779,188],{"emptyLinePlaceholder":187},[107,781,782,784,786,788,791],{"class":109,"line":191},[107,783,194],{"class":117},[107,785,197],{"class":130},[107,787,200],{"class":130},[107,789,790],{"class":203},"test_user_2",[107,792,207],{"class":130},[107,794,795,797,799,801],{"class":109,"line":210},[107,796,213],{"class":117},[107,798,197],{"class":130},[107,800,176],{"class":218},[107,802,221],{"class":130},[107,804,805,807,809,811],{"class":109,"line":224},[107,806,228],{"class":227},[107,808,197],{"class":130},[107,810,233],{"class":218},[107,812,236],{"class":130},[107,814,815,817,819,821,824,826],{"class":109,"line":239},[107,816,242],{"class":227},[107,818,245],{"class":130},[107,820,248],{"class":130},[107,822,823],{"class":203},"cube_test_user_2",[107,825,248],{"class":130},[107,827,256],{"class":130},[107,829,830,832,834],{"class":109,"line":259},[107,831,262],{"class":227},[107,833,265],{"class":130},[107,835,268],{"class":130},[107,837,838],{"class":109,"line":271},[107,839,840],{"class":130},"        {\n",[107,842,843,846,848,850,852,854,856,858],{"class":109,"line":315},[107,844,845],{"class":130},"            \"",[107,847,279],{"class":203},[107,849,248],{"class":130},[107,851,284],{"class":130},[107,853,200],{"class":130},[107,855,289],{"class":203},[107,857,248],{"class":130},[107,859,236],{"class":130},[107,861,862,864,866,868,870],{"class":109,"line":354},[107,863,845],{"class":130},[107,865,298],{"class":203},[107,867,248],{"class":130},[107,869,284],{"class":130},[107,871,268],{"class":130},[107,873,874],{"class":109,"line":392},[107,875,876],{"class":130},"                {\n",[107,878,879,882,885,887,889,891,894,896],{"class":109,"line":431},[107,880,881],{"class":130},"                    \"",[107,883,884],{"class":203},"type",[107,886,248],{"class":130},[107,888,284],{"class":130},[107,890,200],{"class":130},[107,892,893],{"class":203},"text",[107,895,248],{"class":130},[107,897,236],{"class":130},[107,899,900,902,904,906,908,910,913],{"class":109,"line":437},[107,901,881],{"class":130},[107,903,893],{"class":203},[107,905,248],{"class":130},[107,907,284],{"class":130},[107,909,200],{"class":130},[107,911,912],{"class":203},"Please read this file, summarize the key points, and provide a final conclusion.",[107,914,207],{"class":130},[107,916,917],{"class":109,"line":454},[107,918,919],{"class":130},"                },\n",[107,921,922],{"class":109,"line":471},[107,923,876],{"class":130},[107,925,926,928,930,932,934,936,939,941],{"class":109,"line":477},[107,927,881],{"class":130},[107,929,884],{"class":203},[107,931,248],{"class":130},[107,933,284],{"class":130},[107,935,200],{"class":130},[107,937,938],{"class":203},"file",[107,940,248],{"class":130},[107,942,236],{"class":130},[107,944,945,947,949,951,953],{"class":109,"line":482},[107,946,881],{"class":130},[107,948,938],{"class":203},[107,950,248],{"class":130},[107,952,284],{"class":130},[107,954,955],{"class":130}," {\n",[107,957,958,960,963,965,967,969,972,974],{"class":109,"line":500},[107,959,881],{"class":130},[107,961,962],{"class":203},"file_id",[107,964,248],{"class":130},[107,966,284],{"class":130},[107,968,200],{"class":130},[107,970,971],{"class":203},"file_123",[107,973,248],{"class":130},[107,975,236],{"class":130},[107,977,978,980,983,985,987,989,992,994],{"class":109,"line":525},[107,979,881],{"class":130},[107,981,982],{"class":203},"filename",[107,984,248],{"class":130},[107,986,284],{"class":130},[107,988,200],{"class":130},[107,990,991],{"class":203},"report.md",[107,993,248],{"class":130},[107,995,236],{"class":130},[107,997,998,1000,1003,1005,1007,1009,1012,1015,1018,1020,1023,1026,1029,1031,1034,1036,1039,1042,1045,1047,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1071,1073,1076,1078,1081,1083,1086,1089,1092,1094,1097,1099,1101,1103,1106,1108,1111,1113,1116,1118,1120,1123,1126],{"class":109,"line":530},[107,999,881],{"class":130},[107,1001,1002],{"class":203},"file_data",[107,1004,248],{"class":130},[107,1006,284],{"class":130},[107,1008,200],{"class":130},[107,1010,1011],{"class":203},"@http://139.196.232.20:9090/graph-test/algorithm/2025_11_13/1763043889_1763043782_PM1",[107,1013,1014],{"class":669},"%E",[107,1016,1017],{"class":203},"8%BD%A6",[107,1019,1014],{"class":669},[107,1021,1022],{"class":203},"9",[107,1024,1025],{"class":669},"%97%",[107,1027,1028],{"class":203},"B4PMT",[107,1030,1014],{"class":669},[107,1032,1033],{"class":203},"9%9D%B4",[107,1035,1014],{"class":669},[107,1037,1038],{"class":203},"5",[107,1040,1041],{"class":669},"%8E",[107,1043,1044],{"class":203},"%8B",[107,1046,1014],{"class":669},[107,1048,1049],{"class":203},"8%BE%B9",[107,1051,1014],{"class":669},[107,1053,1038],{"class":203},[107,1055,1041],{"class":669},[107,1057,1044],{"class":203},[107,1059,1014],{"class":669},[107,1061,1038],{"class":203},[107,1063,1041],{"class":669},[107,1065,1044],{"class":203},[107,1067,1014],{"class":669},[107,1069,1070],{"class":203},"5%8A%9B",[107,1072,1014],{"class":669},[107,1074,1075],{"class":203},"6",[107,1077,1025],{"class":669},[107,1079,1080],{"class":203},"A0",[107,1082,1014],{"class":669},[107,1084,1085],{"class":203},"6%B3",[107,1087,1088],{"class":669},"%95%",[107,1090,1091],{"class":203},"E5%BB%BA",[107,1093,1014],{"class":669},[107,1095,1096],{"class":203},"7%AB%8B",[107,1098,1014],{"class":669},[107,1100,1075],{"class":203},[107,1102,1088],{"class":669},[107,1104,1105],{"class":203},"85",[107,1107,1014],{"class":669},[107,1109,1110],{"class":203},"9%9A%9C",[107,1112,1014],{"class":669},[107,1114,1115],{"class":203},"6%8A%A5",[107,1117,1014],{"class":669},[107,1119,1038],{"class":203},[107,1121,1122],{"class":669},"%91%",[107,1124,1125],{"class":203},"8A20240720.md",[107,1127,207],{"class":130},[107,1129,1130],{"class":109,"line":543},[107,1131,1132],{"class":130},"                    }\n",[107,1134,1135],{"class":109,"line":554},[107,1136,919],{"class":130},[107,1138,1139],{"class":109,"line":570},[107,1140,1141],{"class":130},"            ]\n",[107,1143,1144],{"class":109,"line":587},[107,1145,1146],{"class":130},"        },\n",[107,1148,1149],{"class":109,"line":596},[107,1150,840],{"class":130},[107,1152,1153,1155,1157,1159,1161,1163,1165,1167],{"class":109,"line":601},[107,1154,845],{"class":130},[107,1156,279],{"class":203},[107,1158,248],{"class":130},[107,1160,284],{"class":130},[107,1162,200],{"class":130},[107,1164,330],{"class":203},[107,1166,248],{"class":130},[107,1168,236],{"class":130},[107,1170,1171,1173,1175,1177,1179],{"class":109,"line":606},[107,1172,845],{"class":130},[107,1174,298],{"class":203},[107,1176,248],{"class":130},[107,1178,284],{"class":130},[107,1180,268],{"class":130},[107,1182,1183],{"class":109,"line":629},[107,1184,876],{"class":130},[107,1186,1188,1190,1192,1194,1196,1198,1200,1202],{"class":109,"line":1187},31,[107,1189,881],{"class":130},[107,1191,884],{"class":203},[107,1193,248],{"class":130},[107,1195,284],{"class":130},[107,1197,200],{"class":130},[107,1199,893],{"class":203},[107,1201,248],{"class":130},[107,1203,236],{"class":130},[107,1205,1207,1209,1211,1213,1215,1217,1220],{"class":109,"line":1206},32,[107,1208,881],{"class":130},[107,1210,893],{"class":203},[107,1212,248],{"class":130},[107,1214,284],{"class":130},[107,1216,200],{"class":130},[107,1218,1219],{"class":203},"Final Summary: During the PMT boot-pressure startup test of the PM1 workshop on July 20, 2024, the drive could not run because the edge pressures on both sides failed to reach the 2.5-bar interlock requirement. After troubleshooting, the PLC output signals, hydraulic pipelines, and valves were all found to be normal. The root cause was ultimately identified as poor contact at the negative terminal of the proportional valve’s DC 24V power supply inside the PLC cabinet, caused by a short-jumpered terminal block. After re-connecting the negative incoming lines in parallel, the equipment returned to normal operation. It is recommended to replace terminal blocks in batches, inspect instruments with uncertain service life, and optimize the troubleshooting process by tracing common-mode issues from shared buses and power supply sources.",[107,1221,207],{"class":130},[107,1223,1225],{"class":109,"line":1224},33,[107,1226,1227],{"class":130},"                }\n",[107,1229,1231],{"class":109,"line":1230},34,[107,1232,1141],{"class":130},[107,1234,1236],{"class":109,"line":1235},35,[107,1237,1238],{"class":130},"        }\n",[107,1240,1242],{"class":109,"line":1241},36,[107,1243,434],{"class":130},[107,1245,1247,1249,1251,1253,1255,1257],{"class":109,"line":1246},37,[107,1248,440],{"class":227},[107,1250,197],{"class":130},[107,1252,248],{"class":130},[107,1254,447],{"class":203},[107,1256,248],{"class":130},[107,1258,236],{"class":130},[107,1260,1262,1264,1266,1268,1270,1272],{"class":109,"line":1261},38,[107,1263,457],{"class":227},[107,1265,197],{"class":130},[107,1267,248],{"class":130},[107,1269,464],{"class":203},[107,1271,248],{"class":130},[107,1273,236],{"class":130},[107,1275,1277],{"class":109,"line":1276},39,[107,1278,474],{"class":130},[107,1280,1282],{"class":109,"line":1281},40,[107,1283,188],{"emptyLinePlaceholder":187},[107,1285,1287,1289,1291,1293,1295,1297],{"class":109,"line":1286},41,[107,1288,485],{"class":117},[107,1290,197],{"class":130},[107,1292,149],{"class":218},[107,1294,492],{"class":130},[107,1296,495],{"class":218},[107,1298,474],{"class":130},[107,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318],{"class":109,"line":1301},42,[107,1303,503],{"class":218},[107,1305,492],{"class":130},[107,1307,248],{"class":130},[107,1309,510],{"class":203},[107,1311,513],{"class":117},[107,1313,248],{"class":130},[107,1315,152],{"class":130},[107,1317,520],{"class":218},[107,1319,474],{"class":130},[107,1321,1323],{"class":109,"line":1322},43,[107,1324,188],{"emptyLinePlaceholder":187},[107,1326,1328,1330,1332,1334],{"class":109,"line":1327},44,[107,1329,533],{"class":117},[107,1331,197],{"class":130},[107,1333,538],{"class":218},[107,1335,221],{"class":130},[107,1337,1339,1341,1343,1345],{"class":109,"line":1338},45,[107,1340,228],{"class":227},[107,1342,197],{"class":130},[107,1344,233],{"class":218},[107,1346,236],{"class":130},[107,1348,1350,1352,1354,1356,1358,1360],{"class":109,"line":1349},46,[107,1351,557],{"class":227},[107,1353,245],{"class":130},[107,1355,248],{"class":130},[107,1357,823],{"class":203},[107,1359,248],{"class":130},[107,1361,256],{"class":130},[107,1363,1365,1367,1369,1371,1374,1376],{"class":109,"line":1364},47,[107,1366,573],{"class":227},[107,1368,197],{"class":130},[107,1370,248],{"class":130},[107,1372,1373],{"class":203},"Workshop PMT boot pressure startup test",[107,1375,248],{"class":130},[107,1377,236],{"class":130},[107,1379,1381,1383],{"class":109,"line":1380},48,[107,1382,590],{"class":227},[107,1384,1385],{"class":130},"=False,\n",[107,1387,1389],{"class":109,"line":1388},49,[107,1390,474],{"class":130},[107,1392,1394,1396,1398,1400,1402,1404,1406],{"class":109,"line":1393},50,[107,1395,609],{"class":117},[107,1397,197],{"class":130},[107,1399,614],{"class":218},[107,1401,492],{"class":130},[107,1403,619],{"class":218},[107,1405,622],{"class":130},[107,1407,626],{"class":625},[107,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449],{"class":109,"line":1410},51,[107,1412,503],{"class":218},[107,1414,492],{"class":130},[107,1416,248],{"class":130},[107,1418,513],{"class":117},[107,1420,640],{"class":203},[107,1422,513],{"class":117},[107,1424,248],{"class":130},[107,1426,152],{"class":130},[107,1428,649],{"class":218},[107,1430,131],{"class":130},[107,1432,654],{"class":218},[107,1434,492],{"class":130},[107,1436,659],{"class":218},[107,1438,152],{"class":130},[107,1440,664],{"class":227},[107,1442,197],{"class":130},[107,1444,670],{"class":669},[107,1446,152],{"class":130},[107,1448,675],{"class":227},[107,1450,678],{"class":130},[20,1452,1453],{},"Adding messages from multiple mixed information sources to memory",[97,1455,1457],{"className":99,"code":1456,"language":101,"meta":102,"style":102},"import json\nfrom memos.api.routers.server_router import add_memories, search_memories\nfrom memos.api.product_models import APIADDRequest, APISearchRequest\n\nuser_id = \"test_user_2\"\nadd_req = APIADDRequest(\n    user_id=user_id,\n    writable_cube_ids=[\"cube_test_user_2\"],\n    messages = [\n  {\n    \"role\": \"system\",\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"You are a professional industrial fault analysis assistant. Please read the PDF, images, and instructions provided by the user and provide a professional technical summary.\\n\\n\u003Ctool_schema>\\n[\\n  {\\n    \\\"name\\\": \\\"file_reader\\\",\\n    \\\"description\\\": \\\"Used to read the content of files uploaded by the user and return the text data (in JSON string format).\\\",\\n    \\\"parameters\\\": [\\n      {\\\"name\\\": \\\"file_id\\\", \\\"type\\\": \\\"string\\\", \\\"required\\\": true, \\\"description\\\": \\\"The file ID to be read\\\"}\\n    ],\\n    \\\"returns\\\": {\\\"type\\\": \\\"text\\\", \\\"description\\\": \\\"Returns the extracted text content of the file\\\"}\\n  }\\n]\\n\u003C/tool_schema>\"\n      }\n    ]\n  },\n  {\n    \"role\": \"user\",\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"Please read this file and image, summarize the key points, and provide a final conclusion.\"\n      },\n      {\n        \"type\": \"file\",\n        \"file\": {\n          \"file_id\": \"file_123\",\n          \"filename\": \"report.pdf\",\n          \"file_data\": \"@http://139.196.232.20:9090/graph-test/algorithm/2025_11_13/1763043889_1763043782_PM1%E8%BD%A6%E9%97%B4PMT%E9%9D%B4%E5%8E%8B%E8%BE%B9%E5%8E%8B%E5%8E%8B%E5%8A%9B%E6%97%A0%E6%B3%95%E5%BB%BA%E7%AB%8B%E6%95%85%E9%9A%9C%E6%8A%A5%E5%91%8A20240720.md\"\n        }\n      },\n      {\n        \"type\": \"image_url\",\n        \"image_url\": {\n          \"url\": \"https://play-groud-test-1.oss-cn-shanghai.aliyuncs.com/%E5%9B%BE%E7%89%871.jpeg\"\n        }\n      }\n    ]\n  },\n  {\n    \"role\": \"assistant\",\n    \"tool_calls\": [\n      {\n        \"id\": \"call_file_reader_001\",\n        \"type\": \"function\",\n        \"function\": {\n          \"name\": \"file_reader\",\n          \"arguments\": \"{\\\"file_id\\\": \\\"file_123\\\"}\"\n        }\n      }\n    ]\n  },\n  {\n    \"role\": \"tool\",\n    \"tool_call_id\": \"call_file_reader_001\",\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"{\\\"file_id\\\":\\\"file_123\\\",\\\"extracted_text\\\":\\\"PM1 workshop PMT boot pressure startup test record… Final fault cause: poor contact at the negative terminal of the DC 24V power supply circuit due to a short-jumped terminal block.\\\"}\"\n      }\n    ]\n  },\n  {\n    \"role\": \"assistant\",\n    \"content\": [\n      {\n        \"type\": \"text\",\n        \"text\": \"Final Summary: During the PMT boot-pressure startup test of the PM1 workshop on July 20, 2024, the drive could not run because the edge pressures on both sides failed to reach the 2.5-bar interlock requirement. After troubleshooting, the PLC output signals, hydraulic pipelines, and valves were all found to be normal. The root cause was ultimately identified as poor contact at the negative terminal of the proportional valve’s DC 24V power supply inside the PLC cabinet, caused by a short-jumpered terminal block. After re-connecting the negative incoming lines in parallel, the equipment returned to normal operation. It is recommended to replace terminal blocks in batches, inspect instruments with uncertain service life, and optimize the troubleshooting process by tracing common-mode issues from shared buses and power supply sources.\"\n      }\n    ]\n  }\n],\n    async_mode=\"sync\",\n    mode=\"fine\",\n)\n\nadd_rsp = add_memories(add_req)\n\nprint(\"add_memories rsp: \\n\\n\", add_rsp)\n\n\n\nsearch_req = APISearchRequest(\n    user_id=user_id,\n    readable_cube_ids=[\"cube_test_user_2\"],\n    query=\"Workshop PMT boot pressure startup test\",\n    include_preference=False,\n)\n\nsearch_rsp = search_memories(search_req).data\nprint(\"\\n\\nsearch_rsp: \\n\\n\", json.dumps(search_rsp, indent=2, ensure_ascii=False))\n",[104,1458,1459,1465,1491,1513,1517,1529,1539,1549,1563,1571,1576,1596,1608,1613,1632,1851,1856,1861,1866,1870,1888,1900,1904,1922,1939,1944,1948,1966,1978,1997,2016,2124,2128,2132,2136,2155,2167,2201,2205,2209,2213,2217,2221,2239,2252,2256,2276,2295,2307,2325,2359,2363,2368,2373,2378,2383,2403,2423,2436,2441,2460,2511,2516,2521,2526,2531,2550,2563,2568,2587,2604,2609,2614,2620,2625,2640,2655,2660,2665,2680,2685,2706,2711,2716,2721,2732,2743,2758,2773,2780,2785,2790,2807],{"__ignoreMap":102},[107,1460,1461,1463],{"class":109,"line":110},[107,1462,114],{"class":113},[107,1464,118],{"class":117},[107,1466,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489],{"class":109,"line":121},[107,1468,124],{"class":113},[107,1470,127],{"class":117},[107,1472,131],{"class":130},[107,1474,134],{"class":117},[107,1476,131],{"class":130},[107,1478,139],{"class":117},[107,1480,131],{"class":130},[107,1482,144],{"class":117},[107,1484,114],{"class":113},[107,1486,149],{"class":117},[107,1488,152],{"class":130},[107,1490,155],{"class":117},[107,1492,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511],{"class":109,"line":158},[107,1494,124],{"class":113},[107,1496,127],{"class":117},[107,1498,131],{"class":130},[107,1500,134],{"class":117},[107,1502,131],{"class":130},[107,1504,171],{"class":117},[107,1506,114],{"class":113},[107,1508,176],{"class":117},[107,1510,152],{"class":130},[107,1512,181],{"class":117},[107,1514,1515],{"class":109,"line":184},[107,1516,188],{"emptyLinePlaceholder":187},[107,1518,1519,1521,1523,1525,1527],{"class":109,"line":191},[107,1520,194],{"class":117},[107,1522,197],{"class":130},[107,1524,200],{"class":130},[107,1526,790],{"class":203},[107,1528,207],{"class":130},[107,1530,1531,1533,1535,1537],{"class":109,"line":210},[107,1532,213],{"class":117},[107,1534,197],{"class":130},[107,1536,176],{"class":218},[107,1538,221],{"class":130},[107,1540,1541,1543,1545,1547],{"class":109,"line":224},[107,1542,228],{"class":227},[107,1544,197],{"class":130},[107,1546,233],{"class":218},[107,1548,236],{"class":130},[107,1550,1551,1553,1555,1557,1559,1561],{"class":109,"line":239},[107,1552,242],{"class":227},[107,1554,245],{"class":130},[107,1556,248],{"class":130},[107,1558,823],{"class":203},[107,1560,248],{"class":130},[107,1562,256],{"class":130},[107,1564,1565,1567,1569],{"class":109,"line":259},[107,1566,262],{"class":227},[107,1568,265],{"class":130},[107,1570,268],{"class":130},[107,1572,1573],{"class":109,"line":271},[107,1574,1575],{"class":130},"  {\n",[107,1577,1578,1581,1583,1585,1587,1589,1592,1594],{"class":109,"line":315},[107,1579,1580],{"class":130},"    \"",[107,1582,279],{"class":203},[107,1584,248],{"class":130},[107,1586,284],{"class":130},[107,1588,200],{"class":130},[107,1590,1591],{"class":203},"system",[107,1593,248],{"class":130},[107,1595,236],{"class":130},[107,1597,1598,1600,1602,1604,1606],{"class":109,"line":354},[107,1599,1580],{"class":130},[107,1601,298],{"class":203},[107,1603,248],{"class":130},[107,1605,284],{"class":130},[107,1607,268],{"class":130},[107,1609,1610],{"class":109,"line":392},[107,1611,1612],{"class":130},"      {\n",[107,1614,1615,1618,1620,1622,1624,1626,1628,1630],{"class":109,"line":431},[107,1616,1617],{"class":130},"        \"",[107,1619,884],{"class":203},[107,1621,248],{"class":130},[107,1623,284],{"class":130},[107,1625,200],{"class":130},[107,1627,893],{"class":203},[107,1629,248],{"class":130},[107,1631,236],{"class":130},[107,1633,1634,1636,1638,1640,1642,1644,1647,1649,1652,1655,1658,1660,1663,1665,1668,1671,1674,1677,1679,1682,1684,1686,1688,1690,1693,1695,1697,1699,1702,1704,1706,1708,1710,1713,1715,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1739,1741,1743,1745,1747,1749,1752,1754,1756,1758,1761,1763,1766,1768,1770,1772,1774,1776,1779,1781,1784,1786,1789,1791,1793,1796,1798,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1830,1832,1834,1836,1839,1841,1844,1846,1849],{"class":109,"line":437},[107,1635,1617],{"class":130},[107,1637,893],{"class":203},[107,1639,248],{"class":130},[107,1641,284],{"class":130},[107,1643,200],{"class":130},[107,1645,1646],{"class":203},"You are a professional industrial fault analysis assistant. Please read the PDF, images, and instructions provided by the user and provide a professional technical summary.",[107,1648,513],{"class":117},[107,1650,1651],{"class":203},"\u003Ctool_schema>",[107,1653,1654],{"class":117},"\\n",[107,1656,1657],{"class":203},"[",[107,1659,1654],{"class":117},[107,1661,1662],{"class":203},"  {",[107,1664,1654],{"class":117},[107,1666,1667],{"class":117},"    \\\"",[107,1669,1670],{"class":203},"name",[107,1672,1673],{"class":117},"\\\"",[107,1675,1676],{"class":203},": ",[107,1678,1673],{"class":117},[107,1680,1681],{"class":203},"file_reader",[107,1683,1673],{"class":117},[107,1685,152],{"class":203},[107,1687,1654],{"class":117},[107,1689,1667],{"class":117},[107,1691,1692],{"class":203},"description",[107,1694,1673],{"class":117},[107,1696,1676],{"class":203},[107,1698,1673],{"class":117},[107,1700,1701],{"class":203},"Used to read the content of files uploaded by the user and return the text data (in JSON string format).",[107,1703,1673],{"class":117},[107,1705,152],{"class":203},[107,1707,1654],{"class":117},[107,1709,1667],{"class":117},[107,1711,1712],{"class":203},"parameters",[107,1714,1673],{"class":117},[107,1716,1717],{"class":203},": [",[107,1719,1654],{"class":117},[107,1721,274],{"class":203},[107,1723,1673],{"class":117},[107,1725,1670],{"class":203},[107,1727,1673],{"class":117},[107,1729,1676],{"class":203},[107,1731,1673],{"class":117},[107,1733,962],{"class":203},[107,1735,1673],{"class":117},[107,1737,1738],{"class":203},", ",[107,1740,1673],{"class":117},[107,1742,884],{"class":203},[107,1744,1673],{"class":117},[107,1746,1676],{"class":203},[107,1748,1673],{"class":117},[107,1750,1751],{"class":203},"string",[107,1753,1673],{"class":117},[107,1755,1738],{"class":203},[107,1757,1673],{"class":117},[107,1759,1760],{"class":203},"required",[107,1762,1673],{"class":117},[107,1764,1765],{"class":203},": true, ",[107,1767,1673],{"class":117},[107,1769,1692],{"class":203},[107,1771,1673],{"class":117},[107,1773,1676],{"class":203},[107,1775,1673],{"class":117},[107,1777,1778],{"class":203},"The file ID to be read",[107,1780,1673],{"class":117},[107,1782,1783],{"class":203},"}",[107,1785,1654],{"class":117},[107,1787,1788],{"class":203},"    ],",[107,1790,1654],{"class":117},[107,1792,1667],{"class":117},[107,1794,1795],{"class":203},"returns",[107,1797,1673],{"class":117},[107,1799,1800],{"class":203},": {",[107,1802,1673],{"class":117},[107,1804,884],{"class":203},[107,1806,1673],{"class":117},[107,1808,1676],{"class":203},[107,1810,1673],{"class":117},[107,1812,893],{"class":203},[107,1814,1673],{"class":117},[107,1816,1738],{"class":203},[107,1818,1673],{"class":117},[107,1820,1692],{"class":203},[107,1822,1673],{"class":117},[107,1824,1676],{"class":203},[107,1826,1673],{"class":117},[107,1828,1829],{"class":203},"Returns the extracted text content of the file",[107,1831,1673],{"class":117},[107,1833,1783],{"class":203},[107,1835,1654],{"class":117},[107,1837,1838],{"class":203},"  }",[107,1840,1654],{"class":117},[107,1842,1843],{"class":203},"]",[107,1845,1654],{"class":117},[107,1847,1848],{"class":203},"\u003C/tool_schema>",[107,1850,207],{"class":130},[107,1852,1853],{"class":109,"line":454},[107,1854,1855],{"class":130},"      }\n",[107,1857,1858],{"class":109,"line":471},[107,1859,1860],{"class":130},"    ]\n",[107,1862,1863],{"class":109,"line":477},[107,1864,1865],{"class":130},"  },\n",[107,1867,1868],{"class":109,"line":482},[107,1869,1575],{"class":130},[107,1871,1872,1874,1876,1878,1880,1882,1884,1886],{"class":109,"line":500},[107,1873,1580],{"class":130},[107,1875,279],{"class":203},[107,1877,248],{"class":130},[107,1879,284],{"class":130},[107,1881,200],{"class":130},[107,1883,289],{"class":203},[107,1885,248],{"class":130},[107,1887,236],{"class":130},[107,1889,1890,1892,1894,1896,1898],{"class":109,"line":525},[107,1891,1580],{"class":130},[107,1893,298],{"class":203},[107,1895,248],{"class":130},[107,1897,284],{"class":130},[107,1899,268],{"class":130},[107,1901,1902],{"class":109,"line":530},[107,1903,1612],{"class":130},[107,1905,1906,1908,1910,1912,1914,1916,1918,1920],{"class":109,"line":543},[107,1907,1617],{"class":130},[107,1909,884],{"class":203},[107,1911,248],{"class":130},[107,1913,284],{"class":130},[107,1915,200],{"class":130},[107,1917,893],{"class":203},[107,1919,248],{"class":130},[107,1921,236],{"class":130},[107,1923,1924,1926,1928,1930,1932,1934,1937],{"class":109,"line":554},[107,1925,1617],{"class":130},[107,1927,893],{"class":203},[107,1929,248],{"class":130},[107,1931,284],{"class":130},[107,1933,200],{"class":130},[107,1935,1936],{"class":203},"Please read this file and image, summarize the key points, and provide a final conclusion.",[107,1938,207],{"class":130},[107,1940,1941],{"class":109,"line":570},[107,1942,1943],{"class":130},"      },\n",[107,1945,1946],{"class":109,"line":587},[107,1947,1612],{"class":130},[107,1949,1950,1952,1954,1956,1958,1960,1962,1964],{"class":109,"line":596},[107,1951,1617],{"class":130},[107,1953,884],{"class":203},[107,1955,248],{"class":130},[107,1957,284],{"class":130},[107,1959,200],{"class":130},[107,1961,938],{"class":203},[107,1963,248],{"class":130},[107,1965,236],{"class":130},[107,1967,1968,1970,1972,1974,1976],{"class":109,"line":601},[107,1969,1617],{"class":130},[107,1971,938],{"class":203},[107,1973,248],{"class":130},[107,1975,284],{"class":130},[107,1977,955],{"class":130},[107,1979,1980,1983,1985,1987,1989,1991,1993,1995],{"class":109,"line":606},[107,1981,1982],{"class":130},"          \"",[107,1984,962],{"class":203},[107,1986,248],{"class":130},[107,1988,284],{"class":130},[107,1990,200],{"class":130},[107,1992,971],{"class":203},[107,1994,248],{"class":130},[107,1996,236],{"class":130},[107,1998,1999,2001,2003,2005,2007,2009,2012,2014],{"class":109,"line":629},[107,2000,1982],{"class":130},[107,2002,982],{"class":203},[107,2004,248],{"class":130},[107,2006,284],{"class":130},[107,2008,200],{"class":130},[107,2010,2011],{"class":203},"report.pdf",[107,2013,248],{"class":130},[107,2015,236],{"class":130},[107,2017,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122],{"class":109,"line":1187},[107,2019,1982],{"class":130},[107,2021,1002],{"class":203},[107,2023,248],{"class":130},[107,2025,284],{"class":130},[107,2027,200],{"class":130},[107,2029,1011],{"class":203},[107,2031,1014],{"class":669},[107,2033,1017],{"class":203},[107,2035,1014],{"class":669},[107,2037,1022],{"class":203},[107,2039,1025],{"class":669},[107,2041,1028],{"class":203},[107,2043,1014],{"class":669},[107,2045,1033],{"class":203},[107,2047,1014],{"class":669},[107,2049,1038],{"class":203},[107,2051,1041],{"class":669},[107,2053,1044],{"class":203},[107,2055,1014],{"class":669},[107,2057,1049],{"class":203},[107,2059,1014],{"class":669},[107,2061,1038],{"class":203},[107,2063,1041],{"class":669},[107,2065,1044],{"class":203},[107,2067,1014],{"class":669},[107,2069,1038],{"class":203},[107,2071,1041],{"class":669},[107,2073,1044],{"class":203},[107,2075,1014],{"class":669},[107,2077,1070],{"class":203},[107,2079,1014],{"class":669},[107,2081,1075],{"class":203},[107,2083,1025],{"class":669},[107,2085,1080],{"class":203},[107,2087,1014],{"class":669},[107,2089,1085],{"class":203},[107,2091,1088],{"class":669},[107,2093,1091],{"class":203},[107,2095,1014],{"class":669},[107,2097,1096],{"class":203},[107,2099,1014],{"class":669},[107,2101,1075],{"class":203},[107,2103,1088],{"class":669},[107,2105,1105],{"class":203},[107,2107,1014],{"class":669},[107,2109,1110],{"class":203},[107,2111,1014],{"class":669},[107,2113,1115],{"class":203},[107,2115,1014],{"class":669},[107,2117,1038],{"class":203},[107,2119,1122],{"class":669},[107,2121,1125],{"class":203},[107,2123,207],{"class":130},[107,2125,2126],{"class":109,"line":1206},[107,2127,1238],{"class":130},[107,2129,2130],{"class":109,"line":1224},[107,2131,1943],{"class":130},[107,2133,2134],{"class":109,"line":1230},[107,2135,1612],{"class":130},[107,2137,2138,2140,2142,2144,2146,2148,2151,2153],{"class":109,"line":1235},[107,2139,1617],{"class":130},[107,2141,884],{"class":203},[107,2143,248],{"class":130},[107,2145,284],{"class":130},[107,2147,200],{"class":130},[107,2149,2150],{"class":203},"image_url",[107,2152,248],{"class":130},[107,2154,236],{"class":130},[107,2156,2157,2159,2161,2163,2165],{"class":109,"line":1241},[107,2158,1617],{"class":130},[107,2160,2150],{"class":203},[107,2162,248],{"class":130},[107,2164,284],{"class":130},[107,2166,955],{"class":130},[107,2168,2169,2171,2174,2176,2178,2180,2183,2185,2188,2190,2193,2196,2199],{"class":109,"line":1246},[107,2170,1982],{"class":130},[107,2172,2173],{"class":203},"url",[107,2175,248],{"class":130},[107,2177,284],{"class":130},[107,2179,200],{"class":130},[107,2181,2182],{"class":203},"https://play-groud-test-1.oss-cn-shanghai.aliyuncs.com/",[107,2184,1014],{"class":669},[107,2186,2187],{"class":203},"5%9B%BE",[107,2189,1014],{"class":669},[107,2191,2192],{"class":203},"7",[107,2194,2195],{"class":669},"%89%",[107,2197,2198],{"class":203},"871.jpeg",[107,2200,207],{"class":130},[107,2202,2203],{"class":109,"line":1261},[107,2204,1238],{"class":130},[107,2206,2207],{"class":109,"line":1276},[107,2208,1855],{"class":130},[107,2210,2211],{"class":109,"line":1281},[107,2212,1860],{"class":130},[107,2214,2215],{"class":109,"line":1286},[107,2216,1865],{"class":130},[107,2218,2219],{"class":109,"line":1301},[107,2220,1575],{"class":130},[107,2222,2223,2225,2227,2229,2231,2233,2235,2237],{"class":109,"line":1322},[107,2224,1580],{"class":130},[107,2226,279],{"class":203},[107,2228,248],{"class":130},[107,2230,284],{"class":130},[107,2232,200],{"class":130},[107,2234,330],{"class":203},[107,2236,248],{"class":130},[107,2238,236],{"class":130},[107,2240,2241,2243,2246,2248,2250],{"class":109,"line":1327},[107,2242,1580],{"class":130},[107,2244,2245],{"class":203},"tool_calls",[107,2247,248],{"class":130},[107,2249,284],{"class":130},[107,2251,268],{"class":130},[107,2253,2254],{"class":109,"line":1338},[107,2255,1612],{"class":130},[107,2257,2258,2260,2263,2265,2267,2269,2272,2274],{"class":109,"line":1349},[107,2259,1617],{"class":130},[107,2261,2262],{"class":203},"id",[107,2264,248],{"class":130},[107,2266,284],{"class":130},[107,2268,200],{"class":130},[107,2270,2271],{"class":203},"call_file_reader_001",[107,2273,248],{"class":130},[107,2275,236],{"class":130},[107,2277,2278,2280,2282,2284,2286,2288,2291,2293],{"class":109,"line":1364},[107,2279,1617],{"class":130},[107,2281,884],{"class":203},[107,2283,248],{"class":130},[107,2285,284],{"class":130},[107,2287,200],{"class":130},[107,2289,2290],{"class":203},"function",[107,2292,248],{"class":130},[107,2294,236],{"class":130},[107,2296,2297,2299,2301,2303,2305],{"class":109,"line":1380},[107,2298,1617],{"class":130},[107,2300,2290],{"class":203},[107,2302,248],{"class":130},[107,2304,284],{"class":130},[107,2306,955],{"class":130},[107,2308,2309,2311,2313,2315,2317,2319,2321,2323],{"class":109,"line":1388},[107,2310,1982],{"class":130},[107,2312,1670],{"class":203},[107,2314,248],{"class":130},[107,2316,284],{"class":130},[107,2318,200],{"class":130},[107,2320,1681],{"class":203},[107,2322,248],{"class":130},[107,2324,236],{"class":130},[107,2326,2327,2329,2332,2334,2336,2338,2341,2343,2345,2347,2349,2351,2353,2355,2357],{"class":109,"line":1393},[107,2328,1982],{"class":130},[107,2330,2331],{"class":203},"arguments",[107,2333,248],{"class":130},[107,2335,284],{"class":130},[107,2337,200],{"class":130},[107,2339,2340],{"class":203},"{",[107,2342,1673],{"class":117},[107,2344,962],{"class":203},[107,2346,1673],{"class":117},[107,2348,1676],{"class":203},[107,2350,1673],{"class":117},[107,2352,971],{"class":203},[107,2354,1673],{"class":117},[107,2356,1783],{"class":203},[107,2358,207],{"class":130},[107,2360,2361],{"class":109,"line":1410},[107,2362,1238],{"class":130},[107,2364,2366],{"class":109,"line":2365},52,[107,2367,1855],{"class":130},[107,2369,2371],{"class":109,"line":2370},53,[107,2372,1860],{"class":130},[107,2374,2376],{"class":109,"line":2375},54,[107,2377,1865],{"class":130},[107,2379,2381],{"class":109,"line":2380},55,[107,2382,1575],{"class":130},[107,2384,2386,2388,2390,2392,2394,2396,2399,2401],{"class":109,"line":2385},56,[107,2387,1580],{"class":130},[107,2389,279],{"class":203},[107,2391,248],{"class":130},[107,2393,284],{"class":130},[107,2395,200],{"class":130},[107,2397,2398],{"class":203},"tool",[107,2400,248],{"class":130},[107,2402,236],{"class":130},[107,2404,2406,2408,2411,2413,2415,2417,2419,2421],{"class":109,"line":2405},57,[107,2407,1580],{"class":130},[107,2409,2410],{"class":203},"tool_call_id",[107,2412,248],{"class":130},[107,2414,284],{"class":130},[107,2416,200],{"class":130},[107,2418,2271],{"class":203},[107,2420,248],{"class":130},[107,2422,236],{"class":130},[107,2424,2426,2428,2430,2432,2434],{"class":109,"line":2425},58,[107,2427,1580],{"class":130},[107,2429,298],{"class":203},[107,2431,248],{"class":130},[107,2433,284],{"class":130},[107,2435,268],{"class":130},[107,2437,2439],{"class":109,"line":2438},59,[107,2440,1612],{"class":130},[107,2442,2444,2446,2448,2450,2452,2454,2456,2458],{"class":109,"line":2443},60,[107,2445,1617],{"class":130},[107,2447,884],{"class":203},[107,2449,248],{"class":130},[107,2451,284],{"class":130},[107,2453,200],{"class":130},[107,2455,893],{"class":203},[107,2457,248],{"class":130},[107,2459,236],{"class":130},[107,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2496,2498,2500,2502,2505,2507,2509],{"class":109,"line":2462},61,[107,2464,1617],{"class":130},[107,2466,893],{"class":203},[107,2468,248],{"class":130},[107,2470,284],{"class":130},[107,2472,200],{"class":130},[107,2474,2340],{"class":203},[107,2476,1673],{"class":117},[107,2478,962],{"class":203},[107,2480,1673],{"class":117},[107,2482,284],{"class":203},[107,2484,1673],{"class":117},[107,2486,971],{"class":203},[107,2488,1673],{"class":117},[107,2490,152],{"class":203},[107,2492,1673],{"class":117},[107,2494,2495],{"class":203},"extracted_text",[107,2497,1673],{"class":117},[107,2499,284],{"class":203},[107,2501,1673],{"class":117},[107,2503,2504],{"class":203},"PM1 workshop PMT boot pressure startup test record… Final fault cause: poor contact at the negative terminal of the DC 24V power supply circuit due to a short-jumped terminal block.",[107,2506,1673],{"class":117},[107,2508,1783],{"class":203},[107,2510,207],{"class":130},[107,2512,2514],{"class":109,"line":2513},62,[107,2515,1855],{"class":130},[107,2517,2519],{"class":109,"line":2518},63,[107,2520,1860],{"class":130},[107,2522,2524],{"class":109,"line":2523},64,[107,2525,1865],{"class":130},[107,2527,2529],{"class":109,"line":2528},65,[107,2530,1575],{"class":130},[107,2532,2534,2536,2538,2540,2542,2544,2546,2548],{"class":109,"line":2533},66,[107,2535,1580],{"class":130},[107,2537,279],{"class":203},[107,2539,248],{"class":130},[107,2541,284],{"class":130},[107,2543,200],{"class":130},[107,2545,330],{"class":203},[107,2547,248],{"class":130},[107,2549,236],{"class":130},[107,2551,2553,2555,2557,2559,2561],{"class":109,"line":2552},67,[107,2554,1580],{"class":130},[107,2556,298],{"class":203},[107,2558,248],{"class":130},[107,2560,284],{"class":130},[107,2562,268],{"class":130},[107,2564,2566],{"class":109,"line":2565},68,[107,2567,1612],{"class":130},[107,2569,2571,2573,2575,2577,2579,2581,2583,2585],{"class":109,"line":2570},69,[107,2572,1617],{"class":130},[107,2574,884],{"class":203},[107,2576,248],{"class":130},[107,2578,284],{"class":130},[107,2580,200],{"class":130},[107,2582,893],{"class":203},[107,2584,248],{"class":130},[107,2586,236],{"class":130},[107,2588,2590,2592,2594,2596,2598,2600,2602],{"class":109,"line":2589},70,[107,2591,1617],{"class":130},[107,2593,893],{"class":203},[107,2595,248],{"class":130},[107,2597,284],{"class":130},[107,2599,200],{"class":130},[107,2601,1219],{"class":203},[107,2603,207],{"class":130},[107,2605,2607],{"class":109,"line":2606},71,[107,2608,1855],{"class":130},[107,2610,2612],{"class":109,"line":2611},72,[107,2613,1860],{"class":130},[107,2615,2617],{"class":109,"line":2616},73,[107,2618,2619],{"class":130},"  }\n",[107,2621,2623],{"class":109,"line":2622},74,[107,2624,256],{"class":130},[107,2626,2628,2630,2632,2634,2636,2638],{"class":109,"line":2627},75,[107,2629,440],{"class":227},[107,2631,197],{"class":130},[107,2633,248],{"class":130},[107,2635,447],{"class":203},[107,2637,248],{"class":130},[107,2639,236],{"class":130},[107,2641,2643,2645,2647,2649,2651,2653],{"class":109,"line":2642},76,[107,2644,457],{"class":227},[107,2646,197],{"class":130},[107,2648,248],{"class":130},[107,2650,464],{"class":203},[107,2652,248],{"class":130},[107,2654,236],{"class":130},[107,2656,2658],{"class":109,"line":2657},77,[107,2659,474],{"class":130},[107,2661,2663],{"class":109,"line":2662},78,[107,2664,188],{"emptyLinePlaceholder":187},[107,2666,2668,2670,2672,2674,2676,2678],{"class":109,"line":2667},79,[107,2669,485],{"class":117},[107,2671,197],{"class":130},[107,2673,149],{"class":218},[107,2675,492],{"class":130},[107,2677,495],{"class":218},[107,2679,474],{"class":130},[107,2681,2683],{"class":109,"line":2682},80,[107,2684,188],{"emptyLinePlaceholder":187},[107,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704],{"class":109,"line":2687},81,[107,2689,503],{"class":218},[107,2691,492],{"class":130},[107,2693,248],{"class":130},[107,2695,510],{"class":203},[107,2697,513],{"class":117},[107,2699,248],{"class":130},[107,2701,152],{"class":130},[107,2703,520],{"class":218},[107,2705,474],{"class":130},[107,2707,2709],{"class":109,"line":2708},82,[107,2710,188],{"emptyLinePlaceholder":187},[107,2712,2714],{"class":109,"line":2713},83,[107,2715,188],{"emptyLinePlaceholder":187},[107,2717,2719],{"class":109,"line":2718},84,[107,2720,188],{"emptyLinePlaceholder":187},[107,2722,2724,2726,2728,2730],{"class":109,"line":2723},85,[107,2725,533],{"class":117},[107,2727,197],{"class":130},[107,2729,538],{"class":218},[107,2731,221],{"class":130},[107,2733,2735,2737,2739,2741],{"class":109,"line":2734},86,[107,2736,228],{"class":227},[107,2738,197],{"class":130},[107,2740,233],{"class":218},[107,2742,236],{"class":130},[107,2744,2746,2748,2750,2752,2754,2756],{"class":109,"line":2745},87,[107,2747,557],{"class":227},[107,2749,245],{"class":130},[107,2751,248],{"class":130},[107,2753,823],{"class":203},[107,2755,248],{"class":130},[107,2757,256],{"class":130},[107,2759,2761,2763,2765,2767,2769,2771],{"class":109,"line":2760},88,[107,2762,573],{"class":227},[107,2764,197],{"class":130},[107,2766,248],{"class":130},[107,2768,1373],{"class":203},[107,2770,248],{"class":130},[107,2772,236],{"class":130},[107,2774,2776,2778],{"class":109,"line":2775},89,[107,2777,590],{"class":227},[107,2779,1385],{"class":130},[107,2781,2783],{"class":109,"line":2782},90,[107,2784,474],{"class":130},[107,2786,2788],{"class":109,"line":2787},91,[107,2789,188],{"emptyLinePlaceholder":187},[107,2791,2793,2795,2797,2799,2801,2803,2805],{"class":109,"line":2792},92,[107,2794,609],{"class":117},[107,2796,197],{"class":130},[107,2798,614],{"class":218},[107,2800,492],{"class":130},[107,2802,619],{"class":218},[107,2804,622],{"class":130},[107,2806,626],{"class":625},[107,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848],{"class":109,"line":2809},93,[107,2811,503],{"class":218},[107,2813,492],{"class":130},[107,2815,248],{"class":130},[107,2817,513],{"class":117},[107,2819,640],{"class":203},[107,2821,513],{"class":117},[107,2823,248],{"class":130},[107,2825,152],{"class":130},[107,2827,649],{"class":218},[107,2829,131],{"class":130},[107,2831,654],{"class":218},[107,2833,492],{"class":130},[107,2835,659],{"class":218},[107,2837,152],{"class":130},[107,2839,664],{"class":227},[107,2841,197],{"class":130},[107,2843,670],{"class":669},[107,2845,152],{"class":130},[107,2847,675],{"class":227},[107,2849,678],{"class":130},[64,2851,2853],{"id":2852},"example-3-multi-cube-addition-and-retrieval","Example 3: Multi-Cube addition and retrieval",[69,2855,72],{"id":2856},"when-to-use-2",[74,2858,2859,2862],{},[77,2860,2861],{},"Add memories to separate, isolated Cube spaces",[77,2863,2864],{},"You want to retrieve memories from different Cube spaces simultaneously",[69,2866,86],{"id":2867},"key-points-2",[74,2869,2870],{},[77,2871,2872],{},"Input a readable_cube_ids list containing multiple cube IDs during retrieval",[69,2874,95],{"id":2875},"full-example-code-2",[97,2877,2879],{"className":99,"code":2878,"language":101,"meta":102,"style":102},"import json\nfrom memos.api.routers.server_router import add_memories, search_memories\nfrom memos.api.product_models import APIADDRequest, APISearchRequest\n\nuser_id = \"test_user_3\"\nadd_req = APIADDRequest(\n    user_id=user_id,\n    writable_cube_ids=[\"cube_test_user_3_1\"] ,\n    messages = [\n      {\"role\": \"user\", \"content\": \"I’ve planned to travel to Guangzhou during the summer vacation. What chain hotels are available for accommodation?\"},\n      {\"role\": \"assistant\", \"content\": \"You can consider [7 Days Inn, Ji Hotel, Hilton], etc.\"},\n      {\"role\": \"user\", \"content\": \"I’ll choose 7 Days Inn.\"},\n      {\"role\": \"assistant\", \"content\": \"Okay, feel free to ask me if you have any other questions.\"}\n    ],\n    async_mode=\"sync\",\n    mode=\"fine\",\n)\n\nadd_rsp = add_memories(add_req)\nprint(\"add_memories rsp: \\n\\n\", add_rsp)\n\nadd_req = APIADDRequest(\n    user_id=user_id,\n    writable_cube_ids=[\"cube_test_user_3_2\"] ,\n    messages = [\n      {\"role\": \"user\", \"content\": \"I love you, I need you.\"},\n      {\"role\": \"assistant\", \"content\": \"Wow, I love you too\"},\n    ],\n    async_mode=\"sync\",\n    mode=\"fine\",\n)\n\nadd_rsp = add_memories(add_req)\nprint(\"add_memories rsp: \\n\\n\", add_rsp)\n\nsearch_req = APISearchRequest(\n    user_id=user_id,\n    readable_cube_ids=[\"cube_test_user_3_1\", \"cube_test_user_3_2\"],\n    query=\"Please recommend a hotel, Love u u\",\n    include_preference=True,\n)\n\nsearch_rsp = search_memories(search_req).data\nprint(\"\\n\\nsearch_rsp: \\n\\n\", json.dumps(search_rsp, indent=2, ensure_ascii=False))\n",[104,2880,2881,2887,2913,2935,2939,2952,2962,2972,2990,2998,3034,3070,3106,3142,3146,3160,3174,3178,3182,3196,3216,3220,3230,3240,3257,3265,3302,3339,3343,3357,3371,3375,3379,3393,3413,3417,3427,3437,3459,3474,3480,3484,3488,3504],{"__ignoreMap":102},[107,2882,2883,2885],{"class":109,"line":110},[107,2884,114],{"class":113},[107,2886,118],{"class":117},[107,2888,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911],{"class":109,"line":121},[107,2890,124],{"class":113},[107,2892,127],{"class":117},[107,2894,131],{"class":130},[107,2896,134],{"class":117},[107,2898,131],{"class":130},[107,2900,139],{"class":117},[107,2902,131],{"class":130},[107,2904,144],{"class":117},[107,2906,114],{"class":113},[107,2908,149],{"class":117},[107,2910,152],{"class":130},[107,2912,155],{"class":117},[107,2914,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933],{"class":109,"line":158},[107,2916,124],{"class":113},[107,2918,127],{"class":117},[107,2920,131],{"class":130},[107,2922,134],{"class":117},[107,2924,131],{"class":130},[107,2926,171],{"class":117},[107,2928,114],{"class":113},[107,2930,176],{"class":117},[107,2932,152],{"class":130},[107,2934,181],{"class":117},[107,2936,2937],{"class":109,"line":184},[107,2938,188],{"emptyLinePlaceholder":187},[107,2940,2941,2943,2945,2947,2950],{"class":109,"line":191},[107,2942,194],{"class":117},[107,2944,197],{"class":130},[107,2946,200],{"class":130},[107,2948,2949],{"class":203},"test_user_3",[107,2951,207],{"class":130},[107,2953,2954,2956,2958,2960],{"class":109,"line":210},[107,2955,213],{"class":117},[107,2957,197],{"class":130},[107,2959,176],{"class":218},[107,2961,221],{"class":130},[107,2963,2964,2966,2968,2970],{"class":109,"line":224},[107,2965,228],{"class":227},[107,2967,197],{"class":130},[107,2969,233],{"class":218},[107,2971,236],{"class":130},[107,2973,2974,2976,2978,2980,2983,2985,2987],{"class":109,"line":239},[107,2975,242],{"class":227},[107,2977,245],{"class":130},[107,2979,248],{"class":130},[107,2981,2982],{"class":203},"cube_test_user_3_1",[107,2984,248],{"class":130},[107,2986,1843],{"class":130},[107,2988,2989],{"class":130}," ,\n",[107,2991,2992,2994,2996],{"class":109,"line":259},[107,2993,262],{"class":227},[107,2995,265],{"class":130},[107,2997,268],{"class":130},[107,2999,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032],{"class":109,"line":271},[107,3001,274],{"class":130},[107,3003,248],{"class":130},[107,3005,279],{"class":203},[107,3007,248],{"class":130},[107,3009,284],{"class":130},[107,3011,200],{"class":130},[107,3013,289],{"class":203},[107,3015,248],{"class":130},[107,3017,152],{"class":130},[107,3019,200],{"class":130},[107,3021,298],{"class":203},[107,3023,248],{"class":130},[107,3025,284],{"class":130},[107,3027,200],{"class":130},[107,3029,307],{"class":203},[107,3031,248],{"class":130},[107,3033,312],{"class":130},[107,3035,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068],{"class":109,"line":315},[107,3037,274],{"class":130},[107,3039,248],{"class":130},[107,3041,279],{"class":203},[107,3043,248],{"class":130},[107,3045,284],{"class":130},[107,3047,200],{"class":130},[107,3049,330],{"class":203},[107,3051,248],{"class":130},[107,3053,152],{"class":130},[107,3055,200],{"class":130},[107,3057,298],{"class":203},[107,3059,248],{"class":130},[107,3061,284],{"class":130},[107,3063,200],{"class":130},[107,3065,347],{"class":203},[107,3067,248],{"class":130},[107,3069,312],{"class":130},[107,3071,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104],{"class":109,"line":354},[107,3073,274],{"class":130},[107,3075,248],{"class":130},[107,3077,279],{"class":203},[107,3079,248],{"class":130},[107,3081,284],{"class":130},[107,3083,200],{"class":130},[107,3085,289],{"class":203},[107,3087,248],{"class":130},[107,3089,152],{"class":130},[107,3091,200],{"class":130},[107,3093,298],{"class":203},[107,3095,248],{"class":130},[107,3097,284],{"class":130},[107,3099,200],{"class":130},[107,3101,385],{"class":203},[107,3103,248],{"class":130},[107,3105,312],{"class":130},[107,3107,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140],{"class":109,"line":392},[107,3109,274],{"class":130},[107,3111,248],{"class":130},[107,3113,279],{"class":203},[107,3115,248],{"class":130},[107,3117,284],{"class":130},[107,3119,200],{"class":130},[107,3121,330],{"class":203},[107,3123,248],{"class":130},[107,3125,152],{"class":130},[107,3127,200],{"class":130},[107,3129,298],{"class":203},[107,3131,248],{"class":130},[107,3133,284],{"class":130},[107,3135,200],{"class":130},[107,3137,423],{"class":203},[107,3139,248],{"class":130},[107,3141,428],{"class":130},[107,3143,3144],{"class":109,"line":431},[107,3145,434],{"class":130},[107,3147,3148,3150,3152,3154,3156,3158],{"class":109,"line":437},[107,3149,440],{"class":227},[107,3151,197],{"class":130},[107,3153,248],{"class":130},[107,3155,447],{"class":203},[107,3157,248],{"class":130},[107,3159,236],{"class":130},[107,3161,3162,3164,3166,3168,3170,3172],{"class":109,"line":454},[107,3163,457],{"class":227},[107,3165,197],{"class":130},[107,3167,248],{"class":130},[107,3169,464],{"class":203},[107,3171,248],{"class":130},[107,3173,236],{"class":130},[107,3175,3176],{"class":109,"line":471},[107,3177,474],{"class":130},[107,3179,3180],{"class":109,"line":477},[107,3181,188],{"emptyLinePlaceholder":187},[107,3183,3184,3186,3188,3190,3192,3194],{"class":109,"line":482},[107,3185,485],{"class":117},[107,3187,197],{"class":130},[107,3189,149],{"class":218},[107,3191,492],{"class":130},[107,3193,495],{"class":218},[107,3195,474],{"class":130},[107,3197,3198,3200,3202,3204,3206,3208,3210,3212,3214],{"class":109,"line":500},[107,3199,503],{"class":218},[107,3201,492],{"class":130},[107,3203,248],{"class":130},[107,3205,510],{"class":203},[107,3207,513],{"class":117},[107,3209,248],{"class":130},[107,3211,152],{"class":130},[107,3213,520],{"class":218},[107,3215,474],{"class":130},[107,3217,3218],{"class":109,"line":525},[107,3219,188],{"emptyLinePlaceholder":187},[107,3221,3222,3224,3226,3228],{"class":109,"line":530},[107,3223,213],{"class":117},[107,3225,197],{"class":130},[107,3227,176],{"class":218},[107,3229,221],{"class":130},[107,3231,3232,3234,3236,3238],{"class":109,"line":543},[107,3233,228],{"class":227},[107,3235,197],{"class":130},[107,3237,233],{"class":218},[107,3239,236],{"class":130},[107,3241,3242,3244,3246,3248,3251,3253,3255],{"class":109,"line":554},[107,3243,242],{"class":227},[107,3245,245],{"class":130},[107,3247,248],{"class":130},[107,3249,3250],{"class":203},"cube_test_user_3_2",[107,3252,248],{"class":130},[107,3254,1843],{"class":130},[107,3256,2989],{"class":130},[107,3258,3259,3261,3263],{"class":109,"line":570},[107,3260,262],{"class":227},[107,3262,265],{"class":130},[107,3264,268],{"class":130},[107,3266,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3298,3300],{"class":109,"line":587},[107,3268,274],{"class":130},[107,3270,248],{"class":130},[107,3272,279],{"class":203},[107,3274,248],{"class":130},[107,3276,284],{"class":130},[107,3278,200],{"class":130},[107,3280,289],{"class":203},[107,3282,248],{"class":130},[107,3284,152],{"class":130},[107,3286,200],{"class":130},[107,3288,298],{"class":203},[107,3290,248],{"class":130},[107,3292,284],{"class":130},[107,3294,200],{"class":130},[107,3296,3297],{"class":203},"I love you, I need you.",[107,3299,248],{"class":130},[107,3301,312],{"class":130},[107,3303,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3335,3337],{"class":109,"line":596},[107,3305,274],{"class":130},[107,3307,248],{"class":130},[107,3309,279],{"class":203},[107,3311,248],{"class":130},[107,3313,284],{"class":130},[107,3315,200],{"class":130},[107,3317,330],{"class":203},[107,3319,248],{"class":130},[107,3321,152],{"class":130},[107,3323,200],{"class":130},[107,3325,298],{"class":203},[107,3327,248],{"class":130},[107,3329,284],{"class":130},[107,3331,200],{"class":130},[107,3333,3334],{"class":203},"Wow, I love you too",[107,3336,248],{"class":130},[107,3338,312],{"class":130},[107,3340,3341],{"class":109,"line":601},[107,3342,434],{"class":130},[107,3344,3345,3347,3349,3351,3353,3355],{"class":109,"line":606},[107,3346,440],{"class":227},[107,3348,197],{"class":130},[107,3350,248],{"class":130},[107,3352,447],{"class":203},[107,3354,248],{"class":130},[107,3356,236],{"class":130},[107,3358,3359,3361,3363,3365,3367,3369],{"class":109,"line":629},[107,3360,457],{"class":227},[107,3362,197],{"class":130},[107,3364,248],{"class":130},[107,3366,464],{"class":203},[107,3368,248],{"class":130},[107,3370,236],{"class":130},[107,3372,3373],{"class":109,"line":1187},[107,3374,474],{"class":130},[107,3376,3377],{"class":109,"line":1206},[107,3378,188],{"emptyLinePlaceholder":187},[107,3380,3381,3383,3385,3387,3389,3391],{"class":109,"line":1224},[107,3382,485],{"class":117},[107,3384,197],{"class":130},[107,3386,149],{"class":218},[107,3388,492],{"class":130},[107,3390,495],{"class":218},[107,3392,474],{"class":130},[107,3394,3395,3397,3399,3401,3403,3405,3407,3409,3411],{"class":109,"line":1230},[107,3396,503],{"class":218},[107,3398,492],{"class":130},[107,3400,248],{"class":130},[107,3402,510],{"class":203},[107,3404,513],{"class":117},[107,3406,248],{"class":130},[107,3408,152],{"class":130},[107,3410,520],{"class":218},[107,3412,474],{"class":130},[107,3414,3415],{"class":109,"line":1235},[107,3416,188],{"emptyLinePlaceholder":187},[107,3418,3419,3421,3423,3425],{"class":109,"line":1241},[107,3420,533],{"class":117},[107,3422,197],{"class":130},[107,3424,538],{"class":218},[107,3426,221],{"class":130},[107,3428,3429,3431,3433,3435],{"class":109,"line":1246},[107,3430,228],{"class":227},[107,3432,197],{"class":130},[107,3434,233],{"class":218},[107,3436,236],{"class":130},[107,3438,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457],{"class":109,"line":1261},[107,3440,557],{"class":227},[107,3442,245],{"class":130},[107,3444,248],{"class":130},[107,3446,2982],{"class":203},[107,3448,248],{"class":130},[107,3450,152],{"class":130},[107,3452,200],{"class":130},[107,3454,3250],{"class":203},[107,3456,248],{"class":130},[107,3458,256],{"class":130},[107,3460,3461,3463,3465,3467,3470,3472],{"class":109,"line":1276},[107,3462,573],{"class":227},[107,3464,197],{"class":130},[107,3466,248],{"class":130},[107,3468,3469],{"class":203},"Please recommend a hotel, Love u u",[107,3471,248],{"class":130},[107,3473,236],{"class":130},[107,3475,3476,3478],{"class":109,"line":1281},[107,3477,590],{"class":227},[107,3479,593],{"class":130},[107,3481,3482],{"class":109,"line":1286},[107,3483,474],{"class":130},[107,3485,3486],{"class":109,"line":1301},[107,3487,188],{"emptyLinePlaceholder":187},[107,3489,3490,3492,3494,3496,3498,3500,3502],{"class":109,"line":1322},[107,3491,609],{"class":117},[107,3493,197],{"class":130},[107,3495,614],{"class":218},[107,3497,492],{"class":130},[107,3499,619],{"class":218},[107,3501,622],{"class":130},[107,3503,626],{"class":625},[107,3505,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544],{"class":109,"line":1327},[107,3507,503],{"class":218},[107,3509,492],{"class":130},[107,3511,248],{"class":130},[107,3513,513],{"class":117},[107,3515,640],{"class":203},[107,3517,513],{"class":117},[107,3519,248],{"class":130},[107,3521,152],{"class":130},[107,3523,649],{"class":218},[107,3525,131],{"class":130},[107,3527,654],{"class":218},[107,3529,492],{"class":130},[107,3531,659],{"class":218},[107,3533,152],{"class":130},[107,3535,664],{"class":227},[107,3537,197],{"class":130},[107,3539,670],{"class":669},[107,3541,152],{"class":130},[107,3543,675],{"class":227},[107,3545,678],{"class":130},[64,3547,3549],{"id":3548},"example-4-kvcachememory-only","Example 4: KVCacheMemory Only",[69,3551,72],{"id":3552},"when-to-use-3",[74,3554,3555,3558,3561],{},[77,3556,3557],{},"You want short-term working memory for faster multi-turn conversation.",[77,3559,3560],{},"Useful for chatbot session acceleration or prompt reuse.",[77,3562,3563],{},"Best for caching hidden states / KV pairs.",[69,3565,86],{"id":3566},"key-points-3",[74,3568,3569,3572,3575],{},[77,3570,3571],{},"Uses KVCacheMemory with no explicit text memory.",[77,3573,3574],{},"Demonstrates extract → add → merge → get → delete.",[77,3576,3577],{},"Shows how to dump/load KV caches.",[69,3579,95],{"id":3580},"full-example-code-3",[97,3582,3584],{"className":99,"code":3583,"language":101,"meta":102,"style":102},"from memos.configs.memory import MemoryConfigFactory\nfrom memos.memories.factory import MemoryFactory\n\n# Create config for KVCacheMemory (HuggingFace backend)\nconfig = MemoryConfigFactory(\n    backend=\"kv_cache\",\n    config={\n        \"extractor_llm\": {\n            \"backend\": \"huggingface\",\n            \"config\": {\n                \"model_name_or_path\": \"Qwen/Qwen3-0.6B\",\n                \"max_tokens\": 32,\n                \"add_generation_prompt\": True,\n                \"remove_think_prefix\": True,\n            },\n        },\n    },\n)\n\n# Instantiate KVCacheMemory\nkv_mem = MemoryFactory.from_config(config)\n\n# Extract a KVCacheItem (DynamicCache)\nprompt = [\n    {\"role\": \"user\", \"content\": \"What is MemOS?\"},\n    {\"role\": \"assistant\", \"content\": \"MemOS is a memory operating system for LLMs.\"},\n]\nprint(\"===== Extract KVCacheItem =====\")\ncache_item = kv_mem.extract(prompt)\nprint(cache_item)\n\n# Add the cache to memory\nkv_mem.add([cache_item])\nprint(\"All caches:\", kv_mem.get_all())\n\n# Get by ID\nretrieved = kv_mem.get(cache_item.id)\nprint(\"Retrieved:\", retrieved)\n\n# Merge caches (simulate multi-turn)\nitem2 = kv_mem.extract([{\"role\": \"user\", \"content\": \"Tell me a joke.\"}])\nkv_mem.add([item2])\nmerged = kv_mem.get_cache([cache_item.id, item2.id])\nprint(\"Merged cache:\", merged)\n\n# Delete one\nkv_mem.delete([cache_item.id])\nprint(\"After delete:\", kv_mem.get_all())\n\n# Dump & load caches\nkv_mem.dump(\"tmp/kv_mem\")\nprint(\"Dumped to tmp/kv_mem\")\nkv_mem.delete_all()\nkv_mem.load(\"tmp/kv_mem\")\nprint(\"Loaded caches:\", kv_mem.get_all())\n",[104,3585,3586,3607,3628,3632,3638,3650,3666,3674,3687,3707,3720,3741,3757,3771,3784,3789,3793,3798,3802,3806,3811,3832,3836,3841,3850,3888,3925,3930,3945,3967,3978,3982,3987,4005,4030,4034,4039,4063,4083,4087,4092,4142,4157,4190,4210,4214,4219,4238,4261,4265,4270,4290,4305,4317,4336],{"__ignoreMap":102},[107,3587,3588,3590,3592,3594,3597,3599,3602,3604],{"class":109,"line":110},[107,3589,124],{"class":113},[107,3591,127],{"class":117},[107,3593,131],{"class":130},[107,3595,3596],{"class":117},"configs",[107,3598,131],{"class":130},[107,3600,3601],{"class":117},"memory ",[107,3603,114],{"class":113},[107,3605,3606],{"class":117}," MemoryConfigFactory\n",[107,3608,3609,3611,3613,3615,3618,3620,3623,3625],{"class":109,"line":121},[107,3610,124],{"class":113},[107,3612,127],{"class":117},[107,3614,131],{"class":130},[107,3616,3617],{"class":117},"memories",[107,3619,131],{"class":130},[107,3621,3622],{"class":117},"factory ",[107,3624,114],{"class":113},[107,3626,3627],{"class":117}," MemoryFactory\n",[107,3629,3630],{"class":109,"line":158},[107,3631,188],{"emptyLinePlaceholder":187},[107,3633,3634],{"class":109,"line":184},[107,3635,3637],{"class":3636},"sHwdD","# Create config for KVCacheMemory (HuggingFace backend)\n",[107,3639,3640,3643,3645,3648],{"class":109,"line":191},[107,3641,3642],{"class":117},"config ",[107,3644,197],{"class":130},[107,3646,3647],{"class":218}," MemoryConfigFactory",[107,3649,221],{"class":130},[107,3651,3652,3655,3657,3659,3662,3664],{"class":109,"line":210},[107,3653,3654],{"class":227},"    backend",[107,3656,197],{"class":130},[107,3658,248],{"class":130},[107,3660,3661],{"class":203},"kv_cache",[107,3663,248],{"class":130},[107,3665,236],{"class":130},[107,3667,3668,3671],{"class":109,"line":224},[107,3669,3670],{"class":227},"    config",[107,3672,3673],{"class":130},"={\n",[107,3675,3676,3678,3681,3683,3685],{"class":109,"line":239},[107,3677,1617],{"class":130},[107,3679,3680],{"class":203},"extractor_llm",[107,3682,248],{"class":130},[107,3684,284],{"class":130},[107,3686,955],{"class":130},[107,3688,3689,3691,3694,3696,3698,3700,3703,3705],{"class":109,"line":259},[107,3690,845],{"class":130},[107,3692,3693],{"class":203},"backend",[107,3695,248],{"class":130},[107,3697,284],{"class":130},[107,3699,200],{"class":130},[107,3701,3702],{"class":203},"huggingface",[107,3704,248],{"class":130},[107,3706,236],{"class":130},[107,3708,3709,3711,3714,3716,3718],{"class":109,"line":271},[107,3710,845],{"class":130},[107,3712,3713],{"class":203},"config",[107,3715,248],{"class":130},[107,3717,284],{"class":130},[107,3719,955],{"class":130},[107,3721,3722,3725,3728,3730,3732,3734,3737,3739],{"class":109,"line":315},[107,3723,3724],{"class":130},"                \"",[107,3726,3727],{"class":203},"model_name_or_path",[107,3729,248],{"class":130},[107,3731,284],{"class":130},[107,3733,200],{"class":130},[107,3735,3736],{"class":203},"Qwen/Qwen3-0.6B",[107,3738,248],{"class":130},[107,3740,236],{"class":130},[107,3742,3743,3745,3748,3750,3752,3755],{"class":109,"line":354},[107,3744,3724],{"class":130},[107,3746,3747],{"class":203},"max_tokens",[107,3749,248],{"class":130},[107,3751,284],{"class":130},[107,3753,3754],{"class":669}," 32",[107,3756,236],{"class":130},[107,3758,3759,3761,3764,3766,3768],{"class":109,"line":392},[107,3760,3724],{"class":130},[107,3762,3763],{"class":203},"add_generation_prompt",[107,3765,248],{"class":130},[107,3767,284],{"class":130},[107,3769,3770],{"class":130}," True,\n",[107,3772,3773,3775,3778,3780,3782],{"class":109,"line":431},[107,3774,3724],{"class":130},[107,3776,3777],{"class":203},"remove_think_prefix",[107,3779,248],{"class":130},[107,3781,284],{"class":130},[107,3783,3770],{"class":130},[107,3785,3786],{"class":109,"line":437},[107,3787,3788],{"class":130},"            },\n",[107,3790,3791],{"class":109,"line":454},[107,3792,1146],{"class":130},[107,3794,3795],{"class":109,"line":471},[107,3796,3797],{"class":130},"    },\n",[107,3799,3800],{"class":109,"line":477},[107,3801,474],{"class":130},[107,3803,3804],{"class":109,"line":482},[107,3805,188],{"emptyLinePlaceholder":187},[107,3807,3808],{"class":109,"line":500},[107,3809,3810],{"class":3636},"# Instantiate KVCacheMemory\n",[107,3812,3813,3816,3818,3821,3823,3826,3828,3830],{"class":109,"line":525},[107,3814,3815],{"class":117},"kv_mem ",[107,3817,197],{"class":130},[107,3819,3820],{"class":117}," MemoryFactory",[107,3822,131],{"class":130},[107,3824,3825],{"class":218},"from_config",[107,3827,492],{"class":130},[107,3829,3713],{"class":218},[107,3831,474],{"class":130},[107,3833,3834],{"class":109,"line":530},[107,3835,188],{"emptyLinePlaceholder":187},[107,3837,3838],{"class":109,"line":543},[107,3839,3840],{"class":3636},"# Extract a KVCacheItem (DynamicCache)\n",[107,3842,3843,3846,3848],{"class":109,"line":554},[107,3844,3845],{"class":117},"prompt ",[107,3847,197],{"class":130},[107,3849,268],{"class":130},[107,3851,3852,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877,3879,3881,3884,3886],{"class":109,"line":570},[107,3853,3854],{"class":130},"    {",[107,3856,248],{"class":130},[107,3858,279],{"class":203},[107,3860,248],{"class":130},[107,3862,284],{"class":130},[107,3864,200],{"class":130},[107,3866,289],{"class":203},[107,3868,248],{"class":130},[107,3870,152],{"class":130},[107,3872,200],{"class":130},[107,3874,298],{"class":203},[107,3876,248],{"class":130},[107,3878,284],{"class":130},[107,3880,200],{"class":130},[107,3882,3883],{"class":203},"What is MemOS?",[107,3885,248],{"class":130},[107,3887,312],{"class":130},[107,3889,3890,3892,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3921,3923],{"class":109,"line":587},[107,3891,3854],{"class":130},[107,3893,248],{"class":130},[107,3895,279],{"class":203},[107,3897,248],{"class":130},[107,3899,284],{"class":130},[107,3901,200],{"class":130},[107,3903,330],{"class":203},[107,3905,248],{"class":130},[107,3907,152],{"class":130},[107,3909,200],{"class":130},[107,3911,298],{"class":203},[107,3913,248],{"class":130},[107,3915,284],{"class":130},[107,3917,200],{"class":130},[107,3919,3920],{"class":203},"MemOS is a memory operating system for LLMs.",[107,3922,248],{"class":130},[107,3924,312],{"class":130},[107,3926,3927],{"class":109,"line":596},[107,3928,3929],{"class":130},"]\n",[107,3931,3932,3934,3936,3938,3941,3943],{"class":109,"line":601},[107,3933,503],{"class":218},[107,3935,492],{"class":130},[107,3937,248],{"class":130},[107,3939,3940],{"class":203},"===== Extract KVCacheItem =====",[107,3942,248],{"class":130},[107,3944,474],{"class":130},[107,3946,3947,3950,3952,3955,3957,3960,3962,3965],{"class":109,"line":606},[107,3948,3949],{"class":117},"cache_item ",[107,3951,197],{"class":130},[107,3953,3954],{"class":117}," kv_mem",[107,3956,131],{"class":130},[107,3958,3959],{"class":218},"extract",[107,3961,492],{"class":130},[107,3963,3964],{"class":218},"prompt",[107,3966,474],{"class":130},[107,3968,3969,3971,3973,3976],{"class":109,"line":629},[107,3970,503],{"class":218},[107,3972,492],{"class":130},[107,3974,3975],{"class":218},"cache_item",[107,3977,474],{"class":130},[107,3979,3980],{"class":109,"line":1187},[107,3981,188],{"emptyLinePlaceholder":187},[107,3983,3984],{"class":109,"line":1206},[107,3985,3986],{"class":3636},"# Add the cache to memory\n",[107,3988,3989,3992,3994,3997,4000,4002],{"class":109,"line":1224},[107,3990,3991],{"class":117},"kv_mem",[107,3993,131],{"class":130},[107,3995,3996],{"class":218},"add",[107,3998,3999],{"class":130},"([",[107,4001,3975],{"class":218},[107,4003,4004],{"class":130},"])\n",[107,4006,4007,4009,4011,4013,4016,4018,4020,4022,4024,4027],{"class":109,"line":1230},[107,4008,503],{"class":218},[107,4010,492],{"class":130},[107,4012,248],{"class":130},[107,4014,4015],{"class":203},"All caches:",[107,4017,248],{"class":130},[107,4019,152],{"class":130},[107,4021,3954],{"class":218},[107,4023,131],{"class":130},[107,4025,4026],{"class":218},"get_all",[107,4028,4029],{"class":130},"())\n",[107,4031,4032],{"class":109,"line":1235},[107,4033,188],{"emptyLinePlaceholder":187},[107,4035,4036],{"class":109,"line":1241},[107,4037,4038],{"class":3636},"# Get by ID\n",[107,4040,4041,4044,4046,4048,4050,4053,4055,4057,4059,4061],{"class":109,"line":1246},[107,4042,4043],{"class":117},"retrieved ",[107,4045,197],{"class":130},[107,4047,3954],{"class":117},[107,4049,131],{"class":130},[107,4051,4052],{"class":218},"get",[107,4054,492],{"class":130},[107,4056,3975],{"class":218},[107,4058,131],{"class":130},[107,4060,2262],{"class":625},[107,4062,474],{"class":130},[107,4064,4065,4067,4069,4071,4074,4076,4078,4081],{"class":109,"line":1261},[107,4066,503],{"class":218},[107,4068,492],{"class":130},[107,4070,248],{"class":130},[107,4072,4073],{"class":203},"Retrieved:",[107,4075,248],{"class":130},[107,4077,152],{"class":130},[107,4079,4080],{"class":218}," retrieved",[107,4082,474],{"class":130},[107,4084,4085],{"class":109,"line":1276},[107,4086,188],{"emptyLinePlaceholder":187},[107,4088,4089],{"class":109,"line":1281},[107,4090,4091],{"class":3636},"# Merge caches (simulate multi-turn)\n",[107,4093,4094,4097,4099,4101,4103,4105,4108,4110,4112,4114,4116,4118,4120,4122,4124,4126,4128,4130,4132,4134,4137,4139],{"class":109,"line":1286},[107,4095,4096],{"class":117},"item2 ",[107,4098,197],{"class":130},[107,4100,3954],{"class":117},[107,4102,131],{"class":130},[107,4104,3959],{"class":218},[107,4106,4107],{"class":130},"([{",[107,4109,248],{"class":130},[107,4111,279],{"class":203},[107,4113,248],{"class":130},[107,4115,284],{"class":130},[107,4117,200],{"class":130},[107,4119,289],{"class":203},[107,4121,248],{"class":130},[107,4123,152],{"class":130},[107,4125,200],{"class":130},[107,4127,298],{"class":203},[107,4129,248],{"class":130},[107,4131,284],{"class":130},[107,4133,200],{"class":130},[107,4135,4136],{"class":203},"Tell me a joke.",[107,4138,248],{"class":130},[107,4140,4141],{"class":130},"}])\n",[107,4143,4144,4146,4148,4150,4152,4155],{"class":109,"line":1301},[107,4145,3991],{"class":117},[107,4147,131],{"class":130},[107,4149,3996],{"class":218},[107,4151,3999],{"class":130},[107,4153,4154],{"class":218},"item2",[107,4156,4004],{"class":130},[107,4158,4159,4162,4164,4166,4168,4171,4173,4175,4177,4179,4181,4184,4186,4188],{"class":109,"line":1322},[107,4160,4161],{"class":117},"merged ",[107,4163,197],{"class":130},[107,4165,3954],{"class":117},[107,4167,131],{"class":130},[107,4169,4170],{"class":218},"get_cache",[107,4172,3999],{"class":130},[107,4174,3975],{"class":218},[107,4176,131],{"class":130},[107,4178,2262],{"class":625},[107,4180,152],{"class":130},[107,4182,4183],{"class":218}," item2",[107,4185,131],{"class":130},[107,4187,2262],{"class":625},[107,4189,4004],{"class":130},[107,4191,4192,4194,4196,4198,4201,4203,4205,4208],{"class":109,"line":1327},[107,4193,503],{"class":218},[107,4195,492],{"class":130},[107,4197,248],{"class":130},[107,4199,4200],{"class":203},"Merged cache:",[107,4202,248],{"class":130},[107,4204,152],{"class":130},[107,4206,4207],{"class":218}," merged",[107,4209,474],{"class":130},[107,4211,4212],{"class":109,"line":1338},[107,4213,188],{"emptyLinePlaceholder":187},[107,4215,4216],{"class":109,"line":1349},[107,4217,4218],{"class":3636},"# Delete one\n",[107,4220,4221,4223,4225,4228,4230,4232,4234,4236],{"class":109,"line":1364},[107,4222,3991],{"class":117},[107,4224,131],{"class":130},[107,4226,4227],{"class":218},"delete",[107,4229,3999],{"class":130},[107,4231,3975],{"class":218},[107,4233,131],{"class":130},[107,4235,2262],{"class":625},[107,4237,4004],{"class":130},[107,4239,4240,4242,4244,4246,4249,4251,4253,4255,4257,4259],{"class":109,"line":1380},[107,4241,503],{"class":218},[107,4243,492],{"class":130},[107,4245,248],{"class":130},[107,4247,4248],{"class":203},"After delete:",[107,4250,248],{"class":130},[107,4252,152],{"class":130},[107,4254,3954],{"class":218},[107,4256,131],{"class":130},[107,4258,4026],{"class":218},[107,4260,4029],{"class":130},[107,4262,4263],{"class":109,"line":1388},[107,4264,188],{"emptyLinePlaceholder":187},[107,4266,4267],{"class":109,"line":1393},[107,4268,4269],{"class":3636},"# Dump & load caches\n",[107,4271,4272,4274,4276,4279,4281,4283,4286,4288],{"class":109,"line":1410},[107,4273,3991],{"class":117},[107,4275,131],{"class":130},[107,4277,4278],{"class":218},"dump",[107,4280,492],{"class":130},[107,4282,248],{"class":130},[107,4284,4285],{"class":203},"tmp/kv_mem",[107,4287,248],{"class":130},[107,4289,474],{"class":130},[107,4291,4292,4294,4296,4298,4301,4303],{"class":109,"line":2365},[107,4293,503],{"class":218},[107,4295,492],{"class":130},[107,4297,248],{"class":130},[107,4299,4300],{"class":203},"Dumped to tmp/kv_mem",[107,4302,248],{"class":130},[107,4304,474],{"class":130},[107,4306,4307,4309,4311,4314],{"class":109,"line":2370},[107,4308,3991],{"class":117},[107,4310,131],{"class":130},[107,4312,4313],{"class":218},"delete_all",[107,4315,4316],{"class":130},"()\n",[107,4318,4319,4321,4323,4326,4328,4330,4332,4334],{"class":109,"line":2375},[107,4320,3991],{"class":117},[107,4322,131],{"class":130},[107,4324,4325],{"class":218},"load",[107,4327,492],{"class":130},[107,4329,248],{"class":130},[107,4331,4285],{"class":203},[107,4333,248],{"class":130},[107,4335,474],{"class":130},[107,4337,4338,4340,4342,4344,4347,4349,4351,4353,4355,4357],{"class":109,"line":2380},[107,4339,503],{"class":218},[107,4341,492],{"class":130},[107,4343,248],{"class":130},[107,4345,4346],{"class":203},"Loaded caches:",[107,4348,248],{"class":130},[107,4350,152],{"class":130},[107,4352,3954],{"class":218},[107,4354,131],{"class":130},[107,4356,4026],{"class":218},[107,4358,4029],{"class":130},[64,4360,4362],{"id":4361},"example-5-hybrid","Example 5: Hybrid",[69,4364,72],{"id":4365},"when-to-use-4",[74,4367,4368,4371,4374],{},[77,4369,4370],{},"You want long-term explainable memory and short-term fast context together.",[77,4372,4373],{},"Ideal for complex agents that plan, remember facts, and keep chat context.",[77,4375,4376],{},"Demonstrates multi-memory orchestration.",[69,4378,4380],{"id":4379},"how-it-works","How It Works:",[74,4382,4383,4390,4396],{},[77,4384,4385,4389],{},[4386,4387,4388],"strong",{},"TreeTextMemory"," stores your long-term knowledge in a graph DB (Neo4j).",[77,4391,4392,4395],{},[4386,4393,4394],{},"KVCacheMemory"," stores recent or stable context as activation caches.",[77,4397,4398,4399,4402,4403,4406],{},"Both work together in a single ",[4386,4400,4401],{},"MemCube",", managed by your ",[104,4404,4405],{},"MOS"," pipeline.",[69,4408,95],{"id":4409},"full-example-code-4",[97,4411,4413],{"className":99,"code":4412,"language":101,"meta":102,"style":102},"import os\n\nfrom memos.configs.mem_cube import GeneralMemCubeConfig\nfrom memos.configs.mem_os import MOSConfig\nfrom memos.mem_cube.general import GeneralMemCube\nfrom memos.mem_os.main import MOS\n\n# 1. Setup CUDA (if needed) — for local GPU inference\nos.environ[\"CUDA_VISIBLE_DEVICES\"] = \"1\"\n\n# 2. Define user & paths\nuser_id = \"root\"\ncube_id = \"root/mem_cube_kv_cache\"\ntmp_cube_path = \"/tmp/default/mem_cube_5\"\n\n# 3. Initialize MOSConfig\nmos_config = MOSConfig.from_json_file(\"examples/data/config/simple_treekvcache_memos_config.json\")\nmos = MOS(mos_config)\n\n# 4. Initialize the MemCube (TreeTextMemory + KVCacheMemory)\ncube_config = GeneralMemCubeConfig.from_json_file(\n    \"examples/data/config/simple_treekvcache_cube_config.json\"\n)\nmem_cube = GeneralMemCube(cube_config)\n\n# 5. Dump the MemCube to disk\ntry:\n    mem_cube.dump(tmp_cube_path)\nexcept Exception as e:\n    print(e)\n\n# 6. Register the MemCube explicitly\nmos.register_mem_cube(tmp_cube_path, mem_cube_id=cube_id, user_id=user_id)\n\n# 7. Extract and add a KVCache memory (simulate stable context)\nextract_kvmem = mos.mem_cubes[cube_id].act_mem.extract(\"I like football\")\nmos.mem_cubes[cube_id].act_mem.add([extract_kvmem])\n\n# 8. Start chatting — now your chat uses:\n#    - TreeTextMemory: for structured multi-hop retrieval\n#    - KVCacheMemory: for fast context injection\nwhile True:\n    user_input = input(\"👤 [You] \").strip()\n    print()\n    response = mos.chat(user_input)\n    print(f\"🤖 [Assistant] {response}\\n\")\n\nprint(\"📢 [System] MemChat has stopped.\")\n",[104,4414,4415,4422,4426,4446,4466,4487,4508,4512,4517,4547,4551,4556,4569,4583,4597,4601,4606,4632,4649,4653,4658,4674,4683,4687,4703,4707,4712,4720,4736,4753,4765,4769,4774,4809,4813,4818,4858,4885,4889,4894,4899,4904,4912,4938,4944,4965,4991,4995],{"__ignoreMap":102},[107,4416,4417,4419],{"class":109,"line":110},[107,4418,114],{"class":113},[107,4420,4421],{"class":117}," os\n",[107,4423,4424],{"class":109,"line":121},[107,4425,188],{"emptyLinePlaceholder":187},[107,4427,4428,4430,4432,4434,4436,4438,4441,4443],{"class":109,"line":158},[107,4429,124],{"class":113},[107,4431,127],{"class":117},[107,4433,131],{"class":130},[107,4435,3596],{"class":117},[107,4437,131],{"class":130},[107,4439,4440],{"class":117},"mem_cube ",[107,4442,114],{"class":113},[107,4444,4445],{"class":117}," GeneralMemCubeConfig\n",[107,4447,4448,4450,4452,4454,4456,4458,4461,4463],{"class":109,"line":184},[107,4449,124],{"class":113},[107,4451,127],{"class":117},[107,4453,131],{"class":130},[107,4455,3596],{"class":117},[107,4457,131],{"class":130},[107,4459,4460],{"class":117},"mem_os ",[107,4462,114],{"class":113},[107,4464,4465],{"class":117}," MOSConfig\n",[107,4467,4468,4470,4472,4474,4477,4479,4482,4484],{"class":109,"line":191},[107,4469,124],{"class":113},[107,4471,127],{"class":117},[107,4473,131],{"class":130},[107,4475,4476],{"class":117},"mem_cube",[107,4478,131],{"class":130},[107,4480,4481],{"class":117},"general ",[107,4483,114],{"class":113},[107,4485,4486],{"class":117}," GeneralMemCube\n",[107,4488,4489,4491,4493,4495,4498,4500,4503,4505],{"class":109,"line":210},[107,4490,124],{"class":113},[107,4492,127],{"class":117},[107,4494,131],{"class":130},[107,4496,4497],{"class":117},"mem_os",[107,4499,131],{"class":130},[107,4501,4502],{"class":117},"main ",[107,4504,114],{"class":113},[107,4506,4507],{"class":117}," MOS\n",[107,4509,4510],{"class":109,"line":224},[107,4511,188],{"emptyLinePlaceholder":187},[107,4513,4514],{"class":109,"line":239},[107,4515,4516],{"class":3636},"# 1. Setup CUDA (if needed) — for local GPU inference\n",[107,4518,4519,4522,4524,4527,4529,4531,4534,4536,4538,4540,4542,4545],{"class":109,"line":259},[107,4520,4521],{"class":117},"os",[107,4523,131],{"class":130},[107,4525,4526],{"class":625},"environ",[107,4528,1657],{"class":130},[107,4530,248],{"class":130},[107,4532,4533],{"class":203},"CUDA_VISIBLE_DEVICES",[107,4535,248],{"class":130},[107,4537,1843],{"class":130},[107,4539,265],{"class":130},[107,4541,200],{"class":130},[107,4543,4544],{"class":203},"1",[107,4546,207],{"class":130},[107,4548,4549],{"class":109,"line":271},[107,4550,188],{"emptyLinePlaceholder":187},[107,4552,4553],{"class":109,"line":315},[107,4554,4555],{"class":3636},"# 2. Define user & paths\n",[107,4557,4558,4560,4562,4564,4567],{"class":109,"line":354},[107,4559,194],{"class":117},[107,4561,197],{"class":130},[107,4563,200],{"class":130},[107,4565,4566],{"class":203},"root",[107,4568,207],{"class":130},[107,4570,4571,4574,4576,4578,4581],{"class":109,"line":392},[107,4572,4573],{"class":117},"cube_id ",[107,4575,197],{"class":130},[107,4577,200],{"class":130},[107,4579,4580],{"class":203},"root/mem_cube_kv_cache",[107,4582,207],{"class":130},[107,4584,4585,4588,4590,4592,4595],{"class":109,"line":431},[107,4586,4587],{"class":117},"tmp_cube_path ",[107,4589,197],{"class":130},[107,4591,200],{"class":130},[107,4593,4594],{"class":203},"/tmp/default/mem_cube_5",[107,4596,207],{"class":130},[107,4598,4599],{"class":109,"line":437},[107,4600,188],{"emptyLinePlaceholder":187},[107,4602,4603],{"class":109,"line":454},[107,4604,4605],{"class":3636},"# 3. Initialize MOSConfig\n",[107,4607,4608,4611,4613,4616,4618,4621,4623,4625,4628,4630],{"class":109,"line":471},[107,4609,4610],{"class":117},"mos_config ",[107,4612,197],{"class":130},[107,4614,4615],{"class":117}," MOSConfig",[107,4617,131],{"class":130},[107,4619,4620],{"class":218},"from_json_file",[107,4622,492],{"class":130},[107,4624,248],{"class":130},[107,4626,4627],{"class":203},"examples/data/config/simple_treekvcache_memos_config.json",[107,4629,248],{"class":130},[107,4631,474],{"class":130},[107,4633,4634,4637,4639,4642,4644,4647],{"class":109,"line":477},[107,4635,4636],{"class":117},"mos ",[107,4638,197],{"class":130},[107,4640,4641],{"class":218}," MOS",[107,4643,492],{"class":130},[107,4645,4646],{"class":218},"mos_config",[107,4648,474],{"class":130},[107,4650,4651],{"class":109,"line":482},[107,4652,188],{"emptyLinePlaceholder":187},[107,4654,4655],{"class":109,"line":500},[107,4656,4657],{"class":3636},"# 4. Initialize the MemCube (TreeTextMemory + KVCacheMemory)\n",[107,4659,4660,4663,4665,4668,4670,4672],{"class":109,"line":525},[107,4661,4662],{"class":117},"cube_config ",[107,4664,197],{"class":130},[107,4666,4667],{"class":117}," GeneralMemCubeConfig",[107,4669,131],{"class":130},[107,4671,4620],{"class":218},[107,4673,221],{"class":130},[107,4675,4676,4678,4681],{"class":109,"line":530},[107,4677,1580],{"class":130},[107,4679,4680],{"class":203},"examples/data/config/simple_treekvcache_cube_config.json",[107,4682,207],{"class":130},[107,4684,4685],{"class":109,"line":543},[107,4686,474],{"class":130},[107,4688,4689,4691,4693,4696,4698,4701],{"class":109,"line":554},[107,4690,4440],{"class":117},[107,4692,197],{"class":130},[107,4694,4695],{"class":218}," GeneralMemCube",[107,4697,492],{"class":130},[107,4699,4700],{"class":218},"cube_config",[107,4702,474],{"class":130},[107,4704,4705],{"class":109,"line":570},[107,4706,188],{"emptyLinePlaceholder":187},[107,4708,4709],{"class":109,"line":587},[107,4710,4711],{"class":3636},"# 5. Dump the MemCube to disk\n",[107,4713,4714,4717],{"class":109,"line":596},[107,4715,4716],{"class":113},"try",[107,4718,4719],{"class":130},":\n",[107,4721,4722,4725,4727,4729,4731,4734],{"class":109,"line":601},[107,4723,4724],{"class":117},"    mem_cube",[107,4726,131],{"class":130},[107,4728,4278],{"class":218},[107,4730,492],{"class":130},[107,4732,4733],{"class":218},"tmp_cube_path",[107,4735,474],{"class":130},[107,4737,4738,4741,4745,4748,4751],{"class":109,"line":606},[107,4739,4740],{"class":113},"except",[107,4742,4744],{"class":4743},"sBMFI"," Exception",[107,4746,4747],{"class":113}," as",[107,4749,4750],{"class":117}," e",[107,4752,4719],{"class":130},[107,4754,4755,4758,4760,4763],{"class":109,"line":629},[107,4756,4757],{"class":218},"    print",[107,4759,492],{"class":130},[107,4761,4762],{"class":218},"e",[107,4764,474],{"class":130},[107,4766,4767],{"class":109,"line":1187},[107,4768,188],{"emptyLinePlaceholder":187},[107,4770,4771],{"class":109,"line":1206},[107,4772,4773],{"class":3636},"# 6. Register the MemCube explicitly\n",[107,4775,4776,4779,4781,4784,4786,4788,4790,4793,4795,4798,4800,4803,4805,4807],{"class":109,"line":1224},[107,4777,4778],{"class":117},"mos",[107,4780,131],{"class":130},[107,4782,4783],{"class":218},"register_mem_cube",[107,4785,492],{"class":130},[107,4787,4733],{"class":218},[107,4789,152],{"class":130},[107,4791,4792],{"class":227}," mem_cube_id",[107,4794,197],{"class":130},[107,4796,4797],{"class":218},"cube_id",[107,4799,152],{"class":130},[107,4801,4802],{"class":227}," user_id",[107,4804,197],{"class":130},[107,4806,233],{"class":218},[107,4808,474],{"class":130},[107,4810,4811],{"class":109,"line":1230},[107,4812,188],{"emptyLinePlaceholder":187},[107,4814,4815],{"class":109,"line":1235},[107,4816,4817],{"class":3636},"# 7. Extract and add a KVCache memory (simulate stable context)\n",[107,4819,4820,4823,4825,4828,4830,4833,4835,4837,4840,4843,4845,4847,4849,4851,4854,4856],{"class":109,"line":1241},[107,4821,4822],{"class":117},"extract_kvmem ",[107,4824,197],{"class":130},[107,4826,4827],{"class":117}," mos",[107,4829,131],{"class":130},[107,4831,4832],{"class":625},"mem_cubes",[107,4834,1657],{"class":130},[107,4836,4797],{"class":625},[107,4838,4839],{"class":130},"].",[107,4841,4842],{"class":625},"act_mem",[107,4844,131],{"class":130},[107,4846,3959],{"class":218},[107,4848,492],{"class":130},[107,4850,248],{"class":130},[107,4852,4853],{"class":203},"I like football",[107,4855,248],{"class":130},[107,4857,474],{"class":130},[107,4859,4860,4862,4864,4866,4868,4870,4872,4874,4876,4878,4880,4883],{"class":109,"line":1246},[107,4861,4778],{"class":117},[107,4863,131],{"class":130},[107,4865,4832],{"class":625},[107,4867,1657],{"class":130},[107,4869,4797],{"class":625},[107,4871,4839],{"class":130},[107,4873,4842],{"class":625},[107,4875,131],{"class":130},[107,4877,3996],{"class":218},[107,4879,3999],{"class":130},[107,4881,4882],{"class":218},"extract_kvmem",[107,4884,4004],{"class":130},[107,4886,4887],{"class":109,"line":1261},[107,4888,188],{"emptyLinePlaceholder":187},[107,4890,4891],{"class":109,"line":1276},[107,4892,4893],{"class":3636},"# 8. Start chatting — now your chat uses:\n",[107,4895,4896],{"class":109,"line":1281},[107,4897,4898],{"class":3636},"#    - TreeTextMemory: for structured multi-hop retrieval\n",[107,4900,4901],{"class":109,"line":1286},[107,4902,4903],{"class":3636},"#    - KVCacheMemory: for fast context injection\n",[107,4905,4906,4909],{"class":109,"line":1301},[107,4907,4908],{"class":113},"while",[107,4910,4911],{"class":130}," True:\n",[107,4913,4914,4917,4919,4922,4924,4926,4929,4931,4933,4936],{"class":109,"line":1322},[107,4915,4916],{"class":117},"    user_input ",[107,4918,197],{"class":130},[107,4920,4921],{"class":218}," input",[107,4923,492],{"class":130},[107,4925,248],{"class":130},[107,4927,4928],{"class":203},"👤 [You] ",[107,4930,248],{"class":130},[107,4932,622],{"class":130},[107,4934,4935],{"class":218},"strip",[107,4937,4316],{"class":130},[107,4939,4940,4942],{"class":109,"line":1327},[107,4941,4757],{"class":218},[107,4943,4316],{"class":130},[107,4945,4946,4949,4951,4953,4955,4958,4960,4963],{"class":109,"line":1338},[107,4947,4948],{"class":117},"    response ",[107,4950,197],{"class":130},[107,4952,4827],{"class":117},[107,4954,131],{"class":130},[107,4956,4957],{"class":218},"chat",[107,4959,492],{"class":130},[107,4961,4962],{"class":218},"user_input",[107,4964,474],{"class":130},[107,4966,4967,4969,4971,4975,4978,4980,4983,4985,4987,4989],{"class":109,"line":1349},[107,4968,4757],{"class":218},[107,4970,492],{"class":130},[107,4972,4974],{"class":4973},"spNyl","f",[107,4976,4977],{"class":203},"\"🤖 [Assistant] ",[107,4979,2340],{"class":669},[107,4981,4982],{"class":218},"response",[107,4984,1783],{"class":669},[107,4986,1654],{"class":117},[107,4988,248],{"class":203},[107,4990,474],{"class":130},[107,4992,4993],{"class":109,"line":1364},[107,4994,188],{"emptyLinePlaceholder":187},[107,4996,4997,4999,5001,5003,5006,5008],{"class":109,"line":1380},[107,4998,503],{"class":218},[107,5000,492],{"class":130},[107,5002,248],{"class":130},[107,5004,5005],{"class":203},"📢 [System] MemChat has stopped.",[107,5007,248],{"class":130},[107,5009,474],{"class":130},[64,5011,5013],{"id":5012},"example-6-multi-memory-scheduling","Example 6: Multi-Memory Scheduling",[69,5015,72],{"id":5016},"when-to-use-5",[74,5018,5019,5022,5025],{},[77,5020,5021],{},"You want to manage multiple users, multiple MemCubes, or dynamic memory flows.",[77,5023,5024],{},"Good for SaaS agents or multi-session LLMs.",[77,5026,5027],{},"Demonstrates MemScheduler + config YAMLs.",[69,5029,86],{"id":5030},"key-points-4",[74,5032,5033,5036,5039],{},[77,5034,5035],{},"Uses parse_yaml to load MOSConfig and MemCubeConfig.",[77,5037,5038],{},"Dynamic user and cube creation.",[77,5040,5041],{},"Shows runtime scheduling of memories.",[69,5043,95],{"id":5044},"full-example-code-5",[97,5046,5048],{"className":99,"code":5047,"language":101,"meta":102,"style":102},"import shutil\nimport uuid\nfrom pathlib import Path\n\nfrom memos.configs.mem_cube import GeneralMemCubeConfig\nfrom memos.configs.mem_os import MOSConfig\nfrom memos.mem_cube.general import GeneralMemCube\nfrom memos.mem_os.main import MOS\nfrom memos.mem_scheduler.utils import parse_yaml\n\n# Load main MOS config with MemScheduler\nconfig = parse_yaml(\"./examples/data/config/mem_scheduler/memos_config_w_scheduler.yaml\")\nmos_config = MOSConfig(**config)\nmos = MOS(mos_config)\n\n# Create user with dynamic ID\nuser_id = str(uuid.uuid4())\nmos.create_user(user_id=user_id)\n\n# Create MemCube config and dump it\nconfig = GeneralMemCubeConfig.from_yaml_file(\n    \"./examples/data/config/mem_scheduler/mem_cube_config.yaml\"\n)\nmem_cube_id = \"mem_cube_5\"\nmem_cube_name_or_path = f\"./outputs/mem_scheduler/{user_id}/{mem_cube_id}\"\n\n# Remove old folder if exists\nif Path(mem_cube_name_or_path).exists():\n    shutil.rmtree(mem_cube_name_or_path)\n    print(f\"{mem_cube_name_or_path} is not empty, and has been removed.\")\n\n# Dump new cube\nmem_cube = GeneralMemCube(config)\nmem_cube.dump(mem_cube_name_or_path)\n\n# Register MemCube for this user\nmos.register_mem_cube(\n    mem_cube_name_or_path=mem_cube_name_or_path,\n    mem_cube_id=mem_cube_id,\n    user_id=user_id\n)\n\n# Add messages\nmessages = [\n    {\n        \"role\": \"user\",\n        \"content\": \"I like playing football.\"\n    },\n    {\n        \"role\": \"assistant\",\n        \"content\": \"I like playing football too.\"\n    },\n]\nmos.add(messages, user_id=user_id, mem_cube_id=mem_cube_id)\n\n# Chat loop: show TreeTextMemory nodes + KVCache\nwhile True:\n    user_input = input(\"👤 [You] \").strip()\n    print()\n    response = mos.chat(user_input, user_id=user_id)\n    retrieved_memories = mos.get_all(mem_cube_id=mem_cube_id, user_id=user_id)\n\n    print(f\"🤖 [Assistant] {response}\")\n\n    # Show WorkingMemory nodes in TreeTextMemory\n    for node in retrieved_memories[\"text_mem\"][0][\"memories\"][\"nodes\"]:\n        if node[\"metadata\"][\"memory_type\"] == \"WorkingMemory\":\n            print(f\"[WorkingMemory] {node['memory']}\")\n\n    # Show Activation Memory\n    if retrieved_memories[\"act_mem\"][0][\"memories\"]:\n        for act_mem in retrieved_memories[\"act_mem\"][0][\"memories\"]:\n            print(f\"⚡ [KVCache] {act_mem['memory']}\")\n    else:\n        print(\"⚡ [KVCache] None\\n\")\n",[104,5049,5050,5057,5064,5076,5080,5098,5116,5134,5152,5173,5177,5182,5202,5217,5231,5235,5240,5261,5280,5284,5289,5304,5313,5317,5331,5362,5366,5371,5392,5408,5429,5433,5438,5452,5466,5470,5475,5485,5496,5507,5516,5520,5524,5529,5538,5543,5561,5578,5582,5586,5604,5621,5625,5629,5660,5664,5669,5675,5697,5703,5729,5760,5764,5784,5788,5793,5842,5882,5917,5921,5926,5955,5989,6020,6027],{"__ignoreMap":102},[107,5051,5052,5054],{"class":109,"line":110},[107,5053,114],{"class":113},[107,5055,5056],{"class":117}," shutil\n",[107,5058,5059,5061],{"class":109,"line":121},[107,5060,114],{"class":113},[107,5062,5063],{"class":117}," uuid\n",[107,5065,5066,5068,5071,5073],{"class":109,"line":158},[107,5067,124],{"class":113},[107,5069,5070],{"class":117}," pathlib ",[107,5072,114],{"class":113},[107,5074,5075],{"class":117}," Path\n",[107,5077,5078],{"class":109,"line":184},[107,5079,188],{"emptyLinePlaceholder":187},[107,5081,5082,5084,5086,5088,5090,5092,5094,5096],{"class":109,"line":191},[107,5083,124],{"class":113},[107,5085,127],{"class":117},[107,5087,131],{"class":130},[107,5089,3596],{"class":117},[107,5091,131],{"class":130},[107,5093,4440],{"class":117},[107,5095,114],{"class":113},[107,5097,4445],{"class":117},[107,5099,5100,5102,5104,5106,5108,5110,5112,5114],{"class":109,"line":210},[107,5101,124],{"class":113},[107,5103,127],{"class":117},[107,5105,131],{"class":130},[107,5107,3596],{"class":117},[107,5109,131],{"class":130},[107,5111,4460],{"class":117},[107,5113,114],{"class":113},[107,5115,4465],{"class":117},[107,5117,5118,5120,5122,5124,5126,5128,5130,5132],{"class":109,"line":224},[107,5119,124],{"class":113},[107,5121,127],{"class":117},[107,5123,131],{"class":130},[107,5125,4476],{"class":117},[107,5127,131],{"class":130},[107,5129,4481],{"class":117},[107,5131,114],{"class":113},[107,5133,4486],{"class":117},[107,5135,5136,5138,5140,5142,5144,5146,5148,5150],{"class":109,"line":239},[107,5137,124],{"class":113},[107,5139,127],{"class":117},[107,5141,131],{"class":130},[107,5143,4497],{"class":117},[107,5145,131],{"class":130},[107,5147,4502],{"class":117},[107,5149,114],{"class":113},[107,5151,4507],{"class":117},[107,5153,5154,5156,5158,5160,5163,5165,5168,5170],{"class":109,"line":259},[107,5155,124],{"class":113},[107,5157,127],{"class":117},[107,5159,131],{"class":130},[107,5161,5162],{"class":117},"mem_scheduler",[107,5164,131],{"class":130},[107,5166,5167],{"class":117},"utils ",[107,5169,114],{"class":113},[107,5171,5172],{"class":117}," parse_yaml\n",[107,5174,5175],{"class":109,"line":271},[107,5176,188],{"emptyLinePlaceholder":187},[107,5178,5179],{"class":109,"line":315},[107,5180,5181],{"class":3636},"# Load main MOS config with MemScheduler\n",[107,5183,5184,5186,5188,5191,5193,5195,5198,5200],{"class":109,"line":354},[107,5185,3642],{"class":117},[107,5187,197],{"class":130},[107,5189,5190],{"class":218}," parse_yaml",[107,5192,492],{"class":130},[107,5194,248],{"class":130},[107,5196,5197],{"class":203},"./examples/data/config/mem_scheduler/memos_config_w_scheduler.yaml",[107,5199,248],{"class":130},[107,5201,474],{"class":130},[107,5203,5204,5206,5208,5210,5213,5215],{"class":109,"line":392},[107,5205,4610],{"class":117},[107,5207,197],{"class":130},[107,5209,4615],{"class":218},[107,5211,5212],{"class":130},"(**",[107,5214,3713],{"class":218},[107,5216,474],{"class":130},[107,5218,5219,5221,5223,5225,5227,5229],{"class":109,"line":431},[107,5220,4636],{"class":117},[107,5222,197],{"class":130},[107,5224,4641],{"class":218},[107,5226,492],{"class":130},[107,5228,4646],{"class":218},[107,5230,474],{"class":130},[107,5232,5233],{"class":109,"line":437},[107,5234,188],{"emptyLinePlaceholder":187},[107,5236,5237],{"class":109,"line":454},[107,5238,5239],{"class":3636},"# Create user with dynamic ID\n",[107,5241,5242,5244,5246,5249,5251,5254,5256,5259],{"class":109,"line":471},[107,5243,194],{"class":117},[107,5245,197],{"class":130},[107,5247,5248],{"class":4743}," str",[107,5250,492],{"class":130},[107,5252,5253],{"class":218},"uuid",[107,5255,131],{"class":130},[107,5257,5258],{"class":218},"uuid4",[107,5260,4029],{"class":130},[107,5262,5263,5265,5267,5270,5272,5274,5276,5278],{"class":109,"line":477},[107,5264,4778],{"class":117},[107,5266,131],{"class":130},[107,5268,5269],{"class":218},"create_user",[107,5271,492],{"class":130},[107,5273,233],{"class":227},[107,5275,197],{"class":130},[107,5277,233],{"class":218},[107,5279,474],{"class":130},[107,5281,5282],{"class":109,"line":482},[107,5283,188],{"emptyLinePlaceholder":187},[107,5285,5286],{"class":109,"line":500},[107,5287,5288],{"class":3636},"# Create MemCube config and dump it\n",[107,5290,5291,5293,5295,5297,5299,5302],{"class":109,"line":525},[107,5292,3642],{"class":117},[107,5294,197],{"class":130},[107,5296,4667],{"class":117},[107,5298,131],{"class":130},[107,5300,5301],{"class":218},"from_yaml_file",[107,5303,221],{"class":130},[107,5305,5306,5308,5311],{"class":109,"line":530},[107,5307,1580],{"class":130},[107,5309,5310],{"class":203},"./examples/data/config/mem_scheduler/mem_cube_config.yaml",[107,5312,207],{"class":130},[107,5314,5315],{"class":109,"line":543},[107,5316,474],{"class":130},[107,5318,5319,5322,5324,5326,5329],{"class":109,"line":554},[107,5320,5321],{"class":117},"mem_cube_id ",[107,5323,197],{"class":130},[107,5325,200],{"class":130},[107,5327,5328],{"class":203},"mem_cube_5",[107,5330,207],{"class":130},[107,5332,5333,5336,5338,5341,5344,5346,5348,5350,5353,5355,5358,5360],{"class":109,"line":570},[107,5334,5335],{"class":117},"mem_cube_name_or_path ",[107,5337,197],{"class":130},[107,5339,5340],{"class":4973}," f",[107,5342,5343],{"class":203},"\"./outputs/mem_scheduler/",[107,5345,2340],{"class":669},[107,5347,233],{"class":117},[107,5349,1783],{"class":669},[107,5351,5352],{"class":203},"/",[107,5354,2340],{"class":669},[107,5356,5357],{"class":117},"mem_cube_id",[107,5359,1783],{"class":669},[107,5361,207],{"class":203},[107,5363,5364],{"class":109,"line":587},[107,5365,188],{"emptyLinePlaceholder":187},[107,5367,5368],{"class":109,"line":596},[107,5369,5370],{"class":3636},"# Remove old folder if exists\n",[107,5372,5373,5376,5379,5381,5384,5386,5389],{"class":109,"line":601},[107,5374,5375],{"class":113},"if",[107,5377,5378],{"class":218}," Path",[107,5380,492],{"class":130},[107,5382,5383],{"class":218},"mem_cube_name_or_path",[107,5385,622],{"class":130},[107,5387,5388],{"class":218},"exists",[107,5390,5391],{"class":130},"():\n",[107,5393,5394,5397,5399,5402,5404,5406],{"class":109,"line":606},[107,5395,5396],{"class":117},"    shutil",[107,5398,131],{"class":130},[107,5400,5401],{"class":218},"rmtree",[107,5403,492],{"class":130},[107,5405,5383],{"class":218},[107,5407,474],{"class":130},[107,5409,5410,5412,5414,5416,5418,5420,5422,5424,5427],{"class":109,"line":629},[107,5411,4757],{"class":218},[107,5413,492],{"class":130},[107,5415,4974],{"class":4973},[107,5417,248],{"class":203},[107,5419,2340],{"class":669},[107,5421,5383],{"class":218},[107,5423,1783],{"class":669},[107,5425,5426],{"class":203}," is not empty, and has been removed.\"",[107,5428,474],{"class":130},[107,5430,5431],{"class":109,"line":1187},[107,5432,188],{"emptyLinePlaceholder":187},[107,5434,5435],{"class":109,"line":1206},[107,5436,5437],{"class":3636},"# Dump new cube\n",[107,5439,5440,5442,5444,5446,5448,5450],{"class":109,"line":1224},[107,5441,4440],{"class":117},[107,5443,197],{"class":130},[107,5445,4695],{"class":218},[107,5447,492],{"class":130},[107,5449,3713],{"class":218},[107,5451,474],{"class":130},[107,5453,5454,5456,5458,5460,5462,5464],{"class":109,"line":1230},[107,5455,4476],{"class":117},[107,5457,131],{"class":130},[107,5459,4278],{"class":218},[107,5461,492],{"class":130},[107,5463,5383],{"class":218},[107,5465,474],{"class":130},[107,5467,5468],{"class":109,"line":1235},[107,5469,188],{"emptyLinePlaceholder":187},[107,5471,5472],{"class":109,"line":1241},[107,5473,5474],{"class":3636},"# Register MemCube for this user\n",[107,5476,5477,5479,5481,5483],{"class":109,"line":1246},[107,5478,4778],{"class":117},[107,5480,131],{"class":130},[107,5482,4783],{"class":218},[107,5484,221],{"class":130},[107,5486,5487,5490,5492,5494],{"class":109,"line":1261},[107,5488,5489],{"class":227},"    mem_cube_name_or_path",[107,5491,197],{"class":130},[107,5493,5383],{"class":218},[107,5495,236],{"class":130},[107,5497,5498,5501,5503,5505],{"class":109,"line":1276},[107,5499,5500],{"class":227},"    mem_cube_id",[107,5502,197],{"class":130},[107,5504,5357],{"class":218},[107,5506,236],{"class":130},[107,5508,5509,5511,5513],{"class":109,"line":1281},[107,5510,228],{"class":227},[107,5512,197],{"class":130},[107,5514,5515],{"class":218},"user_id\n",[107,5517,5518],{"class":109,"line":1286},[107,5519,474],{"class":130},[107,5521,5522],{"class":109,"line":1301},[107,5523,188],{"emptyLinePlaceholder":187},[107,5525,5526],{"class":109,"line":1322},[107,5527,5528],{"class":3636},"# Add messages\n",[107,5530,5531,5534,5536],{"class":109,"line":1327},[107,5532,5533],{"class":117},"messages ",[107,5535,197],{"class":130},[107,5537,268],{"class":130},[107,5539,5540],{"class":109,"line":1338},[107,5541,5542],{"class":130},"    {\n",[107,5544,5545,5547,5549,5551,5553,5555,5557,5559],{"class":109,"line":1349},[107,5546,1617],{"class":130},[107,5548,279],{"class":203},[107,5550,248],{"class":130},[107,5552,284],{"class":130},[107,5554,200],{"class":130},[107,5556,289],{"class":203},[107,5558,248],{"class":130},[107,5560,236],{"class":130},[107,5562,5563,5565,5567,5569,5571,5573,5576],{"class":109,"line":1364},[107,5564,1617],{"class":130},[107,5566,298],{"class":203},[107,5568,248],{"class":130},[107,5570,284],{"class":130},[107,5572,200],{"class":130},[107,5574,5575],{"class":203},"I like playing football.",[107,5577,207],{"class":130},[107,5579,5580],{"class":109,"line":1380},[107,5581,3797],{"class":130},[107,5583,5584],{"class":109,"line":1388},[107,5585,5542],{"class":130},[107,5587,5588,5590,5592,5594,5596,5598,5600,5602],{"class":109,"line":1393},[107,5589,1617],{"class":130},[107,5591,279],{"class":203},[107,5593,248],{"class":130},[107,5595,284],{"class":130},[107,5597,200],{"class":130},[107,5599,330],{"class":203},[107,5601,248],{"class":130},[107,5603,236],{"class":130},[107,5605,5606,5608,5610,5612,5614,5616,5619],{"class":109,"line":1410},[107,5607,1617],{"class":130},[107,5609,298],{"class":203},[107,5611,248],{"class":130},[107,5613,284],{"class":130},[107,5615,200],{"class":130},[107,5617,5618],{"class":203},"I like playing football too.",[107,5620,207],{"class":130},[107,5622,5623],{"class":109,"line":2365},[107,5624,3797],{"class":130},[107,5626,5627],{"class":109,"line":2370},[107,5628,3929],{"class":130},[107,5630,5631,5633,5635,5637,5639,5642,5644,5646,5648,5650,5652,5654,5656,5658],{"class":109,"line":2375},[107,5632,4778],{"class":117},[107,5634,131],{"class":130},[107,5636,3996],{"class":218},[107,5638,492],{"class":130},[107,5640,5641],{"class":218},"messages",[107,5643,152],{"class":130},[107,5645,4802],{"class":227},[107,5647,197],{"class":130},[107,5649,233],{"class":218},[107,5651,152],{"class":130},[107,5653,4792],{"class":227},[107,5655,197],{"class":130},[107,5657,5357],{"class":218},[107,5659,474],{"class":130},[107,5661,5662],{"class":109,"line":2380},[107,5663,188],{"emptyLinePlaceholder":187},[107,5665,5666],{"class":109,"line":2385},[107,5667,5668],{"class":3636},"# Chat loop: show TreeTextMemory nodes + KVCache\n",[107,5670,5671,5673],{"class":109,"line":2405},[107,5672,4908],{"class":113},[107,5674,4911],{"class":130},[107,5676,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695],{"class":109,"line":2425},[107,5678,4916],{"class":117},[107,5680,197],{"class":130},[107,5682,4921],{"class":218},[107,5684,492],{"class":130},[107,5686,248],{"class":130},[107,5688,4928],{"class":203},[107,5690,248],{"class":130},[107,5692,622],{"class":130},[107,5694,4935],{"class":218},[107,5696,4316],{"class":130},[107,5698,5699,5701],{"class":109,"line":2438},[107,5700,4757],{"class":218},[107,5702,4316],{"class":130},[107,5704,5705,5707,5709,5711,5713,5715,5717,5719,5721,5723,5725,5727],{"class":109,"line":2443},[107,5706,4948],{"class":117},[107,5708,197],{"class":130},[107,5710,4827],{"class":117},[107,5712,131],{"class":130},[107,5714,4957],{"class":218},[107,5716,492],{"class":130},[107,5718,4962],{"class":218},[107,5720,152],{"class":130},[107,5722,4802],{"class":227},[107,5724,197],{"class":130},[107,5726,233],{"class":218},[107,5728,474],{"class":130},[107,5730,5731,5734,5736,5738,5740,5742,5744,5746,5748,5750,5752,5754,5756,5758],{"class":109,"line":2462},[107,5732,5733],{"class":117},"    retrieved_memories ",[107,5735,197],{"class":130},[107,5737,4827],{"class":117},[107,5739,131],{"class":130},[107,5741,4026],{"class":218},[107,5743,492],{"class":130},[107,5745,5357],{"class":227},[107,5747,197],{"class":130},[107,5749,5357],{"class":218},[107,5751,152],{"class":130},[107,5753,4802],{"class":227},[107,5755,197],{"class":130},[107,5757,233],{"class":218},[107,5759,474],{"class":130},[107,5761,5762],{"class":109,"line":2513},[107,5763,188],{"emptyLinePlaceholder":187},[107,5765,5766,5768,5770,5772,5774,5776,5778,5780,5782],{"class":109,"line":2518},[107,5767,4757],{"class":218},[107,5769,492],{"class":130},[107,5771,4974],{"class":4973},[107,5773,4977],{"class":203},[107,5775,2340],{"class":669},[107,5777,4982],{"class":218},[107,5779,1783],{"class":669},[107,5781,248],{"class":203},[107,5783,474],{"class":130},[107,5785,5786],{"class":109,"line":2523},[107,5787,188],{"emptyLinePlaceholder":187},[107,5789,5790],{"class":109,"line":2528},[107,5791,5792],{"class":3636},"    # Show WorkingMemory nodes in TreeTextMemory\n",[107,5794,5795,5798,5801,5804,5807,5809,5811,5814,5816,5819,5822,5824,5826,5828,5830,5832,5834,5837,5839],{"class":109,"line":2533},[107,5796,5797],{"class":113},"    for",[107,5799,5800],{"class":117}," node ",[107,5802,5803],{"class":113},"in",[107,5805,5806],{"class":117}," retrieved_memories",[107,5808,1657],{"class":130},[107,5810,248],{"class":130},[107,5812,5813],{"class":203},"text_mem",[107,5815,248],{"class":130},[107,5817,5818],{"class":130},"][",[107,5820,5821],{"class":669},"0",[107,5823,5818],{"class":130},[107,5825,248],{"class":130},[107,5827,3617],{"class":203},[107,5829,248],{"class":130},[107,5831,5818],{"class":130},[107,5833,248],{"class":130},[107,5835,5836],{"class":203},"nodes",[107,5838,248],{"class":130},[107,5840,5841],{"class":130},"]:\n",[107,5843,5844,5847,5850,5852,5854,5857,5859,5861,5863,5866,5868,5870,5873,5875,5878,5880],{"class":109,"line":2552},[107,5845,5846],{"class":113},"        if",[107,5848,5849],{"class":117}," node",[107,5851,1657],{"class":130},[107,5853,248],{"class":130},[107,5855,5856],{"class":203},"metadata",[107,5858,248],{"class":130},[107,5860,5818],{"class":130},[107,5862,248],{"class":130},[107,5864,5865],{"class":203},"memory_type",[107,5867,248],{"class":130},[107,5869,1843],{"class":130},[107,5871,5872],{"class":130}," ==",[107,5874,200],{"class":130},[107,5876,5877],{"class":203},"WorkingMemory",[107,5879,248],{"class":130},[107,5881,4719],{"class":130},[107,5883,5884,5887,5889,5891,5894,5896,5899,5901,5904,5907,5909,5911,5913,5915],{"class":109,"line":2565},[107,5885,5886],{"class":218},"            print",[107,5888,492],{"class":130},[107,5890,4974],{"class":4973},[107,5892,5893],{"class":203},"\"[WorkingMemory] ",[107,5895,2340],{"class":669},[107,5897,5898],{"class":218},"node",[107,5900,1657],{"class":130},[107,5902,5903],{"class":130},"'",[107,5905,5906],{"class":203},"memory",[107,5908,5903],{"class":130},[107,5910,1843],{"class":130},[107,5912,1783],{"class":669},[107,5914,248],{"class":203},[107,5916,474],{"class":130},[107,5918,5919],{"class":109,"line":2570},[107,5920,188],{"emptyLinePlaceholder":187},[107,5922,5923],{"class":109,"line":2589},[107,5924,5925],{"class":3636},"    # Show Activation Memory\n",[107,5927,5928,5931,5933,5935,5937,5939,5941,5943,5945,5947,5949,5951,5953],{"class":109,"line":2606},[107,5929,5930],{"class":113},"    if",[107,5932,5806],{"class":117},[107,5934,1657],{"class":130},[107,5936,248],{"class":130},[107,5938,4842],{"class":203},[107,5940,248],{"class":130},[107,5942,5818],{"class":130},[107,5944,5821],{"class":669},[107,5946,5818],{"class":130},[107,5948,248],{"class":130},[107,5950,3617],{"class":203},[107,5952,248],{"class":130},[107,5954,5841],{"class":130},[107,5956,5957,5960,5963,5965,5967,5969,5971,5973,5975,5977,5979,5981,5983,5985,5987],{"class":109,"line":2611},[107,5958,5959],{"class":113},"        for",[107,5961,5962],{"class":117}," act_mem ",[107,5964,5803],{"class":113},[107,5966,5806],{"class":117},[107,5968,1657],{"class":130},[107,5970,248],{"class":130},[107,5972,4842],{"class":203},[107,5974,248],{"class":130},[107,5976,5818],{"class":130},[107,5978,5821],{"class":669},[107,5980,5818],{"class":130},[107,5982,248],{"class":130},[107,5984,3617],{"class":203},[107,5986,248],{"class":130},[107,5988,5841],{"class":130},[107,5990,5991,5993,5995,5997,6000,6002,6004,6006,6008,6010,6012,6014,6016,6018],{"class":109,"line":2616},[107,5992,5886],{"class":218},[107,5994,492],{"class":130},[107,5996,4974],{"class":4973},[107,5998,5999],{"class":203},"\"⚡ [KVCache] ",[107,6001,2340],{"class":669},[107,6003,4842],{"class":218},[107,6005,1657],{"class":130},[107,6007,5903],{"class":130},[107,6009,5906],{"class":203},[107,6011,5903],{"class":130},[107,6013,1843],{"class":130},[107,6015,1783],{"class":669},[107,6017,248],{"class":203},[107,6019,474],{"class":130},[107,6021,6022,6025],{"class":109,"line":2622},[107,6023,6024],{"class":113},"    else",[107,6026,4719],{"class":130},[107,6028,6029,6032,6034,6036,6039,6041,6043],{"class":109,"line":2627},[107,6030,6031],{"class":218},"        print",[107,6033,492],{"class":130},[107,6035,248],{"class":130},[107,6037,6038],{"class":203},"⚡ [KVCache] None",[107,6040,1654],{"class":117},[107,6042,248],{"class":130},[107,6044,474],{"class":130},[6046,6047,6048,6057,6060],"note",{},[20,6049,6050,6053,6056],{},[4386,6051,6052],{},"Keep in Mind",[6054,6055],"br",{},"\nUse dump() and load() to persist your memory cubes.",[20,6058,6059],{},"Always check your vector DB dimension matches your embedder.",[20,6061,6062],{},"For graph memory, you'll need Neo4j Desktop (community version support coming soon).",[64,6064,6066],{"id":6065},"next-steps","Next Steps",[20,6068,6069],{},"You're just getting started!Next, try:",[74,6071,6072,6075],{},[77,6073,6074],{},"Pick the example that matches your use case.",[77,6076,6077],{},"Combine modules to build smarter, more persistent agents!",[20,6079,6080],{},"Need more?\nSee the API Reference or contribute your own example!",[6082,6083,6084],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":102,"searchDepth":121,"depth":121,"links":6086},[6087,6092,6097,6102,6107,6112,6117],{"id":66,"depth":121,"text":67,"children":6088},[6089,6090,6091],{"id":71,"depth":158,"text":72},{"id":85,"depth":158,"text":86},{"id":94,"depth":158,"text":95},{"id":681,"depth":121,"text":682,"children":6093},[6094,6095,6096],{"id":685,"depth":158,"text":72},{"id":696,"depth":158,"text":86},{"id":713,"depth":158,"text":95},{"id":2852,"depth":121,"text":2853,"children":6098},[6099,6100,6101],{"id":2856,"depth":158,"text":72},{"id":2867,"depth":158,"text":86},{"id":2875,"depth":158,"text":95},{"id":3548,"depth":121,"text":3549,"children":6103},[6104,6105,6106],{"id":3552,"depth":158,"text":72},{"id":3566,"depth":158,"text":86},{"id":3580,"depth":158,"text":95},{"id":4361,"depth":121,"text":4362,"children":6108},[6109,6110,6111],{"id":4365,"depth":158,"text":72},{"id":4379,"depth":158,"text":4380},{"id":4409,"depth":158,"text":95},{"id":5012,"depth":121,"text":5013,"children":6113},[6114,6115,6116],{"id":5016,"depth":158,"text":72},{"id":5030,"depth":158,"text":86},{"id":5044,"depth":158,"text":95},{"id":6065,"depth":121,"text":6066},"Congratulations - you've mastered the Quick Start and built your first working memory! Now it's time to see how far you can take MemOS by combining different memory types and features. Use these curated examples to inspire your own agents, chatbots, or knowledge systems.","md",{},"/en/open_source/getting_started/examples",{"title":5,"description":102},"en/open_source/getting_started/examples","NWjcxRUqyGzxvlp5Qi3VD6SbubuUcdAv_n6P_Uw7V00",[6126,6134],{"title":6127,"path":6128,"stem":6129,"icon":6130,"framework":6,"module":6,"class":6131,"target":-1,"active":6132,"defaultOpen":6132,"children":-1,"description":6133},"REST API Server","/open_source/getting_started/rest_api_server","open_source/getting_started/rest_api_server","i-ri-file-code-line",[],false,"MemOS provides a REST API service written using FastAPI. Users can perform all operations via REST interfaces.",{"title":6135,"path":6136,"stem":6137,"icon":6138,"framework":6,"module":6,"class":6139,"target":-1,"active":6132,"defaultOpen":6132,"children":-1,"description":6140},"API Development Guide","/open_source/modules/mos/overview","open_source/modules/mos/overview","i-ri-eye-line",[],"MemOS v2.0 adopts a more modular and decoupled architecture. The legacy MOS class is deprecated; Components + Handlers is now recommended for development.",1770372083701]