[{"data":1,"prerenderedAt":533},["ShallowReactive",2],{"/open_source/best_practice/performance_tuning":3,"surround-/open_source/best_practice/performance_tuning":518},{"id":4,"title":5,"avatar":6,"banner":6,"body":7,"category":6,"desc":6,"description":21,"extension":512,"links":6,"meta":513,"navigation":6,"path":514,"seo":515,"stem":516,"__hash__":517},"docs/en/open_source/best_practice/performance_tuning.md","Performance Tuning",null,{"type":8,"value":9,"toc":504},"minimark",[10,15,193,197,267,271,276,385,389,500],[11,12,14],"h2",{"id":13},"embedding-optimization","Embedding Optimization",[16,17,22],"pre",{"className":18,"code":19,"language":20,"meta":21,"style":21},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","fast_embedder = {\n    \"backend\": \"ollama\",\n    \"config\": {\n        \"model_name_or_path\": \"nomic-embed-text:latest\"\n    }\n}\n\nslow_embedder = {\n    \"backend\": \"sentence_transformer\",\n    \"config\": {\n        \"model_name_or_path\": \"nomic-ai/nomic-embed-text-v1.5\"\n    }\n}\n","python","",[23,24,25,41,68,82,103,109,115,122,132,152,165,183,188],"code",{"__ignoreMap":21},[26,27,30,34,38],"span",{"class":28,"line":29},"line",1,[26,31,33],{"class":32},"sTEyZ","fast_embedder ",[26,35,37],{"class":36},"sMK4o","=",[26,39,40],{"class":36}," {\n",[26,42,44,47,51,54,57,60,63,65],{"class":28,"line":43},2,[26,45,46],{"class":36},"    \"",[26,48,50],{"class":49},"sfazB","backend",[26,52,53],{"class":36},"\"",[26,55,56],{"class":36},":",[26,58,59],{"class":36}," \"",[26,61,62],{"class":49},"ollama",[26,64,53],{"class":36},[26,66,67],{"class":36},",\n",[26,69,71,73,76,78,80],{"class":28,"line":70},3,[26,72,46],{"class":36},[26,74,75],{"class":49},"config",[26,77,53],{"class":36},[26,79,56],{"class":36},[26,81,40],{"class":36},[26,83,85,88,91,93,95,97,100],{"class":28,"line":84},4,[26,86,87],{"class":36},"        \"",[26,89,90],{"class":49},"model_name_or_path",[26,92,53],{"class":36},[26,94,56],{"class":36},[26,96,59],{"class":36},[26,98,99],{"class":49},"nomic-embed-text:latest",[26,101,102],{"class":36},"\"\n",[26,104,106],{"class":28,"line":105},5,[26,107,108],{"class":36},"    }\n",[26,110,112],{"class":28,"line":111},6,[26,113,114],{"class":36},"}\n",[26,116,118],{"class":28,"line":117},7,[26,119,121],{"emptyLinePlaceholder":120},true,"\n",[26,123,125,128,130],{"class":28,"line":124},8,[26,126,127],{"class":32},"slow_embedder ",[26,129,37],{"class":36},[26,131,40],{"class":36},[26,133,135,137,139,141,143,145,148,150],{"class":28,"line":134},9,[26,136,46],{"class":36},[26,138,50],{"class":49},[26,140,53],{"class":36},[26,142,56],{"class":36},[26,144,59],{"class":36},[26,146,147],{"class":49},"sentence_transformer",[26,149,53],{"class":36},[26,151,67],{"class":36},[26,153,155,157,159,161,163],{"class":28,"line":154},10,[26,156,46],{"class":36},[26,158,75],{"class":49},[26,160,53],{"class":36},[26,162,56],{"class":36},[26,164,40],{"class":36},[26,166,168,170,172,174,176,178,181],{"class":28,"line":167},11,[26,169,87],{"class":36},[26,171,90],{"class":49},[26,173,53],{"class":36},[26,175,56],{"class":36},[26,177,59],{"class":36},[26,179,180],{"class":49},"nomic-ai/nomic-embed-text-v1.5",[26,182,102],{"class":36},[26,184,186],{"class":28,"line":185},12,[26,187,108],{"class":36},[26,189,191],{"class":28,"line":190},13,[26,192,114],{"class":36},[11,194,196],{"id":195},"inference-speed","Inference Speed",[16,198,200],{"className":18,"code":199,"language":20,"meta":21,"style":21},"generation_config = {\n    \"max_new_tokens\": 256,  # Limit response length\n    \"temperature\": 0.7,\n    \"do_sample\": True\n}\n",[23,201,202,211,233,249,263],{"__ignoreMap":21},[26,203,204,207,209],{"class":28,"line":29},[26,205,206],{"class":32},"generation_config ",[26,208,37],{"class":36},[26,210,40],{"class":36},[26,212,213,215,218,220,222,226,229],{"class":28,"line":43},[26,214,46],{"class":36},[26,216,217],{"class":49},"max_new_tokens",[26,219,53],{"class":36},[26,221,56],{"class":36},[26,223,225],{"class":224},"sbssI"," 256",[26,227,228],{"class":36},",",[26,230,232],{"class":231},"sHwdD","  # Limit response length\n",[26,234,235,237,240,242,244,247],{"class":28,"line":70},[26,236,46],{"class":36},[26,238,239],{"class":49},"temperature",[26,241,53],{"class":36},[26,243,56],{"class":36},[26,245,246],{"class":224}," 0.7",[26,248,67],{"class":36},[26,250,251,253,256,258,260],{"class":28,"line":84},[26,252,46],{"class":36},[26,254,255],{"class":49},"do_sample",[26,257,53],{"class":36},[26,259,56],{"class":36},[26,261,262],{"class":36}," True\n",[26,264,265],{"class":28,"line":105},[26,266,114],{"class":36},[11,268,270],{"id":269},"system-resource-optimization","System Resource Optimization",[272,273,275],"h3",{"id":274},"memory-capacity-limits","Memory Capacity Limits",[16,277,279],{"className":18,"code":278,"language":20,"meta":21,"style":21},"scheduler_config = {\n    \"memory_capacities\": {\n        \"working_memory_capacity\": 20,         # Active context\n        \"user_memory_capacity\": 500,           # User storage\n        \"long_term_memory_capacity\": 2000,     # Domain knowledge\n        \"transformed_act_memory_capacity\": 50  # KV cache items\n    }\n}\n",[23,280,281,290,303,322,341,360,377,381],{"__ignoreMap":21},[26,282,283,286,288],{"class":28,"line":29},[26,284,285],{"class":32},"scheduler_config ",[26,287,37],{"class":36},[26,289,40],{"class":36},[26,291,292,294,297,299,301],{"class":28,"line":43},[26,293,46],{"class":36},[26,295,296],{"class":49},"memory_capacities",[26,298,53],{"class":36},[26,300,56],{"class":36},[26,302,40],{"class":36},[26,304,305,307,310,312,314,317,319],{"class":28,"line":70},[26,306,87],{"class":36},[26,308,309],{"class":49},"working_memory_capacity",[26,311,53],{"class":36},[26,313,56],{"class":36},[26,315,316],{"class":224}," 20",[26,318,228],{"class":36},[26,320,321],{"class":231},"         # Active context\n",[26,323,324,326,329,331,333,336,338],{"class":28,"line":84},[26,325,87],{"class":36},[26,327,328],{"class":49},"user_memory_capacity",[26,330,53],{"class":36},[26,332,56],{"class":36},[26,334,335],{"class":224}," 500",[26,337,228],{"class":36},[26,339,340],{"class":231},"           # User storage\n",[26,342,343,345,348,350,352,355,357],{"class":28,"line":105},[26,344,87],{"class":36},[26,346,347],{"class":49},"long_term_memory_capacity",[26,349,53],{"class":36},[26,351,56],{"class":36},[26,353,354],{"class":224}," 2000",[26,356,228],{"class":36},[26,358,359],{"class":231},"     # Domain knowledge\n",[26,361,362,364,367,369,371,374],{"class":28,"line":111},[26,363,87],{"class":36},[26,365,366],{"class":49},"transformed_act_memory_capacity",[26,368,53],{"class":36},[26,370,56],{"class":36},[26,372,373],{"class":224}," 50",[26,375,376],{"class":231},"  # KV cache items\n",[26,378,379],{"class":28,"line":117},[26,380,108],{"class":36},[26,382,383],{"class":28,"line":124},[26,384,114],{"class":36},[272,386,388],{"id":387},"batch-processing","Batch Processing",[16,390,392],{"className":18,"code":391,"language":20,"meta":21,"style":21},"def batch_memory_operations(operations, batch_size=10):\n    for i in range(0, len(operations), batch_size):\n        batch = operations[i:i + batch_size]\n        yield batch  # Process in batches\n",[23,393,394,424,460,489],{"__ignoreMap":21},[26,395,396,400,404,407,411,413,416,418,421],{"class":28,"line":29},[26,397,399],{"class":398},"spNyl","def",[26,401,403],{"class":402},"s2Zo4"," batch_memory_operations",[26,405,406],{"class":36},"(",[26,408,410],{"class":409},"sHdIc","operations",[26,412,228],{"class":36},[26,414,415],{"class":409}," batch_size",[26,417,37],{"class":36},[26,419,420],{"class":224},"10",[26,422,423],{"class":36},"):\n",[26,425,426,430,433,436,439,441,444,446,449,451,453,456,458],{"class":28,"line":43},[26,427,429],{"class":428},"s7zQu","    for",[26,431,432],{"class":32}," i ",[26,434,435],{"class":428},"in",[26,437,438],{"class":402}," range",[26,440,406],{"class":36},[26,442,443],{"class":224},"0",[26,445,228],{"class":36},[26,447,448],{"class":402}," len",[26,450,406],{"class":36},[26,452,410],{"class":402},[26,454,455],{"class":36},"),",[26,457,415],{"class":402},[26,459,423],{"class":36},[26,461,462,465,467,470,473,476,478,481,484,486],{"class":28,"line":70},[26,463,464],{"class":32},"        batch ",[26,466,37],{"class":36},[26,468,469],{"class":32}," operations",[26,471,472],{"class":36},"[",[26,474,475],{"class":32},"i",[26,477,56],{"class":36},[26,479,480],{"class":32},"i ",[26,482,483],{"class":36},"+",[26,485,415],{"class":32},[26,487,488],{"class":36},"]\n",[26,490,491,494,497],{"class":28,"line":84},[26,492,493],{"class":428},"        yield",[26,495,496],{"class":32}," batch  ",[26,498,499],{"class":231},"# Process in batches\n",[501,502,503],"style",{},"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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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}",{"title":21,"searchDepth":43,"depth":43,"links":505},[506,507,508],{"id":13,"depth":43,"text":14},{"id":195,"depth":43,"text":196},{"id":269,"depth":43,"text":270,"children":509},[510,511],{"id":274,"depth":70,"text":275},{"id":387,"depth":70,"text":388},"md",{},"/en/open_source/best_practice/performance_tuning",{"title":5,"description":21},"en/open_source/best_practice/performance_tuning","nIRcKstF5By3FIVBG8fZPwSgiOWTMOgdqjjfGNKvXLo",[519,526],{"title":520,"path":521,"stem":522,"icon":523,"framework":6,"module":6,"class":524,"target":-1,"active":525,"defaultOpen":525,"children":-1,"description":-1},"Parametric Memory","/open_source/modules/memories/parametric_memory","open_source/modules/memories/parametric_memory","i-ri-cpu-line",[],false,{"title":527,"path":528,"stem":529,"icon":530,"framework":6,"module":6,"class":531,"target":-1,"active":525,"defaultOpen":525,"children":-1,"description":532},"Network Environment Adaptation","/open_source/best_practice/network_workarounds","open_source/best_practice/network_workarounds","i-ri-wifi-line",[],"The following are some solutions to network issues that may be encountered during development.",1770372089330]