SomeOddCodeGuy/WilmerAI

WilmerAI is one of the oldest LLM semantic routers. It uses multi-layer prompt routing and complex workflows to allow you to not only create practical chatbots, but to extend any kind of application that connects to an LLM via REST API. Wilmer sits between your app and your many LLM APIs, so that you can manipulate prompts as needed.

解决的问题

WilmerAI 提供了一种超越简单关键词驱动的提示路由方法。它解决了 LLM 在决定由哪个专用模型或工具处理请求时缺乏上下文的问题,以及单次响应(one-shot)常导致结果质量较低的局限性。

工作原理

WilmerAI 的核心是一个基于节点的工作流引擎。它使用 JSON 文件定义一系列步骤(节点),这些步骤可以协调多个 LLM、调用外部工具或运行自定义脚本。

关键机制包括:

  • 上下文感知路由:分析完整的对话历史,将提示路由到正确的专用工作流(例如 "编码" 或 "创意")。
  • 多 LLM 协调:允许单个工作流内的不同节点连接到不同的 LLM 端点(本地或云端),为每个特定子任务使用最佳模型。
  • 有状态记忆:采用四部分记忆系统(时间顺序摘要、滚动摘要、向量数据库和状态文档),以维持长期对话上下文。
  • API 网关:提供与 OpenAI 和 Ollama 兼容的端点,使其可作为现有前端工具(如 Open WebUI 或 SillyTavern)的后端。

适用人群

专为希望对 LLM 协调方式拥有精细控制的用户设计,适用于在不同硬件上运行多个本地 LLM 的用户,以及希望构建复杂、半自主 AI 代理但不依赖完全自主、不可预测代理的开发者。

主要亮点

  • 基于节点的工作流:将复杂任务分解为可重用、链式思考过程,通过 JSON 定义。
  • 高级路由:在工作流中使用完整的对话历史进行初始提示路由和条件性 "if/then" 逻辑判断。
  • 分布式 LLM 支持:可将任务分发到运行不同模型大小的多台计算机上。
  • 隐私优先:专为本地部署设计,支持对话文件的 Fernet 加密和日志中请求信息的脱敏。
  • 工具集成:支持 OpenAI 风格的工具调用,以及实验性的代理式 MCP(Model Context Protocol)服务器工具调用。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目