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 엔드포인트(로컬 또는 클라우드)에 연결되어 각 하위 작업에 최적의 모델을 사용할 수 있습니다.
  • 상태 유지 메모리: 시계열 요약, 롤링 요약, 벡터 데이터베이스, 상태 문서로 구성된 4단계 메모리 시스템을 사용하여 장기적인 대화 문맥을 유지합니다.
  • API 게이트웨이: OpenAI 및 Ollama 호환 엔드포인트를 제공하여, 기존 프론트엔드 도구(예: Open WebUI 또는 SillyTavern)의 백엔드로 작동할 수 있습니다.

대상 사용자

LLM의 조율 방식을 세밀하게 제어하고 싶은 사용자, 다양한 하드웨어에서 여러 로컬 LLM을 운영하는 사용자, 완전히 자율적이며 예측 불가능한 에이전트에 의존하지 않고 복잡한 반자율 에이전트를 구축하고 싶은 개발자에게 적합합니다.

주요 특징

  • 노드 기반 워크플로우: 복잡한 작업을 JSON으로 정의된 재사용 가능하고 연결된 사고 프로세스로 분해합니다.
  • 고급 라우팅: 초기 프롬프트 라우팅과 워크플로 내 조건부 "if/then" 로직에 전체 대화 기록을 사용합니다.
  • 분산형 LLM 지원: 서로 다른 모델 크기를 실행하는 여러 컴퓨터에 작업을 분산할 수 있습니다.
  • 개인정보 우선: 로컬 배포를 위해 설계되었으며, 대화 파일의 Fernet 암호화 및 로그에서 요청 정보 삭제 옵션을 제공합니다.
  • 도구 통합: OpenAI 스타일의 도구 호출과 실험적인 에이전트용 MCP(Model Context Protocol) 서버 도구 호출을 지원합니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트