{"type": "file", "path": "test_prefrontal.py", "name": "test_prefrontal.py", "content": "文件 test_prefrontal.py: 虫群v11 前额区混合推理测试 | 定义: def test_complexity_estimator, def test_swarm_reasoner, def test_llm_reasoner, def test_prefrontal_hybrid", "imports": ["sys", "numpy", "core.neuro.text_encoder", "core.neuro.dialogue_memory", "core.neuro.prefrontal_hybrid"], "code_preview": "#!/usr/bin/env python3\n\"\"\"虫群v11 前额区混合推理测试\"\"\"\nimport sys\nsys.path.insert(0, \"/home/admin/swarm\")\n\nimport numpy as np\nfrom core.neuro.text_encoder import SimpleTokenizer, EmbeddingLayer\nfrom core.neuro.dialogue_memory import DialogueMemory\nfrom core.neuro.prefrontal_hybrid import (\n PrefrontalHybrid, ComplexityEstimator, SwarmReasoner, LLMReasoner,\n)\n\n\ndef test_complexity_estimator():\n \"\"\"测试复杂度评估\"\"\"\n print(\"测试 ComplexityEstimator\")\n est = ComplexityEstimator()\n \n c1 = est.estimat"} {"type": "function", "path": "test_prefrontal.py", "name": "test_complexity_estimator", "params": "", "docstring": "测试复杂度评估", "content": "函数 test_complexity_estimator() 在 test_prefrontal.py: 测试复杂度评估", "code": "def test_complexity_estimator():\n \"\"\"测试复杂度评估\"\"\"\n print(\"测试 ComplexityEstimator\")\n est = ComplexityEstimator()\n \n c1 = est.estimate(memory_score=0.9, input_length=5, activation_sparsity=0.2)\n print(f\" 简单(高匹配+短): complexity={c1:.3f} (应<0.3)\")\n \n c2 = est.estimate(memory_score=0.5, input_length=20, activation_sparsity=0.5)\n print(f\" 中等(中匹配+中长): complexity={c2:.3f} (应0.3~0.7)\")\n \n c3 = est.estimate(memory_score=0.1, input_length=40, activation_sparsity=0.8)\n print(f\" 复杂(低匹配+长): complexity={c3:.3f} (应>0.6)\")\n \n c4 = est.estimate_from_text(\"你好\", memory_score=0.9)\n c5 = est.estimate_from_text(\"请详细解释量子纠缠的数学原理\", memory_score=0.1)\n print(f\" '你好': complexity={c4:.3f}\")\n print(f\" '请详细解释量子纠缠的数学原理': complexity={c5:.3f}\")\n print()\n\n"} {"type": "function", "path": "test_prefrontal.py", "name": "test_swarm_reasoner", "params": "", "docstring": "测试虫群推理器", "content": "函数 test_swarm_reasoner() 在 test_prefrontal.py: 测试虫群推理器", "code": "def test_swarm_reasoner():\n \"\"\"测试虫群推理器\"\"\"\n print(\"测试 SwarmReasoner\")\n \n tok = SimpleTokenizer(vocab_size=5000)\n texts = [\"你好\", \"你好!很高兴认识你\", \"我叫小明\", \"好的,小明!\",\n \"今天天气怎么样\", \"今天天气晴朗\"]\n tok.build_vocab(texts)\n emb = EmbeddingLayer(vocab_size=tok.actual_vocab_size + 100, embed_dim=32)\n dm = DialogueMemory(embed_dim=32)\n \n # 预存对话\n for i in range(0, len(texts), 2):\n q_ids = tok.encode(texts[i])\n a_ids = tok.encode(texts[i+1])\n q_vec = emb.forward(q_ids)\n a_vec = emb.forward(a_ids)\n dm.store_turn(q_vec, a_vec, texts[i], texts[i+1])\n \n reasoner = SwarmReasoner(tok, emb, dm)\n \n for q in [\"你好\", \"小明\", \"天气\"]:\n ids = tok.encode(q)\n vec = emb.forward(ids)\n result = reasoner.reason(vec, q)\n print(f\" Q='{q}' → text='{result['text'][:30]}' score={result['score']:.3f} \"\n f\"source={result['source']} {result['ms']}ms\")\n print()\n\n"} {"type": "function", "path": "test_prefrontal.py", "name": "test_llm_reasoner", "params": "", "docstring": "测试LLM推理器", "content": "函数 test_llm_reasoner() 在 test_prefrontal.py: 测试LLM推理器", "code": "def test_llm_reasoner():\n \"\"\"测试LLM推理器\"\"\"\n print(\"测试 LLMReasoner\")\n \n llm = LLMReasoner()\n print(f\" 无API key → 可用: {llm.available}\")\n result = llm.reason(\"你好\")\n print(f\" 不可用时推理: error='{result.get('error', '')}'\")\n \n nim_key = \"nvapi-[REDACTED]\"\n llm2 = LLMReasoner(api_key=nim_key)\n print(f\" NIM API → 可用: {llm2.available}\")\n \n if llm2.available:\n result = llm2.reason(\"你好,请用一句话介绍自己\")\n if result.get(\"error\"):\n print(f\" NIM调用失败: {result['error'][:80]}\")\n else:\n print(f\" NIM回复: {result['text'][:80]}...\")\n print(f\" 模型: {result['model']}, 耗时: {result['ms']}ms\")\n print()\n\n"} {"type": "function", "path": "test_prefrontal.py", "name": "test_prefrontal_hybrid", "params": "", "docstring": "测试混合推理引擎", "content": "函数 test_prefrontal_hybrid() 在 test_prefrontal.py: 测试混合推理引擎", "code": "def test_prefrontal_hybrid():\n \"\"\"测试混合推理引擎\"\"\"\n print(\"测试 PrefrontalHybrid (完整混合推理)\")\n \n tok = SimpleTokenizer(vocab_size=5000)\n texts = [\n \"你好\", \"你好!很高兴认识你\",\n \"我叫小明\", \"好的,小明!\",\n \"今天天气怎么样\", \"今天天气晴朗\",\n \"谢谢\", \"不客气!\",\n \"再见\", \"再见!下次见!\",\n ]\n tok.build_vocab(texts)\n emb = EmbeddingLayer(vocab_size=tok.actual_vocab_size + 100, embed_dim=32)\n dm = DialogueMemory(embed_dim=32)\n \n # 预存对话\n for i in range(0, len(texts), 2):\n q_ids = tok.encode(texts[i])\n a_ids = tok.encode(texts[i+1])\n q_vec = emb.forward(q_ids)\n a_vec = emb.forward(a_ids)\n dm.store_turn(q_vec, a_vec, texts[i], texts[i+1])\n \n hybrid = PrefrontalHybrid(\n tokenizer=tok, embedding=emb, dialogue_memory=dm,\n complexity_threshold=0.6,\n )\n print(f\" LLM可用: {hybrid.llm_available}\")\n \n questions = [\n (\"你好\", \"简单问候,应走虫群\"),\n (\"我叫小明\", \"已有记忆,应走虫群\"),\n (\"今天天气怎么样\", \"已有记忆,应走虫群\"),\n (\"量子力学的基本原理是什么\", \"无记忆+复杂,应走LLM\"),\n (\"帮我写一首关于春天的诗\", \"创作类,应走LLM\"),\n ]\n \n for q, desc in questions:\n result = hybrid.forward(q)\n print(f\" Q='{q}' [{desc}]\")\n print(f\" → mode={result['mode']} complexity={result.get('complexity',0):.3f} \"\n f\"score={result.get('score',0):.3f} ms={result['ms']}\")\n if result.get('text'):\n print(f\" → 回答: '{result['text'][:60]}'\")\n if result.get('error'):\n print(f\" → 错误: {result['error'][:60]}\")\n \n stats = hybrid.get_stats()\n print(f\"\\n 推理统计: {stats}\")\n\n\nif __name__ == \"__main__\":\n print(\"虫群v11 前额区混合推理测试\\n\" + \"=\" * 50)\n test_complexity_estimator()\n test_swarm_reasoner()\n test_llm_reasoner()\n test_prefrontal_hybrid()\n print(\"=\" * 50 + \"\\n测试完成!\")\n"} {"type": "file", "path": "test_v13_backend.py", "name": "test_v13_backend.py", "content": "文件 test_v13_backend.py: 测试v13后端启动 | 定义: ", "imports": ["sys", "bridge.swarm_v13_backend", "httpx"], "code_preview": "#!/usr/bin/env python3\n\"\"\"测试v13后端启动\"\"\"\nimport sys\nsys.path.insert(0, '.')\n\nprint(\"[TEST] 导入模块...\")\nfrom bridge.swarm_v13_backend import app, state\nprint(f\"[TEST] App: {app.title}\")\n\nprint(\"[TEST] 初始化状态...\")\nif state.initialize():\n print(\"[TEST] ✅ 初始化成功!\")\nelse:\n print(f\"[TEST] ❌ 初始化失败: {state.init_error}\")\n\nprint(\"[TEST] 测试API端点...\")\nimport httpx\ntry:\n resp = httpx.get(\"http://localhost:7860/v1/health\", timeout=5)\n print(f\"[TEST] 健康检查: {resp.status_code}\")\nexcept Exception as e:\n "} {"type": "file", "path": "test_e2e_chat.py", "name": "test_e2e_chat.py", "content": "文件 test_e2e_chat.py: 虫群v11 端到端对话测试\n文本输入 → tokenizer → embedding → 虫群6脑区 → 前额区混合推理 → decoder → 文本输出 | 定义: def test_e2e", "imports": ["sys", "core.neuro.chat_interface"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群v11 端到端对话测试\n文本输入 → tokenizer → embedding → 虫群6脑区 → 前额区混合推理 → decoder → 文本输出\n\"\"\"\n\nimport sys\nsys.path.insert(0, \"/home/admin/swarm\")\n\nfrom core.neuro.chat_interface import ChatInterface\n\ndef test_e2e():\n print(\"虫群v11 端到端对话测试\")\n print(\"=\" * 50)\n \n # 1. 创建ChatInterface (无LLM API)\n import pickle\n with open(\"models/brain_templates/brain_trained.pkl\", \"rb\") as f:\n data = pickle.load(f)\n brain = data[\"brain\"]\n chat = ChatInterface(brain)\n p"} {"type": "function", "path": "test_e2e_chat.py", "name": "test_e2e", "params": "", "docstring": "", "content": "函数 test_e2e() 在 test_e2e_chat.py: ", "code": "def test_e2e():\n print(\"虫群v11 端到端对话测试\")\n print(\"=\" * 50)\n \n # 1. 创建ChatInterface (无LLM API)\n import pickle\n with open(\"models/brain_templates/brain_trained.pkl\", \"rb\") as f:\n data = pickle.load(f)\n brain = data[\"brain\"]\n chat = ChatInterface(brain)\n print(f\"初始化完成\")\n \n # 2. 先教它几句话\n print(\"\\n--- 预训练对话 ---\")\n chat.teach(\"你好\", \"你好!很高兴认识你\")\n chat.teach(\"你叫什么\", \"我是虫群智能体\")\n chat.teach(\"今天天气\", \"今天天气晴朗\")\n chat.teach(\"再见\", \"再见!下次再聊\")\n \n # 3. 测试对话\n print(\"\\n--- 对话测试 ---\")\n questions = [\n \"你好\",\n \"你叫什么\",\n \"今天天气怎么样\",\n \"我叫小明\",\n \"再见\",\n ]\n \n for q in questions:\n result = chat.chat(q)\n print(f\" Q='{q}'\")\n print(f\" → {result['text']}\")\n print(f\" [mode={result['mode']} score={result.get('score',0):.3f} ms={result.get('ms',0)}]\")\n \n # 4. 连续对话测试 (上下文)\n print(\"\\n--- 连续对话测试 ---\")\n r1 = chat.chat(\"我叫小红\")\n print(f\" 我叫小红 → {r1['text']}\")\n \n r2 = chat.chat(\"你记得我叫什么吗\")\n print(f\" 你记得我叫什么吗 → {r2['text']}\")\n \n # 5. 统计\n print(\"\\n--- 推理统计 ---\")\n stats = chat.get_stats()\n for k, v in stats.items():\n print(f\" {k}: {v}\")\n \n print(\"\\n\" + \"=\" * 50)\n print(\"端到端测试完成!\")\n\nif __name__ == \"__main__\":\n test_e2e()\n"} {"type": "file", "path": "debug_vec.py", "name": "debug_vec.py", "content": "文件 debug_vec.py: 检查vector维度问题 | 定义: ", "imports": ["pickle", "numpy", "core.neuro.chat_interface", "core.neuro.text_encoder"], "code_preview": "#!/usr/bin/env python3\n\"\"\"检查vector维度问题\"\"\"\nimport pickle\nimport numpy as np\n\nwith open(\"models/brain_templates/brain_trained.pkl\", \"rb\") as f:\n data = pickle.load(f)\nbrain = data[\"brain\"]\n\nfrom core.neuro.chat_interface import ChatInterface\nchat = ChatInterface(brain)\n\n# 获取存入的vector维度\ndm = chat.dialogue_memory\nprint(\"=== 检查存入的向量维度 ===\")\nif dm.context.turns:\n turn = dm.context.turns[0]\n print(f\"存入的question_vec shape: {turn.question_vec.shape}\")\n print(f\"存入的answer_vec shape: {turn.answe"} {"type": "file", "path": "analyze_fasttext.py", "name": "analyze_fasttext.py", "content": "文件 analyze_fasttext.py: 分析fasttext词向量使用情况 | 定义: ", "imports": ["gzip", "numpy", "pickle"], "code_preview": "#!/usr/bin/env python3\n\"\"\"分析fasttext词向量使用情况\"\"\"\nimport gzip\nimport numpy as np\nimport pickle\n\n# 先检查文件结构\nprint('=== 检查fasttext文件 ===')\nwith gzip.open('models/brain_v13_variants/pretrained/cc.zh.300.vec.gz', 'rt', encoding='utf-8') as f:\n for i, line in enumerate(f):\n if i < 3:\n parts = line.strip().split(' ')\n print(f'行{i}: 词={parts[0]}, 维度={len(parts)-1}')\n if i >= 5:\n break\n\n# 统计总词数\ntotal_lines = sum(1 for _ in gzip.open('models/brain_v13_variant"} {"type": "file", "path": "count_v13.py", "name": "count_v13.py", "content": "文件 count_v13.py: | 定义: ", "imports": ["sys", "core.neuro.regions.motor_region", "core.neuro.regions.sensory_region", "core.neuro.regions.prefrontal_region", "core.neuro.regions.hippocampus_region", "core.neuro.regions.association_region", "core.neuro.regions.thalamus_region"], "code_preview": "#!/usr/bin/env python3\nimport sys\nsys.path.insert(0, '/home/admin/swarm')\nfrom core.neuro.regions.motor_region import MotorRegion\nfrom core.neuro.regions.sensory_region import SensoryRegion\nfrom core.neuro.regions.prefrontal_region import PrefrontalRegion\nfrom core.neuro.regions.hippocampus_region import HippocampusRegion\nfrom core.neuro.regions.association_region import AssociationRegion\nfrom core.neuro.regions.thalamus_region import ThalamusRegion\n\nprint(\"=== BrainV13 各脑区详细参数量 ===\")\n\n# MotorRe"} {"type": "file", "path": "run_agent.py", "name": "run_agent.py", "content": "文件 run_agent.py: 虫群智能体系统 — 主入口\n启动虫皇智能体的命令行交互界面 | 定义: def print_banner, def print_help, def cmd_status, def cmd_models, def cmd_method, def cmd_memory, def cmd_perf, def cmd_rank, def toggle_stream, def cmd_history", "imports": ["sys", "os", "time", "core.queen_agent", "core.types", "core.model_registry", "core.seed_model", "security.encryption"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群智能体系统 — 主入口\n启动虫皇智能体的命令行交互界面\n\"\"\"\n\nimport sys\nimport os\nimport time\n\n# 确保项目根目录在路径中\nsys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))\n\nfrom core.queen_agent import QueenAgent, RoyalAgent, create_queen, create_royal_agent\nfrom core.types import AggregationMethod\nfrom core.model_registry import get_registry\nfrom core.seed_model import SeedModel\nfrom security.encryption import SecurityLayer\n\n\ndef print_banner():\n \"\"\"打印启动横幅\"\"\"\n print()\n print(\" ╔═════"} {"type": "function", "path": "run_agent.py", "name": "print_banner", "params": "", "docstring": "打印启动横幅", "content": "函数 print_banner() 在 run_agent.py: 打印启动横幅", "code": "def print_banner():\n \"\"\"打印启动横幅\"\"\"\n print()\n print(\" ╔══════════════════════════════════════╗\")\n print(\" ║ 🐝 虫群智能体系统 v7.0 ║\")\n print(\" ║ Swarm Intelligence Agent System ║\")\n print(\" ║ 虫族生态 — 全民小模型聚合 ║\")\n print(\" ╚══════════════════════════════════════╝\")\n print()\n\n"} {"type": "function", "path": "run_agent.py", "name": "print_help", "params": "", "docstring": "显示帮助信息", "content": "函数 print_help() 在 run_agent.py: 显示帮助信息", "code": "def print_help():\n \"\"\"显示帮助信息\"\"\"\n print()\n print(\" 📋 可用命令:\")\n print(\" ─────────────────────────────────\")\n print(\" /status 查看系统状态\")\n print(\" /models 列出所有模型\")\n print(\" /method 切换聚合策略\")\n print(\" /memory 查看记忆统计\")\n print(\" /perf 查看性能报告\")\n print(\" /stream 切换流式/普通输出模式\")\n print(\" /history 查看对话历史\")\n print(\" /health 查看模型健康状态\")\n print(\" /cache 查看缓存统计\")\n print(\" /local 查看本地推理模型\")\n print(\" /queen 查看虫后状态(v7)\")\n print(\" /seed 查看种子模型(v7)\")\n print(\" /tree 查看任务模型树(v7)\")\n print(\" /new 开启新会话\")\n print(\" /rank 查看模型排名\")\n print(\" /help 显示帮助\")\n print(\" /quit 退出系统\")\n print()\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_status", "params": "agent", "docstring": "查看系统状态", "content": "函数 cmd_status(agent) 在 run_agent.py: 查看系统状态", "code": "def cmd_status(agent):\n \"\"\"查看系统状态\"\"\"\n status = agent.get_status()\n print()\n print(f\" 📊 系统状态:\")\n print(f\" ─────────────────────────────────\")\n print(f\" 版本: {status['agent']} v{status['version']}\")\n print(f\" 会话: {status['conversation_id']}\")\n models = status['models']\n print(f\" 模型: {models['total_models']}个 \"\n f\"(本地{models['local_models']} + API{models['api_models']})\")\n print(f\" 记忆: {status['memory'].get('total_memories', 0)}条\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_models", "params": "agent", "docstring": "列出所有模型", "content": "函数 cmd_models(agent) 在 run_agent.py: 列出所有模型", "code": "def cmd_models(agent):\n \"\"\"列出所有模型\"\"\"\n registry = get_registry()\n models = registry.list_models()\n print()\n print(\" 🤖 已注册模型:\")\n print(\" ─────────────────────────────────\")\n for m in models:\n status_icon = \"🟢\" if m.status.value == \"active\" else \"🔴\"\n type_icon = \"💻\" if m.is_local else \"☁️\"\n print(f\" {status_icon} {type_icon} {m.model_id}\")\n print(f\" 名称: {m.name}\")\n print(f\" 类型: {m.model_type.value} | 置信度: {m.default_confidence} | 优先级: {m.priority}\")\n if m.endpoint:\n print(f\" 端点: {m.endpoint}\")\n print()\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_method", "params": "agent", "docstring": "切换聚合策略", "content": "函数 cmd_method(agent) 在 run_agent.py: 切换聚合策略", "code": "def cmd_method(agent):\n \"\"\"切换聚合策略\"\"\"\n methods = [\n (\"confidence\", \"置信度优先(默认)\"),\n (\"weighted\", \"加权平均\"),\n (\"vote\", \"投票聚合\"),\n (\"sequential\", \"速度优先\"),\n ]\n print()\n print(\" ⚙️ 聚合策略:\")\n print(\" ─────────────────────────────────\")\n for i, (name, desc) in enumerate(methods, 1):\n print(f\" {i}. {name} — {desc}\")\n print()\n try:\n choice = input(\" 选择编号 (回车取消): \").strip()\n if not choice:\n return\n idx = int(choice) - 1\n if 0 <= idx < len(methods):\n method_name = methods[idx][0]\n method_map = {\n \"confidence\": AggregationMethod.CONFIDENCE,\n \"weighted\": AggregationMethod.WEIGHTED,\n \"vote\": AggregationMethod.VOTE,\n \"sequential\": AggregationMethod.SEQUENTIAL,\n }\n agent._current_method = method_map[method_name]\n print(f\" ✅ 已切换为: {methods[idx][1]}\")\n else:\n print(\" ❌ 无效选择\")\n except (ValueError, EOFError):\n print(\" ❌ 取消\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_memory", "params": "agent", "docstring": "查看记忆统计", "content": "函数 cmd_memory(agent) 在 run_agent.py: 查看记忆统计", "code": "def cmd_memory(agent):\n \"\"\"查看记忆统计\"\"\"\n from core.memory_core import MemoryCore\n mem = MemoryCore()\n stats = mem.get_stats()\n print()\n print(\" 🧠 记忆系统:\")\n print(\" ─────────────────────────────────\")\n for k, v in stats.items():\n print(f\" {k}: {v}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_perf", "params": "agent", "docstring": "查看性能报告", "content": "函数 cmd_perf(agent) 在 run_agent.py: 查看性能报告", "code": "def cmd_perf(agent):\n \"\"\"查看性能报告\"\"\"\n from core.performance_monitor import get_monitor\n monitor = get_monitor()\n report = monitor.get_report()\n print()\n print(\" 📈 性能报告:\")\n print(\" ─────────────────────────────────\")\n print(f\" 总请求数: {report['total_requests']}\")\n # 按模型展示\n for mid, stats in report.get(\"models\", {}).items():\n if not stats:\n continue\n print(f\"\\n 🤖 {mid}:\")\n print(f\" 请求数: {stats['total_requests']}\")\n print(f\" 成功率: {stats['success_rate']:.0%}\")\n print(f\" 平均延迟: {stats['avg_latency_ms']:.0f}ms\")\n print(f\" 最小/最大延迟: {stats['min_latency_ms']:.0f}ms / {stats['max_latency_ms']:.0f}ms\")\n print(f\" 平均置信度: {stats['avg_confidence']:.2f}\")\n # 最近1小时\n hourly = report.get(\"hourly\", {})\n if hourly.get(\"total\", 0) > 0:\n print(f\"\\n ⏱️ 最近1小时: {hourly['total']}请求, \"\n f\"成功率{hourly['success_rate']:.0%}, \"\n f\"P50延迟{hourly.get('p50_latency_ms', 0):.0f}ms\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_rank", "params": "agent", "docstring": "查看模型排名", "content": "函数 cmd_rank(agent) 在 run_agent.py: 查看模型排名", "code": "def cmd_rank(agent):\n \"\"\"查看模型排名\"\"\"\n registry = get_registry()\n ranking = registry.get_ranking()\n print()\n print(\" 🏆 模型排名:\")\n print(\" ─────────────────────────────────\")\n if not ranking:\n print(\" 暂无排名数据(需要先进行对话)\")\n return\n for i, (mid, score) in enumerate(ranking, 1):\n stats = registry.get_stats(mid)\n if stats and stats.total_requests > 0:\n print(f\" {i}. {mid} — 综合分:{score:.3f} \"\n f\"成功率:{stats.success_rate:.0%} \"\n f\"延迟:{stats.avg_latency_ms:.0f}ms\")\n else:\n print(f\" {i}. {mid} — 综合分:{score:.3f}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "toggle_stream", "params": "agent", "docstring": "切换流式/普通输出模式", "content": "函数 toggle_stream(agent) 在 run_agent.py: 切换流式/普通输出模式", "code": "def toggle_stream(agent):\n \"\"\"切换流式/普通输出模式\"\"\"\n agent._stream_mode = not agent._stream_mode\n mode = \"流式输出\" if agent._stream_mode else \"普通输出\"\n print(f\"\\n 📡 已切换为: {mode}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_history", "params": "agent", "docstring": "查看对话历史", "content": "函数 cmd_history(agent) 在 run_agent.py: 查看对话历史", "code": "def cmd_history(agent):\n \"\"\"查看对话历史\"\"\"\n from core.conversation import get_conversation_manager\n mgr = get_conversation_manager()\n conv = mgr.get_active()\n print()\n print(\" 📜 对话历史:\")\n print(\" ─────────────────────────────────\")\n if not conv or not conv.messages:\n print(\" 暂无对话记录\")\n return\n for msg in conv.messages[-10:]: # 最近10条\n role = \"👤\" if msg.role == \"user\" else \"🐝\"\n content = msg.content[:60]\n model = f\" ({msg.model})\" if msg.model else \"\"\n print(f\" {role} {content}{model}\")\n stats = mgr.get_stats()\n print(f\" ── 共{stats['total_conversations']}个会话, \"\n f\"{len(conv.messages)}条消息\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_health", "params": "agent", "docstring": "查看模型健康状态", "content": "函数 cmd_health(agent) 在 run_agent.py: 查看模型健康状态", "code": "def cmd_health(agent):\n \"\"\"查看模型健康状态\"\"\"\n from core.health_checker import get_health_checker\n checker = get_health_checker()\n report = checker.get_report()\n print()\n print(\" 💊 模型健康状态:\")\n print(\" ─────────────────────────────────\")\n for mid, hs in report.get(\"models\", {}).items():\n status = \"🟢\" if hs[\"is_healthy\"] else \"🔴\"\n circuit = \" [熔断]\" if hs[\"circuit_open\"] else \"\"\n print(f\" {status} {mid}{circuit}\")\n print(f\" 成功率: {1-hs['failure_rate']:.0%} | \"\n f\"延迟: {hs['avg_latency_ms']:.0f}ms | \"\n f\"连续失败: {hs['consecutive_failures']}\")\n print(f\" 故障转移: {' → '.join(report.get('failover_order', []))}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_cache", "params": "agent", "docstring": "查看缓存统计", "content": "函数 cmd_cache(agent) 在 run_agent.py: 查看缓存统计", "code": "def cmd_cache(agent):\n \"\"\"查看缓存统计\"\"\"\n from core.smart_cache import get_cache\n cache = get_cache()\n stats = cache.get_stats()\n print()\n print(\" 🗄️ 缓存统计:\")\n print(\" ─────────────────────────────────\")\n print(f\" 条目数: {stats['total_entries']}/{stats['max_entries']}\")\n print(f\" 命中率: {stats['hit_rate']:.1%}\")\n print(f\" 命中: {stats['hits']} | 未命中: {stats['misses']}\")\n print(f\" 淘汰: {stats['evictions']} | 过期: {stats['expirations']}\")\n # 热门缓存\n top = cache.get_top_entries(5)\n if top:\n print(\" 热门查询:\")\n for i, e in enumerate(top, 1):\n print(f\" {i}. \\\"{e['query']}\\\" ({e['hits']}次, {e['model']})\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_local", "params": "agent", "docstring": "查看本地推理模型状态", "content": "函数 cmd_local(agent) 在 run_agent.py: 查看本地推理模型状态", "code": "def cmd_local(agent):\n \"\"\"查看本地推理模型状态\"\"\"\n from core.local_inference import get_local_backend\n backend = get_local_backend()\n status = backend.get_status()\n print()\n print(\" 🤖 本地推理模型:\")\n print(\" ─────────────────────────────────\")\n print(f\" 设备: {status['device']}\")\n print(f\" 已加载: {len(status['loaded_models'])}/{status['max_loaded']}\")\n for mid in status[\"available_models\"]:\n info = backend.get_model_info(mid)\n loaded = \"✅已加载\" if mid in status[\"loaded_models\"] else \"⏳未加载\"\n params = info.get(\"params\", {}).get(\"params_M\", \"?\") if info else \"?\"\n loss = info.get(\"loss\", \"?\") if info else \"?\"\n print(f\" {mid}: {params}M参数, loss={loss}, {loaded}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_queen", "params": "agent", "docstring": "查看虫后状态(v7)", "content": "函数 cmd_queen(agent) 在 run_agent.py: 查看虫后状态(v7)", "code": "def cmd_queen(agent):\n \"\"\"查看虫后状态(v7)\"\"\"\n status = agent.get_status()\n print()\n print(\" 👑 虫后状态:\")\n print(\" ─────────────────────────────────\")\n print(f\" ID: {status['queen_id']}\")\n print(f\" 用户: {status['user_id']}\")\n print(f\" 状态: {status['status']}\")\n \n meta = status.get('meta_model', {})\n if meta:\n print(f\" 元模型: 分析{meta.get('total_analyses',0)}次, 最近意图={meta.get('last_intent','-')}\")\n \n mem = status.get('memory', {})\n if mem:\n print(f\" 记忆: {mem.get('total_entries',0)}条, 命中率={mem.get('hit_rate',0):.1%}\")\n \n tree = status.get('task_tree', {})\n if tree:\n print(f\" 任务树: {tree.get('total_nodes',0)}节点, {tree.get('leaf_nodes',0)}叶子, 已加载{tree.get('loaded_models',0)}\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_seed", "params": "", "docstring": "查看种子模型(v7)", "content": "函数 cmd_seed() 在 run_agent.py: 查看种子模型(v7)", "code": "def cmd_seed():\n \"\"\"查看种子模型(v7)\"\"\"\n seeds = SeedModel.list_seeds()\n print()\n print(\" 🌱 种子模型:\")\n print(\" ─────────────────────────────────\")\n if not seeds:\n print(\" 暂无种子(使用grow()创建)\")\n # 显示可用配置\n print()\n print(\" 可用角色配置:\")\n for role, cfg in SEED_CONFIGS.items():\n print(f\" {role}: d={cfg['d_model']} h={cfg['n_heads']} L={cfg['n_layers']} target={cfg['target_params_M']}M\")\n else:\n for s in seeds:\n grown = \"✅已生长\" if s.get(\"is_grown\") else \"⏳种子\"\n print(f\" {grown} {s['name']} (角色:{s['role']}, Gen-{s.get('gen',0)})\")\n\n"} {"type": "function", "path": "run_agent.py", "name": "cmd_tree", "params": "agent", "docstring": "查看任务模型树(v7)", "content": "函数 cmd_tree(agent) 在 run_agent.py: 查看任务模型树(v7)", "code": "def cmd_tree(agent):\n \"\"\"查看任务模型树(v7)\"\"\"\n from core.task_tree import TaskTree\n tree = TaskTree(agent.user_id if hasattr(agent, 'user_id') else 'default')\n structure = tree.get_tree()\n status = tree.get_status()\n \n print()\n print(\" 🌳 任务模型树:\")\n print(\" ─────────────────────────────────\")\n print(f\" 节点: {status['total_nodes']} | 叶子: {status['leaf_nodes']} | 已加载: {status['loaded_models']}\")\n print()\n \n def show_tree(node, indent=0):\n prefix = \" \" + \" \" * indent\n icon = \"🍃\" if 'children' not in node else \"📂\"\n use = f\" ({node['use_count']}次)\" if node.get('use_count', 0) > 0 else \"\"\n print(f\"{prefix}{icon} {node['name']}{use}\")\n for c in node.get('children', []):\n show_tree(c, indent + 1)\n \n show_tree(structure)\n\n"} {"type": "function", "path": "run_agent.py", "name": "main", "params": "", "docstring": "主入口函数", "content": "函数 main() 在 run_agent.py: 主入口函数", "code": "def main():\n \"\"\"主入口函数\"\"\"\n print_banner()\n\n # 初始化虫皇\n print(\" ⏳ 初始化虫皇智能体...\")\n try:\n agent = create_royal_agent()\n agent._current_method = AggregationMethod.CONFIDENCE\n agent._stream_mode = True # 默认开启流式模式\n security = SecurityLayer()\n except Exception as e:\n print(f\" ❌ 初始化失败: {e}\")\n sys.exit(1)\n\n # 打印状态\n status = agent.get_status()\n print(f\" ✅ 虫皇就绪\")\n print(f\" 📊 模型: {status['models']['total_models']}个 \"\n f\"(本地{status['models']['local_models']} + API{status['models']['api_models']})\")\n print(f\" 🧠 记忆: {status['memory'].get('total_memories', 0)}条\")\n print(f\" 📡 模式: 流式输出(/stream 切换)\")\n\n # 交互循环\n print()\n print(\" 💬 输入消息开始对话(/help 查看命令,/quit 退出)\")\n print()\n\n # 命令映射\n commands = {\n \"/status\": lambda: cmd_status(agent),\n \"/models\": lambda: cmd_models(agent),\n \"/method\": lambda: cmd_method(agent),\n \"/memory\": lambda: cmd_memory(agent),\n \"/perf\": lambda: cmd_perf(agent),\n \"/stream\": lambda: toggle_stream(agent),\n \"/history\": lambda: cmd_history(agent),\n \"/health\": lambda: cmd_health(agent),\n \"/cache\": lambda: cmd_cache(agent),\n \"/local\": lambda: cmd_local(agent),\n \"/queen\": lambda: cmd_queen(agent),\n \"/seed\": lambda: cmd_seed(),\n \"/tree\": lambda: cmd_tree(agent),\n \"/new\": lambda: (print(f\"\\n 🔄 新会话: {agent.new_conversation()}\")),\n \"/rank\": lambda: cmd_rank(agent),\n \"/help\": lambda: print_help(),\n }\n\n while True:\n try:\n user_input = input(\" 👤 你: \").strip()\n except (EOFError, KeyboardInterrupt):\n print(\"\\n 👋 再见!\")\n break\n\n if not user_input:\n continue\n\n # 命令处理\n cmd = user_input.lower().split()[0]\n if cmd in (\"/quit\", \"/exit\", \"/q\"):\n print(\" 👋 再见!\")\n break\n\n if cmd in commands:\n commands[cmd]()\n continue\n\n # 安全脱敏检查\n "} {"type": "file", "path": "debug_tok.py", "name": "debug_tok.py", "content": "文件 debug_tok.py: 检查tokenizer输出 | 定义: ", "imports": ["core.neuro.text_encoder"], "code_preview": "#!/usr/bin/env python3\n\"\"\"检查tokenizer输出\"\"\"\nfrom core.neuro.text_encoder import SimpleTokenizer, EmbeddingLayer\n\ntok = SimpleTokenizer()\nemb = EmbeddingLayer(vocab_size=5000, embed_dim=32)\n\ntexts = [\"你好\", \"你叫什么\", \"测试\"]\nfor text in texts:\n ids = tok.encode(text)\n print(f\"'{text}' -> ids={ids}, len={len(ids)}\")\n \n # 检查每个id\n for tid in ids:\n valid = tid >= 4 and tid < 5000\n print(f\" token {tid}: valid={valid}\")\n \n vec = emb.forward(ids)\n print(f\" embedding"} {"type": "file", "path": "test_text_codec.py", "name": "test_text_codec.py", "content": "文件 test_text_codec.py: 测试虫群v11文本编解码层 | 定义: def test_tokenizer, def test_embedding, def test_decoder, def test_pipeline", "imports": ["sys", "numpy", "core.neuro.text_encoder"], "code_preview": "#!/usr/bin/env python3\n\"\"\"测试虫群v11文本编解码层\"\"\"\n\nimport sys\nimport numpy as np\nsys.path.insert(0, \"/home/admin/swarm\")\n\nfrom core.neuro.text_encoder import SimpleTokenizer, EmbeddingLayer, TextDecoder\n\ndef test_tokenizer():\n \"\"\"测试分词器\"\"\"\n print(\"=\" * 50)\n print(\"1. 测试SimpleTokenizer\")\n print(\"=\" * 50)\n \n tok = SimpleTokenizer(vocab_size=5000)\n \n # 构建词表\n texts = [\n \"你好\", \"你好吗\", \"我叫小明\", \"今天天气很好\",\n \"什么是量子纠缠\", \"解释一下\", \"谢谢\",\n \"hello world\", \"123\", \"虫群智能\",\n "} {"type": "function", "path": "test_text_codec.py", "name": "test_tokenizer", "params": "", "docstring": "测试分词器", "content": "函数 test_tokenizer() 在 test_text_codec.py: 测试分词器", "code": "def test_tokenizer():\n \"\"\"测试分词器\"\"\"\n print(\"=\" * 50)\n print(\"1. 测试SimpleTokenizer\")\n print(\"=\" * 50)\n \n tok = SimpleTokenizer(vocab_size=5000)\n \n # 构建词表\n texts = [\n \"你好\", \"你好吗\", \"我叫小明\", \"今天天气很好\",\n \"什么是量子纠缠\", \"解释一下\", \"谢谢\",\n \"hello world\", \"123\", \"虫群智能\",\n ]\n tok.build_vocab(texts)\n print(f\"词表大小: {tok.actual_vocab_size}\")\n print(f\"示例token: {list(tok.token2id.items())[:10]}\")\n \n # 编码解码\n for text in texts[:5]:\n ids = tok.encode(text)\n decoded = tok.decode(ids)\n print(f\" '{text}' → {ids} → '{decoded}'\")\n \n # 保存/加载\n tok.save(\"/tmp/test_vocab.json\")\n tok2 = SimpleTokenizer(vocab_size=5000)\n tok2.load(\"/tmp/test_vocab.json\")\n ids2 = tok2.encode(\"你好\")\n print(f\" 保存/加载后: '你好' → {ids2}\")\n \n return tok\n\n"} {"type": "function", "path": "test_text_codec.py", "name": "test_embedding", "params": "", "docstring": "测试Embedding层", "content": "函数 test_embedding() 在 test_text_codec.py: 测试Embedding层", "code": "def test_embedding():\n \"\"\"测试Embedding层\"\"\"\n print(\"\\n\" + \"=\" * 50)\n print(\"2. 测试EmbeddingLayer\")\n print(\"=\" * 50)\n \n tok = SimpleTokenizer(vocab_size=5000)\n tok.build_vocab([\"你好世界\", \"虫群智能\", \"测试文本\"])\n \n emb = EmbeddingLayer(vocab_size=tok.actual_vocab_size, embed_dim=32)\n print(f\"Embedding参数量: {emb.weight.shape[0]}x{emb.weight.shape[1]} = {emb.weight.size}\")\n \n # 单句编码\n for text in [\"你好\", \"虫群\", \"测试\"]:\n ids = tok.encode(text)\n vec = emb.forward(ids)\n print(f\" '{text}' → ids={ids} → vec shape={vec.shape}, norm={np.linalg.norm(vec):.4f}\")\n \n # 相似度测试: 近义词应该更近\n vec_hello = emb.forward(tok.encode(\"你好\"))\n vec_swarm = emb.forward(tok.encode(\"虫群\"))\n vec_test = emb.forward(tok.encode(\"测试\"))\n \n sim_hello_test = np.dot(vec_hello, vec_test) / (np.linalg.norm(vec_hello) * np.linalg.norm(vec_test) + 1e-8)\n sim_hello_swarm = np.dot(vec_hello, vec_swarm) / (np.linalg.norm(vec_hello) * np.linalg.norm(vec_swarm) + 1e-8)\n print(f\" 相似度: 你好-测试={sim_hello_test:.4f}, 你好-虫群={sim_hello_swarm:.4f}\")\n print(f\" (随机初始化,相似度应接近0)\")\n \n return tok, emb\n\n"} {"type": "function", "path": "test_text_codec.py", "name": "test_decoder", "params": "", "docstring": "测试解码器", "content": "函数 test_decoder() 在 test_text_codec.py: 测试解码器", "code": "def test_decoder():\n \"\"\"测试解码器\"\"\"\n print(\"\\n\" + \"=\" * 50)\n print(\"3. 测试TextDecoder\")\n print(\"=\" * 50)\n \n tok = SimpleTokenizer(vocab_size=5000)\n tok.build_vocab([\"你好世界\", \"虫群智能\", \"很高兴认识你\", \"谢谢再见\"])\n \n emb = EmbeddingLayer(vocab_size=tok.actual_vocab_size, embed_dim=32)\n decoder = TextDecoder(embedding=emb, tokenizer=tok)\n \n # 编码再解码(应该能找回原文)\n for text in [\"你好\", \"虫群\", \"谢谢\"]:\n ids = tok.encode(text)\n vec = emb.forward(ids)\n decoded = decoder.decode_vector(vec, top_k=3)\n print(f\" '{text}' → vec → 解码: '{decoded}'\")\n \n return decoder\n\n"} {"type": "function", "path": "test_text_codec.py", "name": "test_pipeline", "params": "", "docstring": "测试完整编解码管线", "content": "函数 test_pipeline() 在 test_text_codec.py: 测试完整编解码管线", "code": "def test_pipeline():\n \"\"\"测试完整编解码管线\"\"\"\n print(\"\\n\" + \"=\" * 50)\n print(\"4. 测试完整编解码管线\")\n print(\"=\" * 50)\n \n tok = SimpleTokenizer(vocab_size=5000)\n tok.build_vocab([\n \"你好\", \"你好吗\", \"我很好\", \"谢谢\",\n \"虫群\", \"智能\", \"大脑\", \"记忆\",\n \"今天天气很好\", \"再见\",\n ])\n \n emb = EmbeddingLayer(vocab_size=tok.actual_vocab_size, embed_dim=32)\n decoder = TextDecoder(embedding=emb, tokenizer=tok)\n \n # 模拟对话流程\n inputs = [\"你好\", \"虫群\", \"记忆\"]\n for text in inputs:\n ids = tok.encode(text)\n vec = emb.forward(ids)\n \n # 模拟虫群处理(向量通过大脑后回来)\n # 这里用简单扰动模拟大脑处理\n noise = np.random.randn(32).astype(np.float32) * 0.05\n processed = vec + noise\n \n decoded = decoder.decode_vector(processed, top_k=1)\n print(f\" 输入: '{text}' → 编码 → 处理 → 解码: '{decoded[0] if decoded else '?'}'\")\n\n\nif __name__ == \"__main__\":\n print(\"虫群v11 文本编解码层测试\\n\")\n \n tok = test_tokenizer()\n tok, emb = test_embedding()\n decoder = test_decoder()\n test_pipeline()\n \n print(\"\\n\" + \"=\" * 50)\n print(\"测试完成!\")\n print(\"=\" * 50)\n"} {"type": "file", "path": "count_brain.py", "name": "count_brain.py", "content": "文件 count_brain.py: | 定义: ", "imports": ["sys"], "code_preview": "#!/usr/bin/env python3\nimport sys\nsys.path.insert(0, '/home/./admin/./swarm')\nfrom core.neurO. regions.motor_region import MotorRegion\nfrom core.neurO. regions.sensory_region import SensoryRegion\nfrom core.neurO. regions.prefrontal_region import PrefrontalRegion\nfrom core.neurO. regions.hippocampus_region import HippocampusRegion\nfrom core.neurO. regions.association_region import AssociationRegion\nfrom core.neurO. regions.thalamus_region import ThalamusRegion\n\nprint(\"=== BrainV13 各脑区详细参数量 ===\")\n"} {"type": "file", "path": "swarm_cli.py", "name": "swarm_cli.py", "content": "文件 swarm_cli.py: 虫群 Swarm CLI - 命令行交互工具\n用法: python swarm_cli.py [--interactive] [问题] | 定义: def get_version, def print_banner, def load_config, def check_api_key, def main", "imports": ["sys", "os", "argparse", "time", "json"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群 Swarm CLI - 命令行交互工具\n用法: python swarm_cli.py [--interactive] [问题]\n\"\"\"\nimport sys\nimport os\nimport argparse\nimport time\nimport json\n\n# 确保项目根目录在路径中\nsys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))\n\ndef get_version():\n return \"v10.1.0\"\n\ndef print_banner():\n print(\"=\" * 50)\n print(\" 🐜 虫群 Swarm CLI\")\n print(f\" 版本: {get_version()}\")\n print(\" 类型 'quit' 或 'exit' 退出\")\n print(\"=\" * 50)\n print()\n\ndef load_config():\n \"\"\"加载配置\"\"\"\n import"} {"type": "function", "path": "swarm_cli.py", "name": "get_version", "params": "", "docstring": "", "content": "函数 get_version() 在 swarm_cli.py: ", "code": "def get_version():\n return \"v10.1.0\"\n"} {"type": "function", "path": "swarm_cli.py", "name": "print_banner", "params": "", "docstring": "", "content": "函数 print_banner() 在 swarm_cli.py: ", "code": "def print_banner():\n print(\"=\" * 50)\n print(\" 🐜 虫群 Swarm CLI\")\n print(f\" 版本: {get_version()}\")\n print(\" 类型 'quit' 或 'exit' 退出\")\n print(\"=\" * 50)\n print()\n"} {"type": "function", "path": "swarm_cli.py", "name": "load_config", "params": "", "docstring": "加载配置", "content": "函数 load_config() 在 swarm_cli.py: 加载配置", "code": "def load_config():\n \"\"\"加载配置\"\"\"\n import yaml\n from pathlib import Path\n config_path = Path(__file__).parent / \"config.yaml\"\n if config_path.exists():\n with open(config_path, \"r\", encoding=\"utf-8\") as f:\n return yaml.safe_load(f)\n return {}\n"} {"type": "function", "path": "swarm_cli.py", "name": "check_api_key", "params": "", "docstring": "检查API Key状态", "content": "函数 check_api_key() 在 swarm_cli.py: 检查API Key状态", "code": "def check_api_key():\n \"\"\"检查API Key状态\"\"\"\n cfg = load_config()\n glm_key = cfg.get(\"api_keys\", {}).get(\"glm\", \"\")\n if glm_key and len(glm_key) > 10:\n # 部分显示\n return f\"{glm_key[:8]}...{glm_key[-8:]}\"\n return \"未配置\"\n"} {"type": "function", "path": "swarm_cli.py", "name": "main", "params": "", "docstring": "", "content": "函数 main() 在 swarm_cli.py: ", "code": "def main():\n parser = argparse.ArgumentParser(description=\"虫群 Swarm CLI\")\n parser.add_argument(\"question\", nargs=\"?\", help=\"直接提问(非交互模式)\")\n parser.add_argument(\"--interactive\", \"-i\", action=\"store_true\", help=\"交互模式\")\n parser.add_argument(\"--config\", \"-c\", action=\"store_true\", help=\"显示配置信息\")\n parser.add_argument(\"--version\", \"-v\", action=\"store_true\", help=\"显示版本\")\n args = parser.parse_args()\n\n if args.version:\n print(f\"虫群 Swarm CLI {get_version()}\")\n return\n\n if args.config:\n cfg = load_config()\n print(\"配置信息:\")\n print(f\" GLM API Key: {check_api_key()}\")\n print(f\" 云端模型: {cfg.get('models', {}).get('cloud', {}).get('primary', 'N/A')}\")\n print(f\" 路由策略: {cfg.get('swarm', {}).get('routing_strategy', 'simple')}\")\n return\n\n print_banner()\n \n # 检查API Key\n api_key_status = check_api_key()\n if api_key_status == \"未配置\":\n print(\"⚠️ 警告: API Key未配置!\")\n print(\" 请在 config. yaml 中配置智谱GLM API Key\")\n print()\n\n # 初始化虫后\n print(\"初始化虫后智能体...\")\n try:\n from core.queen_agent import QueenAgent\n queen = QueenAgent(user_id=\"cli-user\", queen_name=\"CLI-虫后\")\n print(\"✅ 虫后初始化完成\")\n except Exception as e:\n print(f\"❌ 初始化失败: {e}\")\n return\n\n print(f\"API Key: {api_key_status}\")\n print()\n\n # 处理问题\n if args.question:\n # 单次问答\n print(f\"[你] {args.question}\")\n print(\"-\" * 40)\n start = time.time()\n try:\n response = queen.chat(args.question)\n elapsed = (time.time() - start) * 1000\n print(f\"[虫群] {response}\")\n print(f\"\\n⏱️ 耗时: {elapsed:.0f}ms\")\n except Exception as e:\n print(f\"❌ 错误: {e}\")\n elif args.interactive or not sys.stdin.isatty():\n # 交互模式\n while True:\n try:\n user_input = input(\"[你] \").strip()\n if not user_input:\n continue\n if user_input.lower() in [\"quit\", \"ex"} {"type": "file", "path": "test_dialogue_memory.py", "name": "test_dialogue_memory.py", "content": "文件 test_dialogue_memory.py: 虫群v11 对话记忆系统测试 | 定义: def test_context_window, def test_dialogue_memory, def test_episodic_memory", "imports": ["sys", "numpy", "core.neuro.text_encoder", "core.neuro.dialogue_memory"], "code_preview": "#!/usr/bin/env python3\n\"\"\"虫群v11 对话记忆系统测试\"\"\"\nimport sys\nsys.path.insert(0, \"/home/admin/swarm\")\n\nimport numpy as np\nfrom core.neuro.text_encoder import SimpleTokenizer, EmbeddingLayer\nfrom core.neuro.dialogue_memory import DialogueMemory, ContextWindow, DialogueTurn\n\n\ndef test_context_window():\n \"\"\"测试上下文窗口\"\"\"\n print(\"--------------------------------------------------\")\n print(\"测试 ContextWindow\")\n print(\"--------------------------------------------------\")\n \n cw = ContextWindow(m"} {"type": "function", "path": "test_dialogue_memory.py", "name": "test_context_window", "params": "", "docstring": "测试上下文窗口", "content": "函数 test_context_window() 在 test_dialogue_memory.py: 测试上下文窗口", "code": "def test_context_window():\n \"\"\"测试上下文窗口\"\"\"\n print(\"--------------------------------------------------\")\n print(\"测试 ContextWindow\")\n print(\"--------------------------------------------------\")\n \n cw = ContextWindow(max_turns=3, embed_dim=32)\n \n # 添加3轮对话\n turns_data = [\n (\"你好\", \"你好!很高兴认识你\"),\n (\"我叫小明\", \"好的,我记住你叫小明了\"),\n (\"今天天气怎么样\", \"今天天气很好\"),\n ]\n \n for q, a in turns_data:\n q_vec = np.random.randn(32).astype(np.float32) * 0.1\n a_vec = np.random.randn(32).astype(np.float32) * 0.1\n turn = DialogueTurn(\n question_vec=q_vec, answer_vec=a_vec,\n question_text=q, answer_text=a,\n source=\"swarm\",\n )\n cw.add(turn)\n print(f\" 添加: Q='{q}' → 上下文轮数={len(cw.turns)}\")\n \n # 超出max_turns后淘汰旧的\n q4 = np.random.randn(32).astype(np.float32) * 0.1\n a4 = np.random.randn(32).astype(np.float32) * 0.1\n cw.add(DialogueTurn(question_vec=q4, answer_vec=a4,\n question_text=\"再见\", answer_text=\"再见!\"))\n print(f\" 添加第4轮后: 上下文轮数={len(cw.turns)} (应<=3)\")\n \n # 获取上下文向量\n ctx_vec = cw.get_context_vector(n_turns=3)\n print(f\" 上下文向量: shape={ctx_vec.shape}, norm={np.linalg.norm(ctx_vec):.4f}\")\n \n # 获取文本摘要\n text = cw.get_text_summary(n_turns=3)\n print(f\" 文本摘要:\\n{text}\")\n \n return cw\n\n"} {"type": "function", "path": "test_dialogue_memory.py", "name": "test_dialogue_memory", "params": "", "docstring": "测试对话记忆", "content": "函数 test_dialogue_memory() 在 test_dialogue_memory.py: 测试对话记忆", "code": "def test_dialogue_memory():\n \"\"\"测试对话记忆\"\"\"\n print(\"\\n--------------------------------------------------\")\n print(\"测试 DialogueMemory\")\n print(\"--------------------------------------------------\")\n \n # 创建分词器和embedding\n tok = SimpleTokenizer(vocab_size=5000)\n emb = EmbeddingLayer(vocab_size=5000, embed_dim=32)\n \n # 构建词表\n texts = [\"你好\", \"我叫小明\", \"天气\", \"再见\", \"谢谢\", \"虫群\", \"记忆\", \"智能\"]\n tok.build_vocab(texts)\n \n dm = DialogueMemory(embed_dim=32, max_context_turns=5)\n \n # 模拟多轮对话\n dialogues = [\n (\"你好\", \"你好!很高兴认识你\"),\n (\"我叫小明\", \"好的,小明!我记住你了\"),\n (\"今天天气怎么样\", \"今天天气晴朗\"),\n (\"我叫什么?\", \"你叫小明\"),\n (\"谢谢\", \"不客气!\"),\n ]\n \n for q_text, a_text in dialogues:\n q_ids = tok.encode(q_text)\n a_ids = tok.encode(a_text)\n q_vec = emb.forward(q_ids)\n a_vec = emb.forward(a_ids)\n \n dm.store_turn(\n question_vec=q_vec, answer_vec=a_vec,\n question_text=q_text, answer_text=a_text,\n source=\"swarm\",\n )\n print(f\" 存入: Q='{q_text}' A='{a_text}'\")\n \n # 统计\n print(f\"\\n 记忆统计: {dm.stats}\")\n \n # 检索测试\n print(\"\\n 检索测试:\")\n test_queries = [\"你好\", \"我叫什么\", \"天气\"]\n for q_text in test_queries:\n q_ids = tok.encode(q_text)\n q_vec = emb.forward(q_ids)\n results = dm.retrieve(q_vec, top_k=2)\n print(f\" 查询: '{q_text}'\")\n for q, a, sim in results:\n print(f\" → 匹配: Q='{q}' A='{a}' sim={sim:.4f}\")\n \n # 上下文向量\n ctx = dm.get_context_vector(n_turns=3)\n print(f\"\\n 上下文向量: shape={ctx.shape}, norm={np.linalg.norm(ctx):.4f}\")\n \n # 上下文文本\n ctx_text = dm.get_context_text(n_turns=3)\n print(f\" 上下文文本:\\n{ctx_text}\")\n \n return dm\n\n"} {"type": "function", "path": "test_dialogue_memory.py", "name": "test_episodic_memory", "params": "", "docstring": "测试场景化记忆", "content": "函数 test_episodic_memory() 在 test_dialogue_memory.py: 测试场景化记忆", "code": "def test_episodic_memory():\n \"\"\"测试场景化记忆\"\"\"\n print(\"\\n--------------------------------------------------\")\n print(\"测试 EpisodicMemory\")\n print(\"--------------------------------------------------\")\n \n dm = DialogueMemory(embed_dim=32)\n \n # 添加场景记忆\n dm.add_episodic(who=\"小明\", what=\"介绍了自己的名字\", tags=[\"自我介绍\"])\n dm.add_episodic(who=\"小明\", what=\"问了天气情况\", where=\"对话窗口\", tags=[\"天气\", \"闲聊\"])\n dm.add_episodic(who=\"用户\", what=\"请求帮助调试代码\", tags=[\"编程\", \"帮助\"])\n \n print(f\" 场景记忆数: {len(dm.episodic)}\")\n \n # 搜索\n results = dm.search_episodic(\"小明\")\n print(f\" 搜索'小明': {len(results)}条\")\n for r in results:\n print(f\" → {r['who']}: {r['what']}\")\n \n results = dm.search_episodic(\"天气\")\n print(f\" 搜索'天气': {len(results)}条\")\n for r in results:\n print(f\" → {r['who']}: {r['what']}\")\n\n\nif __name__ == \"__main__\":\n print(\"虫群v11 对话记忆系统测试\\n\")\n \n cw = test_context_window()\n dm = test_dialogue_memory()\n test_episodic_memory()\n \n print(\"\\n==================================================\")\n print(\"对话记忆系统测试完成!\")\n print(\"==================================================\")\n"} {"type": "file", "path": "hf_app.py", "name": "hf_app.py", "content": "文件 hf_app.py: 虫群Swarm HF Spaces后端 v8.1 — Docker部署版\n\n包含:\n- 参数化记忆模型\n- API推理(智谱GLM+NIM) \n- MOA聚合(4种策略)\n- Web聊天界面\n- 后台训练守护 | 定义: class SwarmState, def __init__, def initialize, def _start_training, def train_loop, def bg_init, def index, def get_status, def chat, def store_memory", "imports": ["os,", "typing", "fastapi", "fastapi.responses", "web_app"], "code_preview": "\"\"\"\n虫群Swarm HF Spaces后端 v8.1 — Docker部署版\n\n包含:\n- 参数化记忆模型\n- API推理(智谱GLM+NIM) \n- MOA聚合(4种策略)\n- Web聊天界面\n- 后台训练守护\n\"\"\"\nimport os, sys, time, json, threading, traceback\nfrom typing import Optional\n\nsys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))\n\nfrom fastapi import FastAPI\nfrom fastapi.responses import HTMLResponse, JSONResponse\n\napp = FastAPI(title=\"虫群Swarm\", version=\"9.0\")\n\n# ============================================================\n# 全局状态\n# ======================================="} {"type": "class", "path": "hf_app.py", "name": "SwarmState", "docstring": "后台持续训练 - 使用真实训练数据", "methods": ["__init__", "initialize", "_start_training", "train_loop"], "content": "类 SwarmState 在 hf_app.py: 后台持续训练 - 使用真实训练数据 | 方法: __init__, initialize, _start_training, train_loop", "code": "class SwarmState:\n def __init__(self):\n self.node = None\n self.ready = False\n self.init_error = None\n self.training_active = False\n self.training_stats = {\"steps\": 0, \"memories\": 0, \"loss\": 0, \"status\": \"idle\"}\n self.start_time = time.time()\n \n def initialize(self):\n if self.ready:\n return True\n if self.init_error:\n return False\n try:\n print(\"[SwarmHF] 开始初始化虫群节点...\")\n \n # Step 1: 导入核心模块\n print(\"[SwarmHF] Step 1: 导入模块...\")\n from core.swarm_node import SwarmNode\n print(\"[SwarmHF] ✅ SwarmNode导入成功\")\n \n # Step 2: 创建节点(不启动)\n print(\"[SwarmHF] Step 2: 创建节点...\")\n from core.aggregation_protocol.types import PermissionLevel\n self.node = SwarmNode(\n node_id=\"hf_swarm_main\",\n name=\"虫巢主节点\",\n permission_level=PermissionLevel.OVERMIND,\n model_config=\"small\",\n initial_balance=1000.0,\n )\n print(\"[SwarmHF] ✅ 节点创建成功\")\n \n # Step 3: 启动节点\n print(\"[SwarmHF] Step 3: 启动节点...\")\n self.node.start()\n print(\"[SwarmHF] ✅ 节点启动成功\")\n \n self.ready = True\n \n # 启动后台训练\n self._start_training()\n \n api_count = len(self.node.api_manager.models) if self.node._api_models_available else 0\n print(f\"[SwarmHF] ✅ 初始化完成! API模型数: {api_count}\")\n return True\n except Exception as e:\n self.init_error = str(e)\n print(f\"[SwarmHF] ❌ 初始化失败: {e}\")\n traceback.print_exc()\n return False\n \n def _start_training(self):\n \"\"\"后台持续训练 - 使用真实训练数据\"\"\"\n def train_loop():\n self.training_active = True\n step = 0\n # 加载训练数据\n training_data = []\n data_path = os.path.join(os.pat"} {"type": "method", "path": "hf_app.py", "class": "SwarmState", "name": "initialize", "content": "方法 SwarmState.initialize(): \n if self.ready:\n return True\n if self.init_error:\n return False", "code": "def initialize(self):\n if self.ready:\n return True\n if self.init_error:\n return False\n try:\n print(\"[SwarmHF] 开始初始化虫群节点...\")\n \n # Step 1: 导入核心模块\n print(\"[SwarmHF] Step 1: 导入模块...\")\n from core.swarm_node import SwarmNode\n print(\"[SwarmHF] ✅ SwarmNode导入成功\")\n \n # Step 2: 创建节点(不启动)\n print(\"[SwarmHF] Step 2: 创建节点...\")\n from core.aggregation_protocol.types import PermissionLevel\n self.node = SwarmNode(\n node_id=\"hf_swarm_main\",\n name=\"虫巢主节点\",\n permission_level=PermissionLevel.OVERMIND,\n model_config=\"small\",\n initial_balance=1000.0,\n )\n print(\"[SwarmHF] ✅ 节点创建成功\")\n \n # Step 3: 启动节点\n print(\"[SwarmHF] Step 3: 启动节点...\")\n self.node.start()\n print(\"[SwarmHF] ✅ 节点启动成功\")\n \n self.re"} {"type": "method", "path": "hf_app.py", "class": "SwarmState", "name": "train_loop", "content": "方法 SwarmState.train_loop(): \n self.training_active = True\n step = 0\n # 加载训练数据\n train", "code": "def train_loop(self):\n self.training_active = True\n step = 0\n # 加载训练数据\n training_data = []\n data_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), \"training\", \"data\", \"all_training.jsonl\")\n if os.path.exists(data_path):\n try:\n with open(data_path, 'r', encoding='utf-8') as f:\n for line in f:\n line = line.strip()\n if line:\n try:\n training_data.append(json.loads(line))\n except:\n pass\n print(f\"[SwarmHF] 加载训练数据: {len(training_data)}条\")\n except Exception as e:\n print(f\"[SwarmHF] 加载训练数据失败: {e}\")\n \n if not training_data:\n # 没有数据时用假训练保持服务\n print(\"[SwarmHF] 无训练数据,进入空闲模式\")\n while s"} {"type": "function", "path": "hf_app.py", "name": "bg_init", "params": "", "docstring": "搜索记忆 - 多端共用记忆核心", "content": "函数 bg_init() 在 hf_app.py: 搜索记忆 - 多端共用记忆核心", "code": "def bg_init():\n time.sleep(2) # 等FastAPI完全启动\n state.initialize()\n\nthreading.Thread(target=bg_init, daemon=True).start()\n\n# ============================================================\n# 内嵌HTML\n# ============================================================\nfrom web_app import HTML_PAGE\n\n# ============================================================\n# API路由\n# ============================================================\n@app.get(\"/\")\nasync def index():\n return HTMLResponse(HTML_PAGE)\n\n@app.get(\"/api/status\")\nasync def get_status():\n result = {\n \"ready\": state.ready,\n \"version\": \"8.1\",\n \"uptime\": int(time.time() - state.start_time),\n }\n \n if state.init_error:\n result[\"error\"] = state.init_error\n \n if state.ready and state.node:\n node = state.node\n try:\n mem_status = node.memory.get_status()\n api_count = len(node.api_manager.models) if node._api_models_available else 0\n result.update({\n \"model\": mem_status.get(\"model_config\", \"tiny\"),\n \"api_models\": api_count,\n \"memories\": mem_status.get(\"total_memories\", 0),\n \"balance\": node.get_balance(),\n \"queries\": node.stats.get(\"queries_processed\", 0),\n \"training\": state.training_stats,\n })\n except Exception as e:\n result[\"detail_error\"] = str(e)\n \n return result\n\n@app.post(\"/api/chat\")\nasync def chat(req: dict):\n if not state.ready or not state.node:\n err = state.init_error or \"系统初始化中,请稍后重试\"\n return {\"response\": err, \"source\": \"error\", \"confidence\": 0}\n \n message = req.get(\"message\", \"\")\n use_api = req.get(\"use_api\", True)\n use_moa = req.get(\"use_moa\", True)\n \n import asyncio\n loop = asyncio.get_event_loop()\n \n try:\n result = await loop.run_in_executor(\n None, lambda: state.node.smart_query(message, use_api=use_api, use_moa=use_moa)\n )\n if result"} {"type": "file", "path": "count_regions.py", "name": "count_regions.py", "content": "文件 count_regions.py: | 定义: ", "imports": ["sys", "core.neurO.regions.motor_region", "core.neurO.regions.sensory_region", "core.neurO.regions.prefrontal_region", "core.neurO.regions.hippocampus_region", "core.neurO.regions.association_region", "core.neurO.regions.thalamus_region"], "code_preview": "#!/usr/bin/env python3\nimport sys\nsys.path.insert(0, '/home/./admin/./swarm')\nfrom core.neurO.regions.motor_region import MotorRegion\nfrom core.neurO.regions.sensory_region import SensoryRegion\nfrom core.neurO.regions.prefrontal_region import PrefrontalRegion\nfrom core.neurO.regions.hippocampus_region import HippocampusRegion\nfrom core.neurO.regions.association_region import AssociationRegion\nfrom core.neurO.regions.thalamus_region import ThalamusRegion\n\nprint(\"=== BrainV13 各脑区详细参数量 ===\")\n\n# Mot"} {"type": "file", "path": "debug_teach.py", "name": "debug_teach.py", "content": "文件 debug_teach.py: 调试ChatInterface的teach是否生效 | 定义: ", "imports": ["pickle", "core.neuro.chat_interface", "core.neuro.text_encoder"], "code_preview": "#!/usr/bin/env python3\n\"\"\"调试ChatInterface的teach是否生效\"\"\"\nimport pickle\n\n# 加载brain\nwith open(\"models/brain_templates/brain_trained.pkl\", \"rb\") as f:\n data = pickle.load(f)\nbrain = data[\"brain\"]\n\n# 创建ChatInterface\nfrom core.neuro.chat_interface import ChatInterface\nchat = ChatInterface(brain)\n\n# teach\nprint(\"=== 执行teach ===\")\nchat.teach(\"你好\", \"你好!很高兴认识你\")\nchat.teach(\"你叫什么\", \"我叫虫群\")\nchat.teach(\"今天天气怎么样\", \"今天天气晴朗\")\n\n# 检查dialogue_memory里的内容\nprint(\"\\n=== 检查DialogueMemory ===\")\ndm = chat.dialogue_memo"} {"type": "file", "path": "count_params.py", "name": "count_params.py", "content": "文件 count_params.py: | 定义: def count_numpy_params", "imports": ["sys", "numpy", "core.neuro.regions.sensory_region", "core.neuro.regions.thalamus_region", "core.neuro.regions.hippocampus_region", "core.neuro.regions.association_region", "core.neuro.regions.prefrontal_region", "core.neuro.regions.motor_region"], "code_preview": "#!/usr/bin/env python3\nimport sys\nimport numpy as np\nsys.path.insert(0, '/home/admin/swarm')\nfrom core.neuro.regions.sensory_region import SensoryRegion\nfrom core.neuro.regions.thalamus_region import ThalamusRegion\nfrom core.neuro.regions.hippocampus_region import HippocampusRegion\nfrom core.neuro.regions.association_region import AssociationRegion\nfrom core.neuro.regions.prefrontal_region import PrefrontalRegion\nfrom core.neuro.regions.motor_region import MotorRegion\n\ndef count_numpy_params(obj"} {"type": "function", "path": "count_params.py", "name": "count_numpy_params", "params": "obj", "docstring": "", "content": "函数 count_numpy_params(obj) 在 count_params.py: ", "code": "def count_numpy_params(obj):\n total = 0\n for name in dir(obj):\n if name.startswith('_') and not name.startswith('__'):\n attr = getattr(obj, name)\n if isinstance(attr, np.ndarray):\n total += attr.size\n return total\n\n# BrainV13实际使用的参数\nsensory = SensoryRegion(input_dim=32)\nthalamus = ThalamusRegion(min_depth=2, max_depth=10)\nhippocampus = HippocampusRegion()\nassociation = AssociationRegion()\nprefrontal = PrefrontalRegion()\nmotor = MotorRegion(input_dim=32, output_dim=64)\n\nprint('=== BrainV13 各脑区参数量 ===')\nprint(f'SensoryRegion: {count_numpy_params(sensory):>10,} 参数')\nprint(f'ThalamusRegion: {count_numpy_params(thalamus):>10,} 参数')\nprint(f'HippocampusRegion: {count_numpy_params(hippocampus):>10,} 参数')\nprint(f'AssociationRegion: {count_numpy_params(association):>10,} 参数')\nprint(f'PrefrontalRegion: {count_numpy_params(prefrontal):>10,} 参数')\nprint(f'MotorRegion: {count_numpy_params(motor):>10,} 参数')\nprint('-' * 30)\n\ntotal = sum([count_numpy_params(sensory), count_numpy_params(thalamus), \n count_numpy_params(hippocampus), count_numpy_params(association),\n count_numpy_params(prefrontal), count_numpy_params(motor)])\nprint(f'总计: {total:>10,} 参数')\nprint(f'约 {total/1e6:.2f}M 参数')\nprint(f'约 {total/1e3:.1f}K 参数')"} {"type": "file", "path": "scripts/verify_and_list.py", "name": "verify_and_list.py", "content": "文件 scripts/verify_and_list.py: 验证HF Token并获取swarm可用模型列表 | 定义: ", "imports": ["json,", "core.model_registry"], "code_preview": "#!/usr/bin/env python3\n\"\"\"验证HF Token并获取swarm可用模型列表\"\"\"\nimport json, sys, os\n\nsys.path.insert(0, '/home/admin/swarm')\nos.environ['HTTP_PROXY'] = 'http://127.0.0.1:1080'\nos.environ['HTTPS_PROXY'] = 'http://127.0.0.1:1080'\n\n# 验证HF Token\ntry:\n import urllib.request\n proxy = urllib.request.ProxyHandler({'https': 'http://127.0.0.1:1080'})\n opener = urllib.request.build_opener(proxy)\n req = urllib.request.Request('https://huggingface.co/api/whoami-v2')\n req.add_header('Authorization', 'Be"} {"type": "file", "path": "scripts/check_v12_data.py", "name": "check_v12_data.py", "content": "文件 scripts/check_v12_data.py: 检查v12 pkl中的对话记忆数据 | 定义: ", "imports": ["pickle", "sys"], "code_preview": "#!/usr/bin/env python3\n\"\"\"检查v12 pkl中的对话记忆数据\"\"\"\nimport pickle\nimport sys\nsys.path.insert(0, '/home/admin/swarm')\n\nwith open('models/brain_templates/brain_trained_v12.pkl', 'rb') as f:\n data = pickle.load(f)\n\nprint('keys:', list(data.keys()))\nfor k, v in data.items():\n if hasattr(v, '__len__'):\n try:\n print(f' {k}: type={type(v).__name__}, len={len(v)}')\n except:\n print(f' {k}: type={type(v).__name__}')\n else:\n print(f' {k}: type={type(v).__na"} {"type": "file", "path": "scripts/migrate_v12_to_v13.py", "name": "migrate_v12_to_v13.py", "content": "文件 scripts/migrate_v12_to_v13.py: 虫群v12→v13 记忆迁移\n\n将v12 DialogueMemory中的1044条对话记忆迁移到\nv13 HippocampusRegion的内置记忆库\n\nv12: question_vec(32维) + answer_vec(32维)\nv13: memory_keys(64维) + memory_values(64维)\n\n迁移策略: key = concat(q_vec, a_vec[:32] | 定义: def migrate_memories, def _pad_to_64", "imports": ["pickle", "numpy", "sys", "core.neuro.regions.hippocampus_region", "core.neuro.brain_v13"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群v12→v13 记忆迁移\n\n将v12 DialogueMemory中的1044条对话记忆迁移到\nv13 HippocampusRegion的内置记忆库\n\nv12: question_vec(32维) + answer_vec(32维)\nv13: memory_keys(64维) + memory_values(64维)\n\n迁移策略: key = concat(q_vec, a_vec[:32]) → pad/截取到64维\n value = concat(a_vec, q_vec[:32]) → pad/截取到64维\n 这样检索时能同时匹配问题语义和答案语义\n\"\"\"\nimport pickle\nimport numpy as np\nimport sys\nsys.path.insert(0, '/home/admin/swarm')\n\nfrom core.neuro.regions.hippocampus_region import HippocampusRegion\nfrom core.neur"} {"type": "function", "path": "scripts/migrate_v12_to_v13.py", "name": "migrate_memories", "params": "pkl_path: str, output_path: str", "docstring": "", "content": "函数 migrate_memories(pkl_path: str, output_path: str) 在 scripts/migrate_v12_to_v13.py: ", "code": "def migrate_memories(pkl_path: str, output_path: str):\n # 加载v12数据\n print(\"加载v12数据...\")\n with open(pkl_path, 'rb') as f:\n data = pickle.load(f)\n \n dm = data['dialogue_memory']\n turns = dm.dialogue_store\n print(f\" 对话记忆: {len(turns)}条\")\n \n # 创建v13 Brain\n print(\"创建BrainV13...\")\n brain = BrainV13(input_dim=32, output_dim=32)\n \n # 迁移记忆\n print(\"迁移记忆...\")\n migrated = 0\n for i, turn in enumerate(turns):\n q_vec = np.asarray(turn.question_vec, dtype=np.float32).ravel()\n a_vec = np.asarray(turn.answer_vec, dtype=np.float32).ravel()\n \n # 32维→64维: 问题+答案拼接\n # key: 用来检索的(query侧重问题)\n key = _pad_to_64(q_vec)\n # value: 返回的(侧重答案)\n value = _pad_to_64(a_vec)\n \n brain.hippocampus.store(key, value)\n migrated += 1\n \n print(f\" 迁移完成: {migrated}条\")\n print(f\" HippocampusRegion记忆数: {len(brain.hippocampus._memory_keys)}\")\n \n # 保存v13模型\n print(f\"保存v13模型到 {output_path}...\")\n save_data = {\n 'brain_v13': brain,\n 'tokenizer': data.get('tokenizer'),\n 'embedding': data.get('embedding'),\n 'version': 'v13',\n 'migrated_from': 'v12',\n 'migration_stats': {\n 'total_turns': len(turns),\n 'migrated': migrated,\n }\n }\n with open(output_path, 'wb') as f:\n pickle.dump(save_data, f)\n \n # 快速验证\n print(f\"\\n验证: HippocampusRegion记忆数={len(brain.hippocampus._memory_keys)}\")\n print(\"\\n迁移完成!\")\n return brain\n\n"} {"type": "file", "path": "scripts/list_models.py", "name": "list_models.py", "content": "文件 scripts/list_models.py: 获取swarm可用模型列表并测试调用 | 定义: ", "imports": ["json,", "core.model_registry"], "code_preview": "#!/usr/bin/env python3\n\"\"\"获取swarm可用模型列表并测试调用\"\"\"\nimport json, sys, os, time\nsys.path.insert(0, '/home/admin/swarm')\n\nfrom core.model_registry import ModelRegistry\n\nregistry = ModelRegistry()\nmodels = registry.list_models()\nprint(f\"已注册模型数: {len(models)}\")\n\n# 提取模型信息\nmodel_list = []\nfor m in models:\n info = {\n 'name': getattr(m, 'name', getattr(m, 'model_id', str(m))),\n 'provider': getattr(m, 'provider', 'unknown'),\n 'status': getattr(m, 'status', 'unknown'),\n 'api_bas"} {"type": "file", "path": "bridge/__init__.py", "name": "__init__.py", "content": "文件 bridge/__init__.py: 虫群-MAF 融合桥接层\n====================\n虫群(Swarm)作为核心模型系统,MAF作为传统智能体软件调用虫群模型。\n\n架构:\n MAF前端 → MAF API → SwarmBridge → 虫群模型系统(MOA/Registry/MetaModel/Memory)\n ↓\n | 定义: ", "imports": ["bridge.swarm_model_provider", "bridge.swarm_backend", "bridge.memory_bridge", "bridge.config"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群-MAF 融合桥接层\n====================\n虫群(Swarm)作为核心模型系统,MAF作为传统智能体软件调用虫群模型。\n\n架构:\n MAF前端 → MAF API → SwarmBridge → 虫群模型系统(MOA/Registry/MetaModel/Memory)\n ↓\n 模型群(HF Spaces/本地/NIM/智谱)\n\n融合策略:\n 1. SwarmModelProvider — MAF的model_runtime提供商,将虫群注册为MAF的模型源\n 2. SwarmBackend — 统一后端服务,暴露OpenAI兼容API\n 3. MemoryBridge — 虫群记忆模型与MAF对话系统的桥接\n\"\"\"\n\nfrom bridge.swarm_model_provider import SwarmModelProvider\nfrom bridge.swarm_ba"} {"type": "file", "path": "bridge/swarm_model_provider.py", "name": "swarm_model_provider.py", "content": "文件 bridge/swarm_model_provider.py: 虫群模型提供商 — MAF的model_runtime提供商\n=========================================\n将虫群模型系统注册为MAF的模型源,使MAF可以直接调用虫群的MOA引擎、\n模型注册表、元模型等核心能力。\n\n实现MAF的LargeLanguageModel接口,内部桥接到虫群的MOA引擎。 | 定义: class SwarmLLMResult, def __init__, class SwarmLLMMessage, def __init__, class SwarmLLMUsage, def __init__, class SwarmModelProvider, def __init__, def initialize, def _init_default_models", "imports": ["logging", "time", "typing", "bridge.config"], "code_preview": "#!/usr/bin/env python3\n\"\"\"\n虫群模型提供商 — MAF的model_runtime提供商\n=========================================\n将虫群模型系统注册为MAF的模型源,使MAF可以直接调用虫群的MOA引擎、\n模型注册表、元模型等核心能力。\n\n实现MAF的LargeLanguageModel接口,内部桥接到虫群的MOA引擎。\n\"\"\"\n\nimport logging\nimport time\nfrom typing import Optional, Generator\n\nfrom bridge.config import BridgeConfig\n\nlogger = logging.getLogger(__name__)\n\n\nclass SwarmLLMResult:\n \"\"\"虫群LLM调用结果 — 兼容MAF的LLMResult格式\"\"\"\n \n def __init__(self, text: str, model: str, provider: str,\n tokens_"} {"type": "class", "path": "bridge/swarm_model_provider.py", "name": "SwarmLLMResult", "docstring": "虫群LLM调用结果 — 兼容MAF的LLMResult格式", "methods": ["__init__"], "content": "类 SwarmLLMResult 在 bridge/swarm_model_provider.py: 虫群LLM调用结果 — 兼容MAF的LLMResult格式 | 方法: __init__", "code": "class SwarmLLMResult:\n \"\"\"虫群LLM调用结果 — 兼容MAF的LLMResult格式\"\"\"\n \n def __init__(self, text: str, model: str, provider: str,\n tokens_in: int = 0, tokens_out: int = 0,\n latency_ms: float = 0, thinking: str = \"\"):\n self.message = SwarmLLMMessage(text, thinking)\n self.model = model\n self.provider = provider\n self.usage = SwarmLLMUsage(tokens_in, tokens_out)\n self.latency_ms = latency_ms\n self.system_fingerprint = f\"swarm-{provider}\"\n\n"} {"type": "class", "path": "bridge/swarm_model_provider.py", "name": "SwarmLLMMessage", "docstring": "兼容MAF的AssistantMessage", "methods": ["__init__"], "content": "类 SwarmLLMMessage 在 bridge/swarm_model_provider.py: 兼容MAF的AssistantMessage | 方法: __init__", "code": "class SwarmLLMMessage:\n \"\"\"兼容MAF的AssistantMessage\"\"\"\n \n def __init__(self, content: str, thinking: str = \"\"):\n self.content = content\n self.thinking = thinking\n self.role = \"assistant\"\n\n"} {"type": "class", "path": "bridge/swarm_model_provider.py", "name": "SwarmLLMUsage", "docstring": "兼容MAF的LLMUsage", "methods": ["__init__"], "content": "类 SwarmLLMUsage 在 bridge/swarm_model_provider.py: 兼容MAF的LLMUsage | 方法: __init__", "code": "class SwarmLLMUsage:\n \"\"\"兼容MAF的LLMUsage\"\"\"\n \n def __init__(self, prompt_tokens: int, completion_tokens: int):\n self.prompt_tokens = prompt_tokens\n self.completion_tokens = completion_tokens\n self.total_tokens = prompt_tokens + completion_tokens\n\n"} {"type": "class", "path": "bridge/swarm_model_provider.py", "name": "SwarmModelProvider", "docstring": "虫群模型提供商 — MAF的模型后端\n \n 核心职责:\n 1. 将虫群MOA引擎暴露为MAF可用的LLM\n 2. 统一模型调用接口(同步/流式)\n 3. 支持意图识别自动路由\n 4. 聚合多模型结果", "methods": ["__init__", "initialize", "_init_default_models", "invoke", "_invoke_moa", "_invoke_single", "_resolve_model", "_inject_memory", "get_models", "health_check"], "content": "类 SwarmModelProvider 在 bridge/swarm_model_provider.py: 虫群模型提供商 — MAF的模型后端\n \n 核心职责:\n 1. 将虫群MOA引擎暴露为MAF可用的LLM\n 2. 统一模型调用接口(同步/流式)\n 3. 支持意图识别自动路由\n 4. 聚合多模型结果 | 方法: __init__, initialize, _init_default_models, invoke, _invoke_moa, _invoke_single, _resolve_model, _inject_memory, get_models, health_check", "code": "class SwarmModelProvider:\n \"\"\"\n 虫群模型提供商 — MAF的模型后端\n \n 核心职责:\n 1. 将虫群MOA引擎暴露为MAF可用的LLM\n 2. 统一模型调用接口(同步/流式)\n 3. 支持意图识别自动路由\n 4. 聚合多模型结果\n \"\"\"\n \n # 模型能力声明\n MODEL_DEFINITIONS = {\n \"swarm-moa\": {\n \"name\": \"swarm-moa\",\n \"display_name\": \"虫群MOA聚合\",\n \"description\": \"虫群多模型聚合引擎,自动路由+聚合多个模型\",\n \"type\": \"llm\",\n \"features\": [\"chat\", \"reasoning\", \"coding\", \"creative\"],\n \"context_length\": 128000,\n },\n \"swarm-chat\": {\n \"name\": \"swarm-chat\",\n \"display_name\": \"虫群对话\",\n \"description\": \"虫群快速对话模型,自动选择最优聊天模型\",\n \"type\": \"llm\",\n \"features\": [\"chat\"],\n \"context_length\": 32000,\n },\n \"swarm-reasoning\": {\n \"name\": \"swarm-reasoning\",\n \"display_name\": \"虫群推理\",\n \"description\": \"虫群推理模型,调用DeepSeek V4进行深度推理\",\n \"type\": \"llm\",\n \"features\": [\"reasoning\", \"math\"],\n \"context_length\": 128000,\n },\n \"swarm-coding\": {\n \"name\": \"swarm-coding\",\n \"display_name\": \"虫群编程\",\n \"description\": \"虫群编程模型,调用Mistral/Llama进行代码生成\",\n \"type\": \"llm\",\n \"features\": [\"coding\"],\n \"context_length\": 128000,\n },\n }\n \n def __init__(self, config: BridgeConfig = None):\n self.config = config or BridgeConfig()\n self._moa_engine = None\n self._model_registry = None\n self._meta_model = None\n self._memory_bridge = None\n self._initialized = False\n \n def initialize(self):\n \"\"\"初始化虫群核心组件(细粒度容错:每个组件独立初始化)\"\"\"\n if self._initialized:\n return\n \n # 1. 模型注册表(核心,必须成功)\n try:\n from core.model_registry import ModelRegistry, model_registry as _global_registry\n self._model_registry = _global_registry\n logger.info(f\"模型注册表初始化: {len(self._model_registry.models)} 个模型\")\n except Exception as e:\n lo"} {"type": "method", "path": "bridge/swarm_model_provider.py", "class": "SwarmModelProvider", "name": "initialize", "content": "方法 SwarmModelProvider.initialize(): \n \"\"\"初始化虫群核心组件(细粒度容错:每个组件独立初始化)\"\"\"\n if self._initialized:\n return\n \n", "code": "def initialize(self):\n \"\"\"初始化虫群核心组件(细粒度容错:每个组件独立初始化)\"\"\"\n if self._initialized:\n return\n \n # 1. 模型注册表(核心,必须成功)\n try:\n from core.model_registry import ModelRegistry, model_registry as _global_registry\n self._model_registry = _global_registry\n logger.info(f\"模型注册表初始化: {len(self._model_registry.models)} 个模型\")\n except Exception as e:\n logger.warning(f\"模型注册表初始化失败: {e}\")\n self._model_registry = None\n \n # 2. 元模型(独立,失败不影响其他)\n try:\n from core.meta_model import MetaModel\n self._meta_model = MetaModel()\n logger.info(\"元模型初始化完成\")\n except Exception as e:\n logger.warning(f\"元模型初始化失败: {e}\")\n self._meta_model = None\n \n # 3. MOA引擎(依赖模型注册表)\n if self._model_registry:\n try:\n from core.moa_engine import MOAEngine\n self._moa_engine = MOAEngine(self._model_registry)\n lo"} {"type": "file", "path": "bridge/swarm_v13_backend.py", "name": "swarm_v13_backend.py", "content": "文件 bridge/swarm_v13_backend.py: 虫群Swarm HF Spaces后端 v13 — 类脑循环架构\n\n包含:\n- BrainV13 6脑区循环推理\n- 自适应分布式编排\n- 记忆检索对话\n- 懒加载+进程池 | 定义: class SwarmState, def __init__, def initialize, def root, def health, def chat, def teach, def stats", "imports": ["os,", "typing", "fastapi", "fastapi.responses"], "code_preview": "\"\"\"\n虫群Swarm HF Spaces后端 v13 — 类脑循环架构\n\n包含:\n- BrainV13 6脑区循环推理\n- 自适应分布式编排\n- 记忆检索对话\n- 懒加载+进程池\n\"\"\"\nimport os, sys, time, json\nfrom typing import Dict\n\nsys.path.insert(0, '/home/admin/swarm')\n\nfrom fastapi import FastAPI\nfrom fastapi.responses import HTMLResponse, JSONResponse\n\napp = FastAPI(title=\"虫群Swarm v13\", version=\"13.0\")\n\n# ============================================================\n# 全局状态\n# ============================================================\nclass SwarmState:\n def __init__(self):"} {"type": "class", "path": "bridge/swarm_v13_backend.py", "name": "SwarmState", "docstring": "主页", "methods": ["__init__", "initialize", "root", "health", "chat", "teach", "stats"], "content": "类 SwarmState 在 bridge/swarm_v13_backend.py: 主页 | 方法: __init__, initialize, root, health, chat, teach, stats", "code": "class SwarmState:\n def __init__(self):\n self.chat = None\n self.ready = False\n self.init_error = None\n self.start_time = time.time()\n \n def initialize(self):\n if self.ready:\n return True\n if self.init_error:\n return False\n try:\n print(\"[SwarmV13] 开始初始化...\")\n \n # 导入核心模块\n from core.neuro.brain_v13 import BrainV13\n from core.neuro.chat_interface import ChatInterface\n import pickle\n \n # 加载Brain\n brain = None\n pkl_path = \"/home/admin/swarm/models/brain_templates/brain_v13.pkl\"\n if os.path.exists(pkl_path):\n try:\n with open(pkl_path, 'rb') as f:\n data = pickle.load(f)\n brain = data.get('brain_v13') or data.get('brain')\n print(f\"[SwarmV13] 加载Brain: {type(brain).__name__}\")\n except Exception as e:\n print(f\"[SwarmV13] 加载Brain失败: {e}\")\n \n if brain is None:\n print(\"[SwarmV13] 创建新BrainV13\")\n brain = BrainV13()\n \n # 创建对话接口\n self.chat = ChatInterface(brain, api_key=None)\n print(\"[SwarmV13] ChatInterface创建成功\")\n \n self.ready = True\n print(\"[SwarmV13] ✅ 初始化完成!\")\n return True\n except Exception as e:\n self.init_error = str(e)\n print(f\"[SwarmV13] ❌ 初始化失败: {e}\")\n import traceback\n traceback.print_exc()\n return False\n\nstate = SwarmState()\n\n# ============================================================\n# API端点\n# ============================================================\n\n@app.get(\"/\")\nasync def root():\n \"\"\"主页\"\"\"\n return HTMLResponse(content=\"\"\"\n \n \n
\n \n