[{"data":1,"prerenderedAt":2593},["ShallowReactive",2],{"/open_source/modules/memories/kv_cache_memory":3,"surround-/open_source/modules/memories/kv_cache_memory":2578},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":2571,"description":2010,"extension":2572,"links":6,"meta":2573,"navigation":6,"path":2574,"seo":2575,"stem":2576,"__hash__":2577},"docs/en/open_source/modules/memories/kv_cache_memory.md","KVCacheMemory: Key-Value Cache for Activation Memory",null,{"type":8,"value":9,"toc":2554},"minimark",[10,15,24,34,50,65,69,79,84,96,100,115,119,122,136,139,150,154,157,162,168,171,186,189,203,210,214,217,227,895,899,910,913,927,930,934,939,1185,1190,1425,1429,1434,1670,1675,1911,1914,1918,1925,1931,1993,2000,2004,2036,2040,2182,2188,2196,2201,2205,2529,2533,2550],[11,12,14],"h2",{"id":13},"kv-cache-memory-use-cases","KV-cache Memory Use Cases",[16,17,18,19,23],"p",{},"In MemOS, KV-cache memory is best suited for storing ",[20,21,22],"strong",{},"semantically stable and frequently reused background content"," such as:",[25,26,27,31],"ul",{},[28,29,30],"li",{},"Frequently asked questions (FAQs) or domain-specific knowledge",[28,32,33],{},"Prior conversation history",[16,35,36,37,40,41,45,46,49],{},"These stable ",[20,38,39],{},"plaintext memory items"," are automatically identified and managed by the ",[42,43,44],"code",{},"MemScheduler"," module. Once selected, they are converted into KV-format representations (",[42,47,48],{},"KVCacheItem",") ahead of time. This precomputation step stores the activation states (Key/Value tensors) of the memory in a reusable format, allowing them to be injected into the model’s attention cache during inference.",[16,51,52,53,56,57,60,61,64],{},"Once converted, these KV memories can be ",[20,54,55],{},"reused across queries without requiring re-encoding"," of the original content. This reduces the computational overhead of processing and storing large amounts of text, making it ideal for applications that require ",[20,58,59],{},"rapid response times"," and ",[20,62,63],{},"high throughput",".",[11,66,68],{"id":67},"why-kv-cache-memory","Why KV-cache Memory",[16,70,71,72,74,75,78],{},"Integrating ",[42,73,44],{}," with KV-cache memory enables significant performance optimization, particularly in the ",[20,76,77],{},"prefill phase"," of LLM inference.",[80,81,83],"h3",{"id":82},"without-kvcachememory","Without KVCacheMemory",[25,85,86,89],{},[28,87,88],{},"Each new query is appended to the full prompt, including the background memory.",[28,90,91,92,95],{},"The model must ",[20,93,94],{},"recompute token embeddings and attention"," over the full sequence — even for unchanged memory.",[80,97,99],{"id":98},"with-kvcachememory","With KVCacheMemory",[25,101,102,109,112],{},[28,103,104,105,108],{},"The background content is ",[20,106,107],{},"cached once"," as Key/Value tensors.",[28,110,111],{},"For each query, only the new user input (query tokens) is encoded.",[28,113,114],{},"The previously cached KV is injected directly into the attention mechanism.",[80,116,118],{"id":117},"benefits","Benefits",[16,120,121],{},"This separation reduces redundant computation in the prefill phase and leads to:",[25,123,124,127,130],{},[28,125,126],{},"Skipping repeated encoding of background content",[28,128,129],{},"Faster attention computation between query tokens and cached memory",[28,131,132,135],{},[20,133,134],{},"Lower Time To First Token (TTFT)"," latency during generation",[16,137,138],{},"This optimization is especially valuable in:",[25,140,141,144,147],{},[28,142,143],{},"Multi-turn chatbot interactions",[28,145,146],{},"Retrieval-augmented or context-augmented generation (RAG, CAG)",[28,148,149],{},"Assistants operating over fixed documentation or FAQ-style memory",[80,151,153],{"id":152},"kvcachememory-acceleration-evaluation","KVCacheMemory Acceleration Evaluation",[16,155,156],{},"To validate the performance impact of KV-based memory injection, we conducted a set of controlled experiments simulating real memory reuse in MemOS.",[158,159,161],"h4",{"id":160},"experiment-setup","Experiment Setup",[16,163,164,165,167],{},"During typical usage, the ",[42,166,44],{}," module continuously tracks interaction patterns and promotes high-frequency, stable plaintext memory into KV format. These KV memories are loaded into GPU memory as activation caches and reused during inference.",[16,169,170],{},"The evaluation compares two memory injection strategies:",[172,173,174,180],"ol",{},[28,175,176,179],{},[20,177,178],{},"Prompt-based injection",": background memory is prepended as raw text.",[28,181,182,185],{},[20,183,184],{},"KV-cache injection",": memory is injected directly into the model’s attention cache.",[16,187,188],{},"We test these strategies across:",[25,190,191,197],{},[28,192,193,196],{},[20,194,195],{},"Three context sizes",": short, medium, and long",[28,198,199,202],{},[20,200,201],{},"Three query types",": short-form, medium-form, and long-form",[16,204,205,206,209],{},"The primary metric is ",[20,207,208],{},"Time To First Token (TTFT)",", a key latency indicator for responsive generation.",[158,211,213],{"id":212},"results","Results",[16,215,216],{},"The following table shows results across three models (Qwen3-8B, Qwen3-32B, Qwen2.5-72B). TTFT under KV-cache injection is consistently lower than prompt-based injection, while the output tokens remain identical across both strategies.",[218,219,221],"note",{"icon":220},"ri:bnb-fill",[16,222,223,226],{},[42,224,225],{},"Build (s)"," refers to the one-time preprocessing cost of converting the memory to KV format, amortized across multiple queries.",[228,229,230,263],"table",{},[231,232,233],"thead",{},[234,235,236,240,243,246,249,252,254,257,260],"tr",{},[237,238,239],"th",{},"Model",[237,241,242],{},"Ctx",[237,244,245],{},"CtxTok",[237,247,248],{},"Qry",[237,250,251],{},"QryTok",[237,253,225],{},[237,255,256],{},"KV TTFT (s)",[237,258,259],{},"Dir TTFT (s)",[237,261,262],{},"Speedup (%)",[264,265,266,295,321,346,371,394,417,441,464,487,512,535,558,581,603,625,648,669,691,715,738,761,784,807,829,851,873],"tbody",{},[234,267,268,272,275,278,280,283,286,289,292],{},[269,270,271],"td",{},"Qwen3-8B",[269,273,274],{},"long",[269,276,277],{},"6064",[269,279,274],{},[269,281,282],{},"952.7",[269,284,285],{},"0.92",[269,287,288],{},"0.50",[269,290,291],{},"2.37",[269,293,294],{},"79.1",[234,296,297,299,301,303,306,309,312,315,318],{},[269,298],{},[269,300],{},[269,302],{},[269,304,305],{},"medium",[269,307,308],{},"302.7",[269,310,311],{},"0.93",[269,313,314],{},"0.19",[269,316,317],{},"2.16",[269,319,320],{},"91.1",[234,322,323,325,327,329,332,335,337,340,343],{},[269,324],{},[269,326],{},[269,328],{},[269,330,331],{},"short",[269,333,334],{},"167",[269,336,311],{},[269,338,339],{},"0.12",[269,341,342],{},"2.04",[269,344,345],{},"94.2",[234,347,348,350,352,355,357,359,362,365,368],{},[269,349],{},[269,351,305],{},[269,353,354],{},"2773",[269,356,274],{},[269,358,282],{},[269,360,361],{},"0.41",[269,363,364],{},"0.43",[269,366,367],{},"1.22",[269,369,370],{},"64.6",[234,372,373,375,377,379,381,383,385,388,391],{},[269,374],{},[269,376],{},[269,378],{},[269,380,305],{},[269,382,308],{},[269,384,361],{},[269,386,387],{},"0.16",[269,389,390],{},"1.08",[269,392,393],{},"85.1",[234,395,396,398,400,402,404,406,408,411,414],{},[269,397],{},[269,399],{},[269,401],{},[269,403,331],{},[269,405,334],{},[269,407,364],{},[269,409,410],{},"0.10",[269,412,413],{},"0.95",[269,415,416],{},"89.7",[234,418,419,421,423,426,428,430,432,435,438],{},[269,420],{},[269,422,331],{},[269,424,425],{},"583",[269,427,274],{},[269,429,282],{},[269,431,339],{},[269,433,434],{},"0.39",[269,436,437],{},"0.51",[269,439,440],{},"23.0",[234,442,443,445,447,449,451,453,455,458,461],{},[269,444],{},[269,446],{},[269,448],{},[269,450,305],{},[269,452,308],{},[269,454,339],{},[269,456,457],{},"0.14",[269,459,460],{},"0.32",[269,462,463],{},"55.6",[234,465,466,468,470,472,474,476,478,481,484],{},[269,467],{},[269,469],{},[269,471],{},[269,473,331],{},[269,475,334],{},[269,477,339],{},[269,479,480],{},"0.08",[269,482,483],{},"0.29",[269,485,486],{},"71.3",[234,488,489,492,494,496,498,500,503,506,509],{},[269,490,491],{},"Qwen3-32B",[269,493,274],{},[269,495,277],{},[269,497,274],{},[269,499,282],{},[269,501,502],{},"0.71",[269,504,505],{},"0.31",[269,507,508],{},"1.09",[269,510,511],{},"71.4",[234,513,514,516,518,520,522,524,526,529,532],{},[269,515],{},[269,517],{},[269,519],{},[269,521,305],{},[269,523,308],{},[269,525,502],{},[269,527,528],{},"0.15",[269,530,531],{},"0.98",[269,533,534],{},"84.3",[234,536,537,539,541,543,545,547,549,552,555],{},[269,538],{},[269,540],{},[269,542],{},[269,544,331],{},[269,546,334],{},[269,548,502],{},[269,550,551],{},"0.11",[269,553,554],{},"0.96",[269,556,557],{},"88.8",[234,559,560,562,564,566,568,570,572,575,578],{},[269,561],{},[269,563,305],{},[269,565,354],{},[269,567,274],{},[269,569,282],{},[269,571,505],{},[269,573,574],{},"0.24",[269,576,577],{},"0.56",[269,579,580],{},"56.9",[234,582,583,585,587,589,591,593,595,597,600],{},[269,584],{},[269,586],{},[269,588],{},[269,590,305],{},[269,592,308],{},[269,594,505],{},[269,596,339],{},[269,598,599],{},"0.47",[269,601,602],{},"75.1",[234,604,605,607,609,611,613,615,617,619,622],{},[269,606],{},[269,608],{},[269,610],{},[269,612,331],{},[269,614,334],{},[269,616,505],{},[269,618,480],{},[269,620,621],{},"0.44",[269,623,624],{},"81.2",[234,626,627,629,631,633,635,637,640,643,645],{},[269,628],{},[269,630,331],{},[269,632,425],{},[269,634,274],{},[269,636,282],{},[269,638,639],{},"0.09",[269,641,642],{},"0.20",[269,644,574],{},[269,646,647],{},"18.6",[234,649,650,652,654,656,658,660,662,664,666],{},[269,651],{},[269,653],{},[269,655],{},[269,657,305],{},[269,659,308],{},[269,661,639],{},[269,663,639],{},[269,665,528],{},[269,667,668],{},"39.6",[234,670,671,673,675,677,679,681,683,686,688],{},[269,672],{},[269,674],{},[269,676],{},[269,678,331],{},[269,680,334],{},[269,682,639],{},[269,684,685],{},"0.07",[269,687,457],{},[269,689,690],{},"53.5",[234,692,693,696,698,700,702,704,707,710,712],{},[269,694,695],{},"Qwen2.5-72B",[269,697,274],{},[269,699,277],{},[269,701,274],{},[269,703,282],{},[269,705,706],{},"1.26",[269,708,709],{},"0.48",[269,711,342],{},[269,713,714],{},"76.4",[234,716,717,719,721,723,725,727,729,732,735],{},[269,718],{},[269,720],{},[269,722],{},[269,724,305],{},[269,726,308],{},[269,728,706],{},[269,730,731],{},"0.23",[269,733,734],{},"1.82",[269,736,737],{},"87.2",[234,739,740,742,744,746,748,750,753,755,758],{},[269,741],{},[269,743],{},[269,745],{},[269,747,331],{},[269,749,334],{},[269,751,752],{},"1.27",[269,754,528],{},[269,756,757],{},"1.79",[269,759,760],{},"91.4",[234,762,763,765,767,769,771,773,776,778,781],{},[269,764],{},[269,766,305],{},[269,768,354],{},[269,770,274],{},[269,772,282],{},[269,774,775],{},"0.58",[269,777,434],{},[269,779,780],{},"1.05",[269,782,783],{},"62.7",[234,785,786,788,790,792,794,796,798,801,804],{},[269,787],{},[269,789],{},[269,791],{},[269,793,305],{},[269,795,308],{},[269,797,775],{},[269,799,800],{},"0.18",[269,802,803],{},"0.89",[269,805,806],{},"79.2",[234,808,809,811,813,815,817,819,821,823,826],{},[269,810],{},[269,812],{},[269,814],{},[269,816,331],{},[269,818,334],{},[269,820,502],{},[269,822,731],{},[269,824,825],{},"0.82",[269,827,828],{},"71.6",[234,830,831,833,835,837,839,841,843,846,848],{},[269,832],{},[269,834,331],{},[269,836,425],{},[269,838,274],{},[269,840,282],{},[269,842,387],{},[269,844,845],{},"0.33",[269,847,364],{},[269,849,850],{},"23.8",[234,852,853,855,857,859,861,863,865,867,870],{},[269,854],{},[269,856],{},[269,858],{},[269,860,305],{},[269,862,308],{},[269,864,387],{},[269,866,528],{},[269,868,869],{},"0.27",[269,871,872],{},"43.2",[234,874,875,877,879,881,883,885,887,889,892],{},[269,876],{},[269,878],{},[269,880],{},[269,882,331],{},[269,884,334],{},[269,886,387],{},[269,888,410],{},[269,890,891],{},"0.25",[269,893,894],{},"60.5",[158,896,898],{"id":897},"vllm-based-performance","vLLM-based Performance",[16,900,901,902,905,906,909],{},"MemOS now supports using vLLM to manage activation memory. To evaluate the impact of KV Cache prefilling for different prefix text lengths, we conducted performance tests on a system equipped with 8x ",[42,903,904],{},"H800 80GB GPUs (112 vCPUs, 1920 GiB Memory)"," and a system equipped with 8x ",[42,907,908],{},"RTX4090-24G-PCIe (112 vCPUs, 960 GiB Memory)",". The evaluation covered two core models: Qwen3-32B and Qwen2.5-72B.",[16,911,912],{},"The benchmarks were run across a range of memory and context length combinations to simulate various activation memory scenarios:",[25,914,915,921],{},[28,916,917,920],{},[20,918,919],{},"Memory Text Lengths (tokens)",": 500, 1000, 2000",[28,922,923,926],{},[20,924,925],{},"Context Text Lengths (tokens)",": 500, 1000, 2000, 4000",[16,928,929],{},"The following table summarizes the benchmark results.",[16,931,932],{},[20,933,695],{},[25,935,936],{},[28,937,938],{},"On 4090 (2 Nodes 16 GPUs)",[228,940,941,963],{},[231,942,943],{},[234,944,945,948,951,954,957,960],{},[237,946,947],{},"mem tks",[237,949,950],{},"prompt tks",[237,952,953],{},"TTFT (without cache, ms)",[237,955,956],{},"TTFT (With cache, ms)",[237,958,959],{},"TTFT Speedup (%)",[237,961,962],{},"Abs Dis(ms)",[264,964,965,984,1003,1022,1041,1059,1077,1095,1113,1131,1149,1167],{},[234,966,967,970,972,975,978,981],{},[269,968,969],{},"0.5k",[269,971,969],{},[269,973,974],{},"1787.21",[269,976,977],{},"851.47",[269,979,980],{},"52.358%",[269,982,983],{},"935.74",[234,985,986,988,991,994,997,1000],{},[269,987,969],{},[269,989,990],{},"1k",[269,992,993],{},"2506.26",[269,995,996],{},"1290.68",[269,998,999],{},"48.502%",[269,1001,1002],{},"1215.58",[234,1004,1005,1007,1010,1013,1016,1019],{},[269,1006,969],{},[269,1008,1009],{},"2k",[269,1011,1012],{},"3843.48",[269,1014,1015],{},"2897.97",[269,1017,1018],{},"24.600%",[269,1020,1021],{},"945.51",[234,1023,1024,1026,1029,1032,1035,1038],{},[269,1025,969],{},[269,1027,1028],{},"4k",[269,1030,1031],{},"6078.01",[269,1033,1034],{},"5200.86",[269,1036,1037],{},"14.432%",[269,1039,1040],{},"877.15",[234,1042,1043,1045,1047,1050,1053,1056],{},[269,1044,990],{},[269,1046,969],{},[269,1048,1049],{},"2274.61",[269,1051,1052],{},"920.16",[269,1054,1055],{},"59.546%",[269,1057,1058],{},"1354.45",[234,1060,1061,1063,1065,1068,1071,1074],{},[269,1062,990],{},[269,1064,990],{},[269,1066,1067],{},"2907.17",[269,1069,1070],{},"1407.65",[269,1072,1073],{},"51.580%",[269,1075,1076],{},"1499.52",[234,1078,1079,1081,1083,1086,1089,1092],{},[269,1080,990],{},[269,1082,1009],{},[269,1084,1085],{},"4278.53",[269,1087,1088],{},"2916.47",[269,1090,1091],{},"31.835%",[269,1093,1094],{},"1362.06",[234,1096,1097,1099,1101,1104,1107,1110],{},[269,1098,990],{},[269,1100,1028],{},[269,1102,1103],{},"6897.99",[269,1105,1106],{},"5218.94",[269,1108,1109],{},"24.341%",[269,1111,1112],{},"1679.05",[234,1114,1115,1117,1119,1122,1125,1128],{},[269,1116,1009],{},[269,1118,969],{},[269,1120,1121],{},"3460.12",[269,1123,1124],{},"782.73",[269,1126,1127],{},"77.379%",[269,1129,1130],{},"2677.39",[234,1132,1133,1135,1137,1140,1143,1146],{},[269,1134,1009],{},[269,1136,990],{},[269,1138,1139],{},"4443.34",[269,1141,1142],{},"1491.24",[269,1144,1145],{},"66.439%",[269,1147,1148],{},"2952.10",[234,1150,1151,1153,1155,1158,1161,1164],{},[269,1152,1009],{},[269,1154,1009],{},[269,1156,1157],{},"5733.14",[269,1159,1160],{},"2758.48",[269,1162,1163],{},"51.885%",[269,1165,1166],{},"2974.66",[234,1168,1169,1171,1173,1176,1179,1182],{},[269,1170,1009],{},[269,1172,1028],{},[269,1174,1175],{},"8152.76",[269,1177,1178],{},"5627.41",[269,1180,1181],{},"30.975%",[269,1183,1184],{},"2525.35",[25,1186,1187],{},[28,1188,1189],{},"On H800 (4 GPUs)",[228,1191,1192,1208],{},[231,1193,1194],{},[234,1195,1196,1198,1200,1202,1204,1206],{},[237,1197,947],{},[237,1199,950],{},[237,1201,953],{},[237,1203,956],{},[237,1205,959],{},[237,1207,962],{},[264,1209,1210,1228,1246,1264,1281,1299,1317,1335,1353,1371,1389,1407],{},[234,1211,1212,1214,1216,1219,1222,1225],{},[269,1213,969],{},[269,1215,969],{},[269,1217,1218],{},"51.65",[269,1220,1221],{},"52.17",[269,1223,1224],{},"-1.007%",[269,1226,1227],{},"-0.52",[234,1229,1230,1232,1234,1237,1240,1243],{},[269,1231,969],{},[269,1233,990],{},[269,1235,1236],{},"55.70",[269,1238,1239],{},"57.03",[269,1241,1242],{},"-2.388%",[269,1244,1245],{},"-1.33",[234,1247,1248,1250,1252,1255,1258,1261],{},[269,1249,969],{},[269,1251,1009],{},[269,1253,1254],{},"74.23",[269,1256,1257],{},"78.56",[269,1259,1260],{},"-5.833%",[269,1262,1263],{},"-4.33",[234,1265,1266,1268,1270,1273,1276,1279],{},[269,1267,969],{},[269,1269,1028],{},[269,1271,1272],{},"77.56",[269,1274,1275],{},"77.45",[269,1277,1278],{},"0.142%",[269,1280,551],{},[234,1282,1283,1285,1287,1290,1293,1296],{},[269,1284,990],{},[269,1286,969],{},[269,1288,1289],{},"55.90",[269,1291,1292],{},"55.73",[269,1294,1295],{},"0.304%",[269,1297,1298],{},"0.17",[234,1300,1301,1303,1305,1308,1311,1314],{},[269,1302,990],{},[269,1304,990],{},[269,1306,1307],{},"55.35",[269,1309,1310],{},"52.89",[269,1312,1313],{},"4.444%",[269,1315,1316],{},"2.46",[234,1318,1319,1321,1323,1326,1329,1332],{},[269,1320,990],{},[269,1322,1009],{},[269,1324,1325],{},"80.14",[269,1327,1328],{},"73.82",[269,1330,1331],{},"7.886%",[269,1333,1334],{},"6.32",[234,1336,1337,1339,1341,1344,1347,1350],{},[269,1338,990],{},[269,1340,1028],{},[269,1342,1343],{},"82.83",[269,1345,1346],{},"73.51",[269,1348,1349],{},"11.252%",[269,1351,1352],{},"9.32",[234,1354,1355,1357,1359,1362,1365,1368],{},[269,1356,1009],{},[269,1358,969],{},[269,1360,1361],{},"75.82",[269,1363,1364],{},"71.31",[269,1366,1367],{},"5.948%",[269,1369,1370],{},"4.51",[234,1372,1373,1375,1377,1380,1383,1386],{},[269,1374,1009],{},[269,1376,990],{},[269,1378,1379],{},"80.60",[269,1381,1382],{},"78.71",[269,1384,1385],{},"2.345%",[269,1387,1388],{},"1.89",[234,1390,1391,1393,1395,1398,1401,1404],{},[269,1392,1009],{},[269,1394,1009],{},[269,1396,1397],{},"83.91",[269,1399,1400],{},"78.60",[269,1402,1403],{},"6.328%",[269,1405,1406],{},"5.31",[234,1408,1409,1411,1413,1416,1419,1422],{},[269,1410,1009],{},[269,1412,1028],{},[269,1414,1415],{},"99.15",[269,1417,1418],{},"80.12",[269,1420,1421],{},"19.193%",[269,1423,1424],{},"19.03",[16,1426,1427],{},[20,1428,491],{},[25,1430,1431],{},[28,1432,1433],{},"On 4090 (1 Nodes 8 GPUs)",[228,1435,1436,1452],{},[231,1437,1438],{},[234,1439,1440,1442,1444,1446,1448,1450],{},[237,1441,947],{},[237,1443,950],{},[237,1445,953],{},[237,1447,956],{},[237,1449,959],{},[237,1451,962],{},[264,1453,1454,1472,1490,1508,1526,1544,1562,1580,1598,1616,1634,1652],{},[234,1455,1456,1458,1460,1463,1466,1469],{},[269,1457,969],{},[269,1459,969],{},[269,1461,1462],{},"288.72",[269,1464,1465],{},"139.29",[269,1467,1468],{},"51.756%",[269,1470,1471],{},"149.43",[234,1473,1474,1476,1478,1481,1484,1487],{},[269,1475,969],{},[269,1477,990],{},[269,1479,1480],{},"428.72",[269,1482,1483],{},"245.85",[269,1485,1486],{},"42.655%",[269,1488,1489],{},"182.87",[234,1491,1492,1494,1496,1499,1502,1505],{},[269,1493,969],{},[269,1495,1009],{},[269,1497,1498],{},"683.65",[269,1500,1501],{},"538.59",[269,1503,1504],{},"21.218%",[269,1506,1507],{},"145.06",[234,1509,1510,1512,1514,1517,1520,1523],{},[269,1511,969],{},[269,1513,1028],{},[269,1515,1516],{},"1170.48",[269,1518,1519],{},"986.94",[269,1521,1522],{},"15.681%",[269,1524,1525],{},"183.54",[234,1527,1528,1530,1532,1535,1538,1541],{},[269,1529,990],{},[269,1531,969],{},[269,1533,1534],{},"409.83",[269,1536,1537],{},"137.96",[269,1539,1540],{},"66.337%",[269,1542,1543],{},"271.87",[234,1545,1546,1548,1550,1553,1556,1559],{},[269,1547,990],{},[269,1549,990],{},[269,1551,1552],{},"507.95",[269,1554,1555],{},"262.21",[269,1557,1558],{},"48.379%",[269,1560,1561],{},"245.74",[234,1563,1564,1566,1568,1571,1574,1577],{},[269,1565,990],{},[269,1567,1009],{},[269,1569,1570],{},"743.48",[269,1572,1573],{},"539.71",[269,1575,1576],{},"27.408%",[269,1578,1579],{},"203.77",[234,1581,1582,1584,1586,1589,1592,1595],{},[269,1583,990],{},[269,1585,1028],{},[269,1587,1588],{},"1325.34",[269,1590,1591],{},"1038.59",[269,1593,1594],{},"21.636%",[269,1596,1597],{},"286.75",[234,1599,1600,1602,1604,1607,1610,1613],{},[269,1601,1009],{},[269,1603,969],{},[269,1605,1606],{},"686.01",[269,1608,1609],{},"147.34",[269,1611,1612],{},"78.522%",[269,1614,1615],{},"538.67",[234,1617,1618,1620,1622,1625,1628,1631],{},[269,1619,1009],{},[269,1621,990],{},[269,1623,1624],{},"762.96",[269,1626,1627],{},"246.22",[269,1629,1630],{},"67.728%",[269,1632,1633],{},"516.74",[234,1635,1636,1638,1640,1643,1646,1649],{},[269,1637,1009],{},[269,1639,1009],{},[269,1641,1642],{},"1083.93",[269,1644,1645],{},"498.05",[269,1647,1648],{},"54.051%",[269,1650,1651],{},"585.88",[234,1653,1654,1656,1658,1661,1664,1667],{},[269,1655,1009],{},[269,1657,1028],{},[269,1659,1660],{},"1435.39",[269,1662,1663],{},"1053.31",[269,1665,1666],{},"26.619%",[269,1668,1669],{},"382.08",[25,1671,1672],{},[28,1673,1674],{},"On H800 (2 GPUs)",[228,1676,1677,1693],{},[231,1678,1679],{},[234,1680,1681,1683,1685,1687,1689,1691],{},[237,1682,947],{},[237,1684,950],{},[237,1686,953],{},[237,1688,956],{},[237,1690,959],{},[237,1692,962],{},[264,1694,1695,1713,1731,1749,1767,1785,1803,1821,1839,1857,1875,1893],{},[234,1696,1697,1699,1701,1704,1707,1710],{},[269,1698,969],{},[269,1700,969],{},[269,1702,1703],{},"161.18",[269,1705,1706],{},"97.61",[269,1708,1709],{},"39.440%",[269,1711,1712],{},"63.57",[234,1714,1715,1717,1719,1722,1725,1728],{},[269,1716,969],{},[269,1718,990],{},[269,1720,1721],{},"164.00",[269,1723,1724],{},"121.39",[269,1726,1727],{},"25.982%",[269,1729,1730],{},"42.61",[234,1732,1733,1735,1737,1740,1743,1746],{},[269,1734,969],{},[269,1736,1009],{},[269,1738,1739],{},"257.34",[269,1741,1742],{},"215.20",[269,1744,1745],{},"16.375%",[269,1747,1748],{},"42.14",[234,1750,1751,1753,1755,1758,1761,1764],{},[269,1752,969],{},[269,1754,1028],{},[269,1756,1757],{},"365.14",[269,1759,1760],{},"317.95",[269,1762,1763],{},"12.924%",[269,1765,1766],{},"47.19",[234,1768,1769,1771,1773,1776,1779,1782],{},[269,1770,990],{},[269,1772,969],{},[269,1774,1775],{},"169.45",[269,1777,1778],{},"100.52",[269,1780,1781],{},"40.679%",[269,1783,1784],{},"68.93",[234,1786,1787,1789,1791,1794,1797,1800],{},[269,1788,990],{},[269,1790,990],{},[269,1792,1793],{},"180.91",[269,1795,1796],{},"128.25",[269,1798,1799],{},"29.108%",[269,1801,1802],{},"52.66",[234,1804,1805,1807,1809,1812,1815,1818],{},[269,1806,990],{},[269,1808,1009],{},[269,1810,1811],{},"271.69",[269,1813,1814],{},"210.00",[269,1816,1817],{},"22.706%",[269,1819,1820],{},"61.69",[234,1822,1823,1825,1827,1830,1833,1836],{},[269,1824,990],{},[269,1826,1028],{},[269,1828,1829],{},"389.30",[269,1831,1832],{},"314.64",[269,1834,1835],{},"19.178%",[269,1837,1838],{},"74.66",[234,1840,1841,1843,1845,1848,1851,1854],{},[269,1842,1009],{},[269,1844,969],{},[269,1846,1847],{},"251.43",[269,1849,1850],{},"130.92",[269,1852,1853],{},"47.930%",[269,1855,1856],{},"120.51",[234,1858,1859,1861,1863,1866,1869,1872],{},[269,1860,1009],{},[269,1862,990],{},[269,1864,1865],{},"275.81",[269,1867,1868],{},"159.60",[269,1870,1871],{},"42.134%",[269,1873,1874],{},"116.21",[234,1876,1877,1879,1881,1884,1887,1890],{},[269,1878,1009],{},[269,1880,1009],{},[269,1882,1883],{},"331.11",[269,1885,1886],{},"218.17",[269,1888,1889],{},"34.110%",[269,1891,1892],{},"112.94",[234,1894,1895,1897,1899,1902,1905,1908],{},[269,1896,1009],{},[269,1898,1028],{},[269,1900,1901],{},"451.06",[269,1903,1904],{},"334.80",[269,1906,1907],{},"25.775%",[269,1909,1910],{},"116.26",[16,1912,1913],{},"The results clearly demonstrate that integrating vLLM's KV Cache reuse provides a transformative performance improvement for MemOS.",[11,1915,1917],{"id":1916},"kv-cache-memory-structure","KV-cache Memory Structure",[16,1919,1920,1921,1924],{},"KV-based memory reuse via ",[42,1922,1923],{},"KVCacheMemory"," offers substantial latency reduction across model sizes and query types, while maintaining identical output. By shifting reusable memory from plaintext prompts into precomputed KV caches, MemOS eliminates redundant context encoding and achieves faster response times—especially beneficial in real-time, memory-augmented LLM applications.",[16,1926,1927,1928,1930],{},"Each cache is stored as a ",[42,1929,48],{},":",[228,1932,1933,1946],{},[231,1934,1935],{},[234,1936,1937,1940,1943],{},[237,1938,1939],{},"Field",[237,1941,1942],{},"Type",[237,1944,1945],{},"Description",[264,1947,1948,1963,1978],{},[234,1949,1950,1955,1960],{},[269,1951,1952],{},[42,1953,1954],{},"kv_cache_id",[269,1956,1957],{},[42,1958,1959],{},"str",[269,1961,1962],{},"Unique ID for the cache (UUID)",[234,1964,1965,1970,1975],{},[269,1966,1967],{},[42,1968,1969],{},"kv_cache",[269,1971,1972],{},[42,1973,1974],{},"DynamicCache",[269,1976,1977],{},"The actual key-value cache (transformers)",[234,1979,1980,1985,1990],{},[269,1981,1982],{},[42,1983,1984],{},"metadata",[269,1986,1987],{},[42,1988,1989],{},"dict",[269,1991,1992],{},"Metadata (source, extraction time, etc.)",[11,1994,1996,1997,1999],{"id":1995},"api-summary-kvcachememory","API Summary (",[42,1998,1923],{},")",[80,2001,2003],{"id":2002},"initialization","Initialization",[2005,2006,2011],"pre",{"className":2007,"code":2008,"language":2009,"meta":2010,"style":2010},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","KVCacheMemory(config: KVCacheMemoryConfig)\n","python","",[42,2012,2013],{"__ignoreMap":2010},[2014,2015,2018,2021,2025,2028,2030,2033],"span",{"class":2016,"line":2017},"line",1,[2014,2019,1923],{"class":2020},"s2Zo4",[2014,2022,2024],{"class":2023},"sMK4o","(",[2014,2026,2027],{"class":2020},"config",[2014,2029,1930],{"class":2023},[2014,2031,2032],{"class":2020}," KVCacheMemoryConfig",[2014,2034,2035],{"class":2023},")\n",[80,2037,2039],{"id":2038},"core-methods","Core Methods",[228,2041,2042,2051],{},[231,2043,2044],{},[234,2045,2046,2049],{},[237,2047,2048],{},"Method",[237,2050,1945],{},[264,2052,2053,2063,2076,2086,2096,2106,2116,2126,2136,2146,2156,2172],{},[234,2054,2055,2060],{},[269,2056,2057],{},[42,2058,2059],{},"extract(text)",[269,2061,2062],{},"Extracts a KV cache from input text using the LLM",[234,2064,2065,2070],{},[269,2066,2067],{},[42,2068,2069],{},"add(memories)",[269,2071,2072,2073,2075],{},"Adds one or more ",[42,2074,48],{}," to memory",[234,2077,2078,2083],{},[269,2079,2080],{},[42,2081,2082],{},"get(memory_id)",[269,2084,2085],{},"Fetch a single cache by ID",[234,2087,2088,2093],{},[269,2089,2090],{},[42,2091,2092],{},"get_by_ids(ids)",[269,2094,2095],{},"Fetch multiple caches by IDs",[234,2097,2098,2103],{},[269,2099,2100],{},[42,2101,2102],{},"get_all()",[269,2104,2105],{},"Returns all stored caches",[234,2107,2108,2113],{},[269,2109,2110],{},[42,2111,2112],{},"get_cache(cache_ids)",[269,2114,2115],{},"Merge and return a combined cache from multiple IDs",[234,2117,2118,2123],{},[269,2119,2120],{},[42,2121,2122],{},"delete(ids)",[269,2124,2125],{},"Delete caches by IDs",[234,2127,2128,2133],{},[269,2129,2130],{},[42,2131,2132],{},"delete_all()",[269,2134,2135],{},"Delete all caches",[234,2137,2138,2143],{},[269,2139,2140],{},[42,2141,2142],{},"dump(dir)",[269,2144,2145],{},"Serialize all caches to a pickle file in directory",[234,2147,2148,2153],{},[269,2149,2150],{},[42,2151,2152],{},"load(dir)",[269,2154,2155],{},"Load caches from a pickle file in directory",[234,2157,2158,2163],{},[269,2159,2160],{},[42,2161,2162],{},"from_textual_memory(mem)",[269,2164,2165,2166,2169,2170],{},"Convert a ",[42,2167,2168],{},"TextualMemoryItem"," to a ",[42,2171,48],{},[234,2173,2174,2179],{},[269,2175,2176],{},[42,2177,2178],{},"build_vllm_kv_cache( messages)",[269,2180,2181],{},"Build a vLLM KV cache from a list of messages",[16,2183,2184,2185,2187],{},"When calling ",[42,2186,2142],{},", the system writes to:",[2005,2189,2194],{"className":2190,"code":2192,"language":2193},[2191],"language-text","\u003Cdir>/\u003Cconfig.memory_filename>\n","text",[42,2195,2192],{"__ignoreMap":2010},[16,2197,2198,2199,64],{},"This file contains a pickled dictionary of all KV caches, which can be reloaded using ",[42,2200,2152],{},[11,2202,2204],{"id":2203},"how-to-use","How to Use",[2005,2206,2208],{"className":2007,"code":2207,"language":2009,"meta":2010,"style":2010},"from memos.configs.memory import KVCacheMemoryConfig\nfrom memos.memories.activation.kv import KVCacheMemory\n\nconfig = KVCacheMemoryConfig(\n    extractor_llm={\n        \"backend\": \"huggingface\",\n        \"config\": {\"model_name_or_path\": \"Qwen/Qwen3-1.7B\"}\n    }\n)\nmem = KVCacheMemory(config)\n\n# Extract and add a cache\ncache_item = mem.extract(\"The capital of France is Paris.\")\nmem.add([cache_item])\n\n# Retrieve and merge caches\nmerged_cache = mem.get_cache([cache_item.kv_cache_id])\n\n# Save/load\nmem.dump(\"tmp/act_mem\")\nmem.load(\"tmp/act_mem\")\n",[42,2209,2210,2236,2263,2270,2284,2294,2320,2353,2359,2364,2381,2386,2393,2420,2440,2445,2451,2477,2482,2488,2509],{"__ignoreMap":2010},[2014,2211,2212,2216,2220,2222,2225,2227,2230,2233],{"class":2016,"line":2017},[2014,2213,2215],{"class":2214},"s7zQu","from",[2014,2217,2219],{"class":2218},"sTEyZ"," memos",[2014,2221,64],{"class":2023},[2014,2223,2224],{"class":2218},"configs",[2014,2226,64],{"class":2023},[2014,2228,2229],{"class":2218},"memory ",[2014,2231,2232],{"class":2214},"import",[2014,2234,2235],{"class":2218}," KVCacheMemoryConfig\n",[2014,2237,2239,2241,2243,2245,2248,2250,2253,2255,2258,2260],{"class":2016,"line":2238},2,[2014,2240,2215],{"class":2214},[2014,2242,2219],{"class":2218},[2014,2244,64],{"class":2023},[2014,2246,2247],{"class":2218},"memories",[2014,2249,64],{"class":2023},[2014,2251,2252],{"class":2218},"activation",[2014,2254,64],{"class":2023},[2014,2256,2257],{"class":2218},"kv ",[2014,2259,2232],{"class":2214},[2014,2261,2262],{"class":2218}," KVCacheMemory\n",[2014,2264,2266],{"class":2016,"line":2265},3,[2014,2267,2269],{"emptyLinePlaceholder":2268},true,"\n",[2014,2271,2273,2276,2279,2281],{"class":2016,"line":2272},4,[2014,2274,2275],{"class":2218},"config ",[2014,2277,2278],{"class":2023},"=",[2014,2280,2032],{"class":2020},[2014,2282,2283],{"class":2023},"(\n",[2014,2285,2287,2291],{"class":2016,"line":2286},5,[2014,2288,2290],{"class":2289},"sHdIc","    extractor_llm",[2014,2292,2293],{"class":2023},"={\n",[2014,2295,2297,2300,2304,2307,2309,2312,2315,2317],{"class":2016,"line":2296},6,[2014,2298,2299],{"class":2023},"        \"",[2014,2301,2303],{"class":2302},"sfazB","backend",[2014,2305,2306],{"class":2023},"\"",[2014,2308,1930],{"class":2023},[2014,2310,2311],{"class":2023}," \"",[2014,2313,2314],{"class":2302},"huggingface",[2014,2316,2306],{"class":2023},[2014,2318,2319],{"class":2023},",\n",[2014,2321,2323,2325,2327,2329,2331,2334,2336,2339,2341,2343,2345,2348,2350],{"class":2016,"line":2322},7,[2014,2324,2299],{"class":2023},[2014,2326,2027],{"class":2302},[2014,2328,2306],{"class":2023},[2014,2330,1930],{"class":2023},[2014,2332,2333],{"class":2023}," {",[2014,2335,2306],{"class":2023},[2014,2337,2338],{"class":2302},"model_name_or_path",[2014,2340,2306],{"class":2023},[2014,2342,1930],{"class":2023},[2014,2344,2311],{"class":2023},[2014,2346,2347],{"class":2302},"Qwen/Qwen3-1.7B",[2014,2349,2306],{"class":2023},[2014,2351,2352],{"class":2023},"}\n",[2014,2354,2356],{"class":2016,"line":2355},8,[2014,2357,2358],{"class":2023},"    }\n",[2014,2360,2362],{"class":2016,"line":2361},9,[2014,2363,2035],{"class":2023},[2014,2365,2367,2370,2372,2375,2377,2379],{"class":2016,"line":2366},10,[2014,2368,2369],{"class":2218},"mem ",[2014,2371,2278],{"class":2023},[2014,2373,2374],{"class":2020}," KVCacheMemory",[2014,2376,2024],{"class":2023},[2014,2378,2027],{"class":2020},[2014,2380,2035],{"class":2023},[2014,2382,2384],{"class":2016,"line":2383},11,[2014,2385,2269],{"emptyLinePlaceholder":2268},[2014,2387,2389],{"class":2016,"line":2388},12,[2014,2390,2392],{"class":2391},"sHwdD","# Extract and add a cache\n",[2014,2394,2396,2399,2401,2404,2406,2409,2411,2413,2416,2418],{"class":2016,"line":2395},13,[2014,2397,2398],{"class":2218},"cache_item ",[2014,2400,2278],{"class":2023},[2014,2402,2403],{"class":2218}," mem",[2014,2405,64],{"class":2023},[2014,2407,2408],{"class":2020},"extract",[2014,2410,2024],{"class":2023},[2014,2412,2306],{"class":2023},[2014,2414,2415],{"class":2302},"The capital of France is Paris.",[2014,2417,2306],{"class":2023},[2014,2419,2035],{"class":2023},[2014,2421,2423,2426,2428,2431,2434,2437],{"class":2016,"line":2422},14,[2014,2424,2425],{"class":2218},"mem",[2014,2427,64],{"class":2023},[2014,2429,2430],{"class":2020},"add",[2014,2432,2433],{"class":2023},"([",[2014,2435,2436],{"class":2020},"cache_item",[2014,2438,2439],{"class":2023},"])\n",[2014,2441,2443],{"class":2016,"line":2442},15,[2014,2444,2269],{"emptyLinePlaceholder":2268},[2014,2446,2448],{"class":2016,"line":2447},16,[2014,2449,2450],{"class":2391},"# Retrieve and merge caches\n",[2014,2452,2454,2457,2459,2461,2463,2466,2468,2470,2472,2475],{"class":2016,"line":2453},17,[2014,2455,2456],{"class":2218},"merged_cache ",[2014,2458,2278],{"class":2023},[2014,2460,2403],{"class":2218},[2014,2462,64],{"class":2023},[2014,2464,2465],{"class":2020},"get_cache",[2014,2467,2433],{"class":2023},[2014,2469,2436],{"class":2020},[2014,2471,64],{"class":2023},[2014,2473,1954],{"class":2474},"swJcz",[2014,2476,2439],{"class":2023},[2014,2478,2480],{"class":2016,"line":2479},18,[2014,2481,2269],{"emptyLinePlaceholder":2268},[2014,2483,2485],{"class":2016,"line":2484},19,[2014,2486,2487],{"class":2391},"# Save/load\n",[2014,2489,2491,2493,2495,2498,2500,2502,2505,2507],{"class":2016,"line":2490},20,[2014,2492,2425],{"class":2218},[2014,2494,64],{"class":2023},[2014,2496,2497],{"class":2020},"dump",[2014,2499,2024],{"class":2023},[2014,2501,2306],{"class":2023},[2014,2503,2504],{"class":2302},"tmp/act_mem",[2014,2506,2306],{"class":2023},[2014,2508,2035],{"class":2023},[2014,2510,2512,2514,2516,2519,2521,2523,2525,2527],{"class":2016,"line":2511},21,[2014,2513,2425],{"class":2218},[2014,2515,64],{"class":2023},[2014,2517,2518],{"class":2020},"load",[2014,2520,2024],{"class":2023},[2014,2522,2306],{"class":2023},[2014,2524,2504],{"class":2302},[2014,2526,2306],{"class":2023},[2014,2528,2035],{"class":2023},[11,2530,2532],{"id":2531},"developer-notes","Developer Notes",[25,2534,2535,2541,2544],{},[28,2536,2537,2538,2540],{},"Uses HuggingFace ",[42,2539,1974],{}," for efficient key-value storage",[28,2542,2543],{},"Pickle-based serialization for fast load/save",[28,2545,2546,2547],{},"All methods are covered by integration tests in ",[42,2548,2549],{},"/tests",[2551,2552,2553],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":2010,"searchDepth":2238,"depth":2238,"links":2555},[2556,2557,2563,2564,2569,2570],{"id":13,"depth":2238,"text":14},{"id":67,"depth":2238,"text":68,"children":2558},[2559,2560,2561,2562],{"id":82,"depth":2265,"text":83},{"id":98,"depth":2265,"text":99},{"id":117,"depth":2265,"text":118},{"id":152,"depth":2265,"text":153},{"id":1916,"depth":2238,"text":1917},{"id":1995,"depth":2238,"text":2565,"children":2566},"API Summary (KVCacheMemory)",[2567,2568],{"id":2002,"depth":2265,"text":2003},{"id":2038,"depth":2265,"text":2039},{"id":2203,"depth":2238,"text":2204},{"id":2531,"depth":2238,"text":2532},"`KVCacheMemory` is a specialized memory module in MemOS for storing and managing key-value (KV) caches, primarily used to accelerate large language model (LLM) inference and support efficient context reuse. It is especially useful for activation memory in conversational and generative AI systems.","md",{},"/en/open_source/modules/memories/kv_cache_memory",{"title":5,"description":2010},"en/open_source/modules/memories/kv_cache_memory","_fqO928jSe9sHbDh1NquASIlfZRzqqILNBDI6JCtTo4",[2579,2587],{"title":2580,"path":2581,"stem":2582,"icon":2583,"framework":6,"module":6,"class":2584,"target":-1,"active":2585,"defaultOpen":2585,"children":-1,"description":2586},"PolarDB Graph Database","/open_source/modules/memories/polardb_graph_db","open_source/modules/memories/polardb_graph_db","i-ri-database-line",[],false,"Configuration and usage of PolarDB graph database in the MemOS framework. MemOS supports using PolarDB (based on Apache AGE extension) as a graph database backend for storing and retrieving knowledge graph-style memory data. PolarDB combines the powerful capabilities of PostgreSQL with the flexibility of graph databases, making it particularly suitable for scenarios requiring both relational and graph data queries.",{"title":2588,"path":2589,"stem":2590,"icon":2591,"framework":6,"module":6,"class":2592,"target":-1,"active":2585,"defaultOpen":2585,"children":-1,"description":-1},"Parametric Memory","/open_source/modules/memories/parametric_memory","open_source/modules/memories/parametric_memory","i-ri-cpu-line",[],1770372083913]