后端API网关模型推理服务AI Agent【免费下载链接】semantic-routerAn open, programmable decision layer for models and compute.项目地址https://gitcode.com/gh_mirrors/sem/semantic-router点击查看免费下载本文围绕 semantic-router 的《What is Collective Intelligence?》核心概念展开讲解开源项目如何通过信号提取 → 决策引擎 → 模型路由 → 插件链这一流水线把多个信号、规则、专家模型和插件组合成一个统一的智能路由系统。读完本文你将理解 6 类信号的职责与配置方式、AND/OR/NOT 规则如何做决策融合、模型专业化与插件协作如何落地并能在 config/config.yaml 中复刻证明 √2 是无理数这类完整路由场景。什么是集体智能从单一模型到模型系统Collective Intelligence集体智能是指多个模型、多个信号和多套决策过程作为一个统一系统协同工作时涌现出的智能。就像一支由专家组成的团队可以比任何单个专家解决更复杂的问题一样一组分工明确的 LLM 系统也能比任何单一模型给出更优质的结果——这正是 semantic-router 项目An open, programmable decision layer for models and compute的立身之本。传统路线单一模型传统方案的调用链极其简单User Query → Single LLM → Response但单一模型的局限也很明显见 collective-intelligence.md一个模型试图在一切任务上做到最好缺乏专长没有分工也没有针对任务的优化简单任务与复杂任务共用同一个模型造成资源浪费系统无法从交互模式中学习。集体智能路线模型系统semantic-router 将上面的单跳链路替换为一条可编程的决策流水线User Query → Signal Extraction → Decision Engine → Best Model → Response ↓ ↓ ↓ 6 Signal Types AND/OR Rules Specialized Models ↓ ↓ ↓ Context Analysis Smart Selection Plugin Chain这条流水线带来四重收益分工每个模型只做它最擅长的事学习系统从全部交互中积累模式经验自适应基于多信号进行动态路由涌现来自信号融合的智能超越任何单一组件。从源码结构看这条流水线在仓库中被拆分为classification信号提取、decision决策引擎与pluginruntime插件链等 Go 包分别位于 src/semantic-router/pkg/classification、src/semantic-router/pkg/decision 与 src/semantic-router/pkg/pluginruntime配置则全部集中在config/目录。集体智能的四大涌现机制1. 信号多样性Signal Diversity不同信号捕捉智能的不同侧面。原文档给出了 6 类信号的对照表信号类型捕捉的智能侧面keyword模式识别Pattern recognitionembedding语义理解Semantic understandingdomain知识分类Knowledge classificationfact_check事实核验需求Truth verification needsuser_feedback用户满意度User satisfactionpreference意图匹配Intent matching集体收益多种信号的组合比任何单一信号都能提供更丰富的理解。以实际配置为例config/config.yaml 中的 keyword 信号支持bm25、ngram、fuzzy三种匹配方法并附带阈值参数signals: keywords: - name: code_keywords operator: OR method: bm25 keywords: [code, function, debug, algorithm, refactor] bm25_threshold: 0.1 case_sensitive: false - name: urgent_keywords operator: OR method: ngram keywords: [urgent, immediate, asap, emergency] ngram_threshold: 0.4 ngram_arity: 3embedding 信号则通过候选句的余弦相似度判定意图threshold为命中阈值aggregation_method支持max/any聚合embeddings: - name: technical_support threshold: 0.75 aggregation_method: max candidates: - how to configure the system - installation guide - troubleshooting steps更完整的单信号配置片段可参考 config/fragments/signal/keyword/nlp.yaml、config/fragments/signal/embedding/support.yaml。2. 决策融合Decision Fusion信号通过逻辑运算符组合成决策规则。原文档给出高级数学路由示例decisions: - name: advanced_math rules: operator: AND conditions: - type: keyword name: math_keywords - type: domain name: mathematics - type: embedding name: math_intent集体收益多个信号投票共同决定比任何单一信号更准确。仓库 config/fragments/decision 目录把 AND、OR、NOT 与复合规则拆成了独立片段例如AND 场景业务意图与紧急用语同时命中才路由config/fragments/decision/and/urgent-business.yamlOR 场景业务或法律流量共享一条路由config/fragments/decision/or/business-or-law.yamlNOT 场景确认不存在 prompt-injection 信号才放行config/fragments/decision/not/exclude-jailbreak.yaml复合场景AND 内嵌 OR 与 NOT 的三层规则config/fragments/decision/composite/priority-safe-escalation.yaml复合规则的完整形态如下routing: decisions: - name: priority_safe_escalation_route priority: 160 rules: operator: AND conditions: - type: domain name: business - operator: OR conditions: - type: keyword name: urgent_keywords - type: complexity name: needs_reasoning:hard - operator: NOT conditions: - type: jailbreak name: prompt_injection modelRefs: - model: qwen2.5:3b use_reasoning: true可以看到决策还支持priority字段进行优先级排序这对应config/config.yaml中routing.strategy: priority的策略配置。3. 模型专业化Model Specialization不同模型贡献各自的强项。原文档给出的 modelRefs 示例modelRefs: - model: qwen-math # 擅长数学推理 weight: 1.0 - model: deepseek-coder # 擅长代码生成 weight: 1.0 - model: claude-creative # 擅长创意写作 weight: 1.0集体收益把请求路由给正确的专家模型系统级智能由此涌现。在当前仓库中模型通过providers与routing.modelCards声明见 config/config.yaml例如默认文本模型qwen3-8b、面向复杂请求的qwen3-32b还支持通过loras挂载computer-science-expert适配器、多模态模型llava-omni与图像生成模型sdxl-image。决策的modelRefs还可以配合candidateIterations做候选模型迭代例如为业务路由指定qwen3-32b business-adapter作为候选modelRefs: - model: qwen3-8b use_reasoning: false candidateIterations: - variable: candidate source: models models: - model: qwen3-32b lora_name: business-adapter weight: 1.0 use_reasoning: true4. 插件协作Plugin Collaboration插件在模型调用前后协同增强响应。原文档示例plugins: - type: semantic-cache # 速度优化 - type: response_jailbreak # 响应筛查 - type: system_prompt # 上下文注入 - type: hallucination # 质量保障集体收益多层处理叠加出更健壮、更安全的系统。仓库中这些插件的可运行配置分别位于 config/fragments/plugin/response-cache/high-recall.yamlexact_then_semantic模式、ttl_seconds: 86400、x-vsr-cache-control请求控制头、config/fragments/plugin/response-jailbreak/strict.yamlthreshold: 0.85、action: block、config/fragments/plugin/system-prompt/expert.yaml 与 config/fragments/plugin/hallucination/fact-check.yaml通过响应头标记未验证事实hallucination_action: header。一个完整的集体智能实战证明 √2 是无理数我们用一个贯穿全程的例子看集体智能如何逐层协作。用户查询Prove that the square root of 2 is irrational信号提取signals_detected: keyword: [prove, square root, irrational] # 命中数学关键词 embedding: 0.89 # 与数学类查询的语义相似度 domain: mathematics # MMLU 域分类 fact_check: true # 证明需要事实核验决策过程decision_made: advanced_math reason: All math signals agree (keyword embedding domain) confidence: 0.95模型选择selected_model: qwen-math reason: Specialized in mathematical proofs插件链执行plugins_applied: - semantic-cache: Cache miss, proceeding - jailbreak: No adversarial patterns detected - system_prompt: Added: Provide rigorous mathematical proof - hallucination: Enabled for fact verification结果准确路由到数学专家模型快速先查缓存安全确认无越狱攻击模式高质量开启幻觉检测。这就是集体智能没有任何单一组件做出最终决策智能来自信号、规则、模型与插件的协作。值得强调的是fact_check信号在仓库中有专门的规则定义例如 config/fragments/signal/fact-check/needs-verification.yaml 区分了需要事实核验与纯创意/观点类查询两类意图。源码视角信号如何被提取、决策如何被执行信号的并行调度在 src/semantic-router/pkg/classification/classifier_signal_dispatch.go 中每个信号被封装为一个signalDispatch结构含signalType、name与evaluate回调由buildSignalDispatchers统一构建并由buildPrimarySignalDispatchers为 keyword、embedding、domain、fact_check 等信号分别注册求值函数{ config.SignalTypeDomain, Domain, func(ctx context.Context) { c.evaluateDomainSignal(ctx, results, mu, textForSignal(config.SignalTypeDomain)) }, },这印证了文档所说的6 类信号并行提取、统一汇总到 SignalResults的实现方式不同信号基于同一份请求文本textForSignal并发求值结果写入带互斥锁保护的SignalResults。决策条件的布尔组合在 src/semantic-router/pkg/routing/graph/condition.go 中规则的条件被抽象为Condition接口并通过AllAND、AnyOR、NotNOT三个组合子实现布尔逻辑。其中SignalMatched直接按信号类型 信号名查询本次请求命中的信号集合// SignalMatched holds when the request matched the named signal of // signalType, as the decision engines signal conditions read it. func SignalMatched(signalType, name string) Condition { return ConditionFunc(func(_ context.Context, x *Exec, _ *State) (bool, error) { return slices.Contains(x.Signals(signalType), name), nil }) }而x.Signals(signalType)返回的正是Options.Signals中按类型分组、按名称罗列的命中信号见 src/semantic-router/pkg/routing/graph/exec.go 第 60-62 行与第 181 行。也就是说YAML 里写下的AND/OR/NOT规则在运行时会被翻译成All/Any/Not这样的组合条件对请求信号做短路求值——这正是决策融合的底层原理。决策引擎的主循环位于 src/semantic-router/pkg/decision/engine.go其配套测试如engine_test.go、engine_confidence_scored_test.go、engine_reask_test.go覆盖了 AND 空条件、置信度打分、重问等边界场景。真实配置中的信号大观原文档与上述信号类型一一对应的仓库真实配置可以在 config/config.yaml 中找到除 keyword/embedding/domain 外还有fact_checkneeds_fact_check/no_fact_check_needed、user_feedbackswrong_answer/need_clarification片段见 config/fragments/signal/user-feedback/escalation.yaml以及preferencesterse_answers通过examples与threshold: 0.7匹配偏好片段见 config/fragments/signal/preference/power-user.yaml。domain 信号的 MMLU 分类在 config/fragments/signal/domain/mmlu.yaml 中列出 14 个域biology、business、chemistry、computer science、economics、engineering、history、law、math、philosophy、physics、psychology、health、other与原文档MMLU domain classification14 categories的描述一致。集体智能的四大收益1. 更准确的决策多信号互相校验降低误报false positives专家模型在各自领域表现更好信号融合能捕获单一信号漏掉的边缘情况。2. 更强的鲁棒性某个信号失效时系统仍能继续工作多层安全插件提供纵深防御如 response_jailbreak 与 hallucination 插件叠加回退机制fallback保障可靠性。3. 持续学习系统从跨交互的模式中学习用户反馈信号user_feedbacks持续改进未来的路由集体知识随时间增长reasks信号能识别用户重复提问的不满信号。4. 涌现能力系统可以处理任何单一组件都未曾设计过的场景新模式从信号组合中涌现智能随系统复杂度扩展。下一步实践路径如果你希望亲手搭建自己的集体智能路由系统推荐按以下路线深入仓库文档信号驱动决策Signal-Driven Decision深入决策引擎与 6 类信号的逐一配置配置指南在config/config.yaml中配置信号、决策与插件链关键词路由教程从最简单的 keyword 信号开始继续学习 embedding 路由、domain 路由、fact-check 路由、preference 路由 与 user-feedback 路由即可拼装出覆盖全部 6 类信号的集体智能系统。赞分享后端API网关模型推理服务AI Agent【免费下载链接】semantic-routerAn open, programmable decision layer for models and compute.项目地址https://gitcode.com/gh_mirrors/sem/semantic-router点击查看免费下载相关推荐Semantic Router 集体智能Collective Intelligence信号、投影、决策与模型专精如何协作涌现出更强的路由系统Semantic Router 集体智能Collective Intelligence信号、投影、决策与模型专精如何协作涌现出更强的路由系统 导读 本文围后端API网关模型推理服务AI AgentSemantic Router 集体智能Collective Intelligence多信号、多模型协作的路由架构实战解析Semantic Router 集体智能Collective Intelligence多信号、多模型协作的路由架构实战解析 Collective Inte后端API网关模型推理服务AI AgentSemantic Router 智能路由层全解析信号驱动决策、模型选择与插件链实战Semantic Router 智能路由层全解析信号驱动决策、模型选择与插件链实战 Semantic Router 是一个可编程的智能路由层它从每个请求中提后端API网关模型推理服务AI Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?