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.

What it solves

WilmerAI는 키워드나 최신 메시지만을 기반으로 하는 단순 프롬프트 라우터의 한계를 해결합니다. 전체 대화 기록과 구조화된 노드 기반 오케스트레이션 시스템을 활용해 복잡한 대화에서 사용자의 의도를 정확히 파악하고, 가장 적합한 LLM 또는 작업 순서로 요청을 라우팅합니다.

How it works

WilmerAI의 핵심은 노드 기반 워크플로 엔진이며, 프로세스는 JSON 파일에 정의됩니다.

  • Contextual Routing: 전체 대화 기록을 분석해 특화된 워크플로(예: Coding 또는 Creative)를 선택하거나, 워크플로 내에서 조건부 "if/then" 결정을 내립니다.
  • Orchestration: 워크플로의 각 노드는 서로 다른 LLM 엔드포인트를 호출하거나, 외부 도구를 실행하거나, 사용자 정의 Python 스크립트를 실행하거나, 다른 중첩 워크플로를 실행할 수 있습니다.
  • Memory System: 시간 순서 요약, 롤링 요약, 검색 가능한 벡터 데이터베이스, 상태 문서의 네 부분 시스템을 통해 상태를 유지합니다.
  • API Gateway: OpenAI 및 Ollama와 호환되는 엔드포인트를 제공하는 미들웨어 역할을 하여, Open WebUI나 SillyTavern과 같은 기존 프론트엔드와 클라이언트 변경 없이 통합할 수 있습니다.

Who it’s for

LLM 오케스트레이션을 세밀하게 제어하고 싶거나, 여러 로컬 또는 독점 LLM 인스턴스에 작업 부하를 분산하고자 하는 사용자, 그리고 완전 자율(그리고 종종 신뢰성이 떨어지는) 에이전트 프레임워크에 의존하지 않고 복잡한 반자율 에이전트를 구축하고자 하는 개발자에게 설계되었습니다.

Highlights

  • Multi-LLM Coordination: 하나의 요청에서 여러 모델(예: 요약용 작은 로컬 모델과 추론용 큰 클라우드 모델)을 동시에 사용할 수 있습니다.
  • Distributed Inference: 서로 다른 LLM API를 제공하는 여러 물리적 컴퓨터에 작업을 라우팅하는 것을 지원합니다.
  • Structured Output: JSON Schema 기반의 구문 강제 출력으로 라우팅 및 추출을 수행하며, 작은 로컬 모델을 사용하더라도 신뢰성을 보장합니다.
  • Stateful Memory: 요약과 벡터 검색을 결합한 하이브리드 메모리로 깊은 컨텍스트 인식을 제공합니다.
  • MCP Integration: 에이전트 도구 발견을 위한 Model Context Protocol(MCP)을 실험적으로 지원합니다.
  • Privacy-Centric: 외부 호출을 최소화하도록 설계되었으며, 저장된 대화 데이터에 대한 선택적 암호화도 제공합니다.