[{"data":1,"prerenderedAt":1238},["ShallowReactive",2],{"/open_source/modules/memories/general_textual_memory":3,"surround-/open_source/modules/memories/general_textual_memory":1222},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":1215,"description":443,"extension":1216,"links":6,"meta":1217,"navigation":6,"path":1218,"seo":1219,"stem":1220,"__hash__":1221},"docs/en/open_source/modules/memories/general_textual_memory.md","GeneralTextMemory: General-Purpose Textual Memory",null,{"type":8,"value":9,"toc":1198},"minimark",[10,15,92,95,103,169,175,332,335,339,342,346,429,434,437,469,472,595,598,604,612,618,621,1143,1161,1177,1180,1194],[11,12,14],"h2",{"id":13},"table-of-contents","Table of Contents",[16,17,18,39,62,68,74,80,86],"ul",{},[19,20,21,26],"li",{},[22,23,25],"a",{"href":24},"#memory-structure","Memory Structure",[16,27,28],{},[19,29,30],{},[22,31,33,34,38],{"href":32},"#metadata-fields-textualmemorymetadata","Metadata Fields (",[35,36,37],"code",{},"TextualMemoryMetadata",")",[19,40,41,48],{},[22,42,44,45,38],{"href":43},"#api-summary-generaltextmemory","API Summary (",[35,46,47],{},"GeneralTextMemory",[16,49,50,56],{},[19,51,52],{},[22,53,55],{"href":54},"#initialization","Initialization",[19,57,58],{},[22,59,61],{"href":60},"#core-methods","Core Methods",[19,63,64],{},[22,65,67],{"href":66},"#file-storage","File Storage",[19,69,70],{},[22,71,73],{"href":72},"#example-usage","Example Usage",[19,75,76],{},[22,77,79],{"href":78},"#extension-internet-retrieval","Extension: Internet Retrieval",[19,81,82],{},[22,83,85],{"href":84},"#advanced-using-multimodal-reader","Advanced: Using MultiModal Reader",[19,87,88],{},[22,89,91],{"href":90},"#developer-notes","Developer Notes",[11,93,25],{"id":94},"memory-structure",[96,97,98,99,102],"p",{},"Each memory is represented as a ",[35,100,101],{},"TextualMemoryItem",":",[104,105,106,122],"table",{},[107,108,109],"thead",{},[110,111,112,116,119],"tr",{},[113,114,115],"th",{},"Field",[113,117,118],{},"Type",[113,120,121],{},"Description",[123,124,125,141,155],"tbody",{},[110,126,127,133,138],{},[128,129,130],"td",{},[35,131,132],{},"id",[128,134,135],{},[35,136,137],{},"str",[128,139,140],{},"UUID (auto-generated if omitted)",[110,142,143,148,152],{},[128,144,145],{},[35,146,147],{},"memory",[128,149,150],{},[35,151,137],{},[128,153,154],{},"The main memory content (required)",[110,156,157,162,166],{},[128,158,159],{},[35,160,161],{},"metadata",[128,163,164],{},[35,165,37],{},[128,167,168],{},"Metadata for search/filtering",[170,171,33,173,38],"h3",{"id":172},"metadata-fields-textualmemorymetadata",[35,174,37],{},[104,176,177,187],{},[107,178,179],{},[110,180,181,183,185],{},[113,182,115],{},[113,184,118],{},[113,186,121],{},[123,188,189,214,229,253,268,283,297,318],{},[110,190,191,196,211],{},[128,192,193],{},[35,194,195],{},"type",[128,197,198,201,202,201,205,201,208],{},[35,199,200],{},"\"procedure\"",", ",[35,203,204],{},"\"fact\"",[35,206,207],{},"\"event\"",[35,209,210],{},"\"opinion\"",[128,212,213],{},"Memory type",[110,215,216,221,226],{},[128,217,218],{},[35,219,220],{},"memory_time",[128,222,223],{},[35,224,225],{},"str (YYYY-MM-DD)",[128,227,228],{},"Date/time the memory refers to",[110,230,231,236,250],{},[128,232,233],{},[35,234,235],{},"source",[128,237,238,201,241,201,244,201,247],{},[35,239,240],{},"\"conversation\"",[35,242,243],{},"\"retrieved\"",[35,245,246],{},"\"web\"",[35,248,249],{},"\"file\"",[128,251,252],{},"Source of the memory",[110,254,255,260,265],{},[128,256,257],{},[35,258,259],{},"confidence",[128,261,262],{},[35,263,264],{},"float (0-100)",[128,266,267],{},"Certainty/confidence score",[110,269,270,275,280],{},[128,271,272],{},[35,273,274],{},"entities",[128,276,277],{},[35,278,279],{},"list[str]",[128,281,282],{},"Key entities/concepts",[110,284,285,290,294],{},[128,286,287],{},[35,288,289],{},"tags",[128,291,292],{},[35,293,279],{},[128,295,296],{},"Thematic tags",[110,298,299,304,315],{},[128,300,301],{},[35,302,303],{},"visibility",[128,305,306,201,309,201,312],{},[35,307,308],{},"\"private\"",[35,310,311],{},"\"public\"",[35,313,314],{},"\"session\"",[128,316,317],{},"Access scope",[110,319,320,325,329],{},[128,321,322],{},[35,323,324],{},"updated_at",[128,326,327],{},[35,328,137],{},[128,330,331],{},"Last update timestamp (ISO 8601)",[96,333,334],{},"All values are validated. Invalid values will raise errors.",[170,336,338],{"id":337},"search-mechanism","Search Mechanism",[96,340,341],{},"Unlike NaiveTextMemory, which relies on keyword matching, GeneralTextMemory utilizes vector-based semantic search.",[11,343,345],{"id":344},"algorithm-comparison","Algorithm Comparison",[104,347,348,361],{},[107,349,350],{},[110,351,352,355,358],{},[113,353,354],{},"Feature",[113,356,357],{},"Keyword Matching",[113,359,360],{},"Vector Semantic Search",[123,362,363,377,390,403,416],{},[110,364,365,371,374],{},[128,366,367],{},[368,369,370],"strong",{},"Semantic Understanding",[128,372,373],{},"❌ Doesn't understand synonyms",[128,375,376],{},"✅ Understands similar concepts",[110,378,379,384,387],{},[128,380,381],{},[368,382,383],{},"Resource Usage",[128,385,386],{},"✅ Extremely low",[128,388,389],{},"⚠️ Requires embedding model and vector DB",[110,391,392,397,400],{},[128,393,394],{},[368,395,396],{},"Execution Speed",[128,398,399],{},"✅ Fast (O(n))",[128,401,402],{},"⚠️ Slower (indexing + querying)",[110,404,405,410,413],{},[128,406,407],{},[368,408,409],{},"Suitable Scale",[128,411,412],{},"\u003C 1K memories",[128,414,415],{},"10K - 100K memories",[110,417,418,423,426],{},[128,419,420],{},[368,421,422],{},"Predictability",[128,424,425],{},"✅ Intuitive results",[128,427,428],{},"⚠️ Black box model",[11,430,44,432,38],{"id":431},"api-summary-generaltextmemory",[35,433,47],{},[170,435,55],{"id":436},"initialization",[438,439,444],"pre",{"className":440,"code":441,"language":442,"meta":443,"style":443},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GeneralTextMemory(config: GeneralTextMemoryConfig)\n","python","",[35,445,446],{"__ignoreMap":443},[447,448,451,454,458,461,463,466],"span",{"class":449,"line":450},"line",1,[447,452,47],{"class":453},"s2Zo4",[447,455,457],{"class":456},"sMK4o","(",[447,459,460],{"class":453},"config",[447,462,102],{"class":456},[447,464,465],{"class":453}," GeneralTextMemoryConfig",[447,467,468],{"class":456},")\n",[170,470,61],{"id":471},"core-methods",[104,473,474,483],{},[107,475,476],{},[110,477,478,481],{},[113,479,480],{},"Method",[113,482,121],{},[123,484,485,495,505,515,525,535,545,555,565,575,585],{},[110,486,487,492],{},[128,488,489],{},[35,490,491],{},"extract(messages)",[128,493,494],{},"Extracts memories from message list (LLM-based)",[110,496,497,502],{},[128,498,499],{},[35,500,501],{},"add(memories)",[128,503,504],{},"Adds one or more memories (items or dicts)",[110,506,507,512],{},[128,508,509],{},[35,510,511],{},"search(query, top_k)",[128,513,514],{},"Retrieves top-k memories using vector similarity",[110,516,517,522],{},[128,518,519],{},[35,520,521],{},"get(memory_id)",[128,523,524],{},"Fetch single memory by ID",[110,526,527,532],{},[128,528,529],{},[35,530,531],{},"get_by_ids(ids)",[128,533,534],{},"Fetch multiple memories by IDs",[110,536,537,542],{},[128,538,539],{},[35,540,541],{},"get_all()",[128,543,544],{},"Returns all memories",[110,546,547,552],{},[128,548,549],{},[35,550,551],{},"update(memory_id, new)",[128,553,554],{},"Update a memory by ID",[110,556,557,562],{},[128,558,559],{},[35,560,561],{},"delete(ids)",[128,563,564],{},"Delete memories by IDs",[110,566,567,572],{},[128,568,569],{},[35,570,571],{},"delete_all()",[128,573,574],{},"Delete all memories",[110,576,577,582],{},[128,578,579],{},[35,580,581],{},"dump(dir)",[128,583,584],{},"Serialize all memories to JSON file in directory",[110,586,587,592],{},[128,588,589],{},[35,590,591],{},"load(dir)",[128,593,594],{},"Load memories from saved file",[11,596,67],{"id":597},"file-storage",[96,599,600,601,603],{},"When calling ",[35,602,581],{},", the system stores the memories to:",[438,605,610],{"className":606,"code":608,"language":609},[607],"language-text","\u003Cdir>/\u003Cconfig.memory_filename>\n","text",[35,611,608],{"__ignoreMap":443},[96,613,614,615,617],{},"This file contains a JSON list of all memory items, which can be reloaded using ",[35,616,591],{},".",[11,619,73],{"id":620},"example-usage",[438,622,624],{"className":440,"code":623,"language":442,"meta":443,"style":443},"import os\nfrom memos.configs.memory import MemoryConfigFactory\nfrom memos.memories.factory import MemoryFactory\n\nconfig = MemoryConfigFactory(\n    backend=\"general_text\",\n    config={\n        \"extractor_llm\": { ... },\n        \"vector_db\": { ... },\n        \"embedder\": { ... },\n    },\n)\nm = MemoryFactory.from_config(config)\n\n# Extract and add memories\nmemories = m.extract([\n    {\"role\": \"user\", \"content\": \"I love tomatoes.\"},\n    {\"role\": \"assistant\", \"content\": \"Great! Tomatoes are delicious.\"},\n])\nm.add(memories)\n\n# Search\nresults = m.search(\"Tell me more about the user\", top_k=2)\n\n# Update\nm.update(memory_id, {\"memory\": \"User is Canadian.\", ...})\n\n# Delete\nm.delete([memory_id])\n\n# Dump/load\nm.dump(\"tmp/mem\")\nm.load(\"tmp/mem\")\n",[35,625,626,636,660,682,689,704,725,734,756,774,792,798,803,825,830,837,856,900,939,945,962,967,973,1010,1015,1021,1063,1068,1074,1091,1096,1102,1123],{"__ignoreMap":443},[447,627,628,632],{"class":449,"line":450},[447,629,631],{"class":630},"s7zQu","import",[447,633,635],{"class":634},"sTEyZ"," os\n",[447,637,639,642,645,647,650,652,655,657],{"class":449,"line":638},2,[447,640,641],{"class":630},"from",[447,643,644],{"class":634}," memos",[447,646,617],{"class":456},[447,648,649],{"class":634},"configs",[447,651,617],{"class":456},[447,653,654],{"class":634},"memory ",[447,656,631],{"class":630},[447,658,659],{"class":634}," MemoryConfigFactory\n",[447,661,663,665,667,669,672,674,677,679],{"class":449,"line":662},3,[447,664,641],{"class":630},[447,666,644],{"class":634},[447,668,617],{"class":456},[447,670,671],{"class":634},"memories",[447,673,617],{"class":456},[447,675,676],{"class":634},"factory ",[447,678,631],{"class":630},[447,680,681],{"class":634}," MemoryFactory\n",[447,683,685],{"class":449,"line":684},4,[447,686,688],{"emptyLinePlaceholder":687},true,"\n",[447,690,692,695,698,701],{"class":449,"line":691},5,[447,693,694],{"class":634},"config ",[447,696,697],{"class":456},"=",[447,699,700],{"class":453}," MemoryConfigFactory",[447,702,703],{"class":456},"(\n",[447,705,707,711,713,716,720,722],{"class":449,"line":706},6,[447,708,710],{"class":709},"sHdIc","    backend",[447,712,697],{"class":456},[447,714,715],{"class":456},"\"",[447,717,719],{"class":718},"sfazB","general_text",[447,721,715],{"class":456},[447,723,724],{"class":456},",\n",[447,726,728,731],{"class":449,"line":727},7,[447,729,730],{"class":709},"    config",[447,732,733],{"class":456},"={\n",[447,735,737,740,743,745,747,750,753],{"class":449,"line":736},8,[447,738,739],{"class":456},"        \"",[447,741,742],{"class":718},"extractor_llm",[447,744,715],{"class":456},[447,746,102],{"class":456},[447,748,749],{"class":456}," {",[447,751,752],{"class":453}," ... ",[447,754,755],{"class":456},"},\n",[447,757,759,761,764,766,768,770,772],{"class":449,"line":758},9,[447,760,739],{"class":456},[447,762,763],{"class":718},"vector_db",[447,765,715],{"class":456},[447,767,102],{"class":456},[447,769,749],{"class":456},[447,771,752],{"class":453},[447,773,755],{"class":456},[447,775,777,779,782,784,786,788,790],{"class":449,"line":776},10,[447,778,739],{"class":456},[447,780,781],{"class":718},"embedder",[447,783,715],{"class":456},[447,785,102],{"class":456},[447,787,749],{"class":456},[447,789,752],{"class":453},[447,791,755],{"class":456},[447,793,795],{"class":449,"line":794},11,[447,796,797],{"class":456},"    },\n",[447,799,801],{"class":449,"line":800},12,[447,802,468],{"class":456},[447,804,806,809,811,814,816,819,821,823],{"class":449,"line":805},13,[447,807,808],{"class":634},"m ",[447,810,697],{"class":456},[447,812,813],{"class":634}," MemoryFactory",[447,815,617],{"class":456},[447,817,818],{"class":453},"from_config",[447,820,457],{"class":456},[447,822,460],{"class":453},[447,824,468],{"class":456},[447,826,828],{"class":449,"line":827},14,[447,829,688],{"emptyLinePlaceholder":687},[447,831,833],{"class":449,"line":832},15,[447,834,836],{"class":835},"sHwdD","# Extract and add memories\n",[447,838,840,843,845,848,850,853],{"class":449,"line":839},16,[447,841,842],{"class":634},"memories ",[447,844,697],{"class":456},[447,846,847],{"class":634}," m",[447,849,617],{"class":456},[447,851,852],{"class":453},"extract",[447,854,855],{"class":456},"([\n",[447,857,859,862,864,867,869,871,874,877,879,882,884,887,889,891,893,896,898],{"class":449,"line":858},17,[447,860,861],{"class":456},"    {",[447,863,715],{"class":456},[447,865,866],{"class":718},"role",[447,868,715],{"class":456},[447,870,102],{"class":456},[447,872,873],{"class":456}," \"",[447,875,876],{"class":718},"user",[447,878,715],{"class":456},[447,880,881],{"class":456},",",[447,883,873],{"class":456},[447,885,886],{"class":718},"content",[447,888,715],{"class":456},[447,890,102],{"class":456},[447,892,873],{"class":456},[447,894,895],{"class":718},"I love tomatoes.",[447,897,715],{"class":456},[447,899,755],{"class":456},[447,901,903,905,907,909,911,913,915,918,920,922,924,926,928,930,932,935,937],{"class":449,"line":902},18,[447,904,861],{"class":456},[447,906,715],{"class":456},[447,908,866],{"class":718},[447,910,715],{"class":456},[447,912,102],{"class":456},[447,914,873],{"class":456},[447,916,917],{"class":718},"assistant",[447,919,715],{"class":456},[447,921,881],{"class":456},[447,923,873],{"class":456},[447,925,886],{"class":718},[447,927,715],{"class":456},[447,929,102],{"class":456},[447,931,873],{"class":456},[447,933,934],{"class":718},"Great! Tomatoes are delicious.",[447,936,715],{"class":456},[447,938,755],{"class":456},[447,940,942],{"class":449,"line":941},19,[447,943,944],{"class":456},"])\n",[447,946,948,951,953,956,958,960],{"class":449,"line":947},20,[447,949,950],{"class":634},"m",[447,952,617],{"class":456},[447,954,955],{"class":453},"add",[447,957,457],{"class":456},[447,959,671],{"class":453},[447,961,468],{"class":456},[447,963,965],{"class":449,"line":964},21,[447,966,688],{"emptyLinePlaceholder":687},[447,968,970],{"class":449,"line":969},22,[447,971,972],{"class":835},"# Search\n",[447,974,976,979,981,983,985,988,990,992,995,997,999,1002,1004,1008],{"class":449,"line":975},23,[447,977,978],{"class":634},"results ",[447,980,697],{"class":456},[447,982,847],{"class":634},[447,984,617],{"class":456},[447,986,987],{"class":453},"search",[447,989,457],{"class":456},[447,991,715],{"class":456},[447,993,994],{"class":718},"Tell me more about the user",[447,996,715],{"class":456},[447,998,881],{"class":456},[447,1000,1001],{"class":709}," top_k",[447,1003,697],{"class":456},[447,1005,1007],{"class":1006},"sbssI","2",[447,1009,468],{"class":456},[447,1011,1013],{"class":449,"line":1012},24,[447,1014,688],{"emptyLinePlaceholder":687},[447,1016,1018],{"class":449,"line":1017},25,[447,1019,1020],{"class":835},"# Update\n",[447,1022,1024,1026,1028,1031,1033,1036,1038,1040,1042,1044,1046,1048,1050,1053,1055,1057,1060],{"class":449,"line":1023},26,[447,1025,950],{"class":634},[447,1027,617],{"class":456},[447,1029,1030],{"class":453},"update",[447,1032,457],{"class":456},[447,1034,1035],{"class":453},"memory_id",[447,1037,881],{"class":456},[447,1039,749],{"class":456},[447,1041,715],{"class":456},[447,1043,147],{"class":718},[447,1045,715],{"class":456},[447,1047,102],{"class":456},[447,1049,873],{"class":456},[447,1051,1052],{"class":718},"User is Canadian.",[447,1054,715],{"class":456},[447,1056,881],{"class":456},[447,1058,1059],{"class":453}," ...",[447,1061,1062],{"class":456},"})\n",[447,1064,1066],{"class":449,"line":1065},27,[447,1067,688],{"emptyLinePlaceholder":687},[447,1069,1071],{"class":449,"line":1070},28,[447,1072,1073],{"class":835},"# Delete\n",[447,1075,1077,1079,1081,1084,1087,1089],{"class":449,"line":1076},29,[447,1078,950],{"class":634},[447,1080,617],{"class":456},[447,1082,1083],{"class":453},"delete",[447,1085,1086],{"class":456},"([",[447,1088,1035],{"class":453},[447,1090,944],{"class":456},[447,1092,1094],{"class":449,"line":1093},30,[447,1095,688],{"emptyLinePlaceholder":687},[447,1097,1099],{"class":449,"line":1098},31,[447,1100,1101],{"class":835},"# Dump/load\n",[447,1103,1105,1107,1109,1112,1114,1116,1119,1121],{"class":449,"line":1104},32,[447,1106,950],{"class":634},[447,1108,617],{"class":456},[447,1110,1111],{"class":453},"dump",[447,1113,457],{"class":456},[447,1115,715],{"class":456},[447,1117,1118],{"class":718},"tmp/mem",[447,1120,715],{"class":456},[447,1122,468],{"class":456},[447,1124,1126,1128,1130,1133,1135,1137,1139,1141],{"class":449,"line":1125},33,[447,1127,950],{"class":634},[447,1129,617],{"class":456},[447,1131,1132],{"class":453},"load",[447,1134,457],{"class":456},[447,1136,715],{"class":456},[447,1138,1118],{"class":718},[447,1140,715],{"class":456},[447,1142,468],{"class":456},[1144,1145,1146],"note",{},[96,1147,1148,1150,1153,1154,1156,1157],{},[368,1149,79],{},[1151,1152],"br",{},"\nGeneralTextMemory can be combined with Internet Retrieval to extract content from web pages and add to memory.",[1151,1155],{},"\nView example: ",[22,1158,1160],{"href":1159},"./tree_textual_memory#retrieve-memories-from-the-internet-optional","Retrieve Memories from the Internet",[1144,1162,1163],{},[96,1164,1165,1167,1169,1170,1172,1173],{},[368,1166,85],{},[1151,1168],{},"\nFor processing images, URLs, or files within conversations, see the comprehensive MultiModal Reader examples.",[1151,1171],{},"\nView documentation: ",[22,1174,1176],{"href":1175},"./tree_textual_memory#using-multimodalstructmemreader-advanced","Using MultiModalStructMemReader",[11,1178,91],{"id":1179},"developer-notes",[16,1181,1182,1185,1188],{},[19,1183,1184],{},"Uses Qdrant (or compatible) vector DB for fast similarity search",[19,1186,1187],{},"Embedding and extraction models are configurable (Ollama/OpenAI supported)",[19,1189,1190,1191],{},"All methods are covered by integration tests in ",[35,1192,1193],{},"/tests",[1195,1196,1197],"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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":443,"searchDepth":638,"depth":638,"links":1199},[1200,1201,1206,1207,1212,1213,1214],{"id":13,"depth":638,"text":14},{"id":94,"depth":638,"text":25,"children":1202},[1203,1205],{"id":172,"depth":662,"text":1204},"Metadata Fields (TextualMemoryMetadata)",{"id":337,"depth":662,"text":338},{"id":344,"depth":638,"text":345},{"id":431,"depth":638,"text":1208,"children":1209},"API Summary (GeneralTextMemory)",[1210,1211],{"id":436,"depth":662,"text":55},{"id":471,"depth":662,"text":61},{"id":597,"depth":638,"text":67},{"id":620,"depth":638,"text":73},{"id":1179,"depth":638,"text":91},"`GeneralTextMemory` is a flexible, vector-based textual memory module in MemOS, designed for storing, searching, and managing unstructured knowledge. It is suitable for conversational agents, personal assistants, and any system requiring semantic memory retrieval.","md",{},"/en/open_source/modules/memories/general_textual_memory",{"title":5,"description":443},"en/open_source/modules/memories/general_textual_memory","uZvfm9w7kUoa30fZbGCotGpvlhJ1SQc3Dwml7nPLkUI",[1223,1231],{"title":1224,"path":1225,"stem":1226,"icon":1227,"framework":6,"module":6,"class":1228,"target":-1,"active":1229,"defaultOpen":1229,"children":-1,"description":1230},"Naive Textual Memory","/open_source/modules/memories/naive_textual_memory","open_source/modules/memories/naive_textual_memory","i-ri-file-text-line",[],false,"The most lightweight memory module in MemOS, designed for rapid prototyping and simple scenarios. No vector database required—quickly retrieve memories using keyword matching.",{"title":1232,"path":1233,"stem":1234,"icon":1235,"framework":6,"module":6,"class":1236,"target":-1,"active":1229,"defaultOpen":1229,"children":-1,"description":1237},"Preference Textual Memory","/open_source/modules/memories/preference_textual_memory","open_source/modules/memories/preference_textual_memory","i-ri-user-heart-line",[],"PreferenceTextMemory is a textual memory module in MemOS for storing and managing user preferences. It is suitable for scenarios where memory retrieval needs to be based on user preferences.",1770372085682]