요청에 따라 LLM을 깨우고/끄는 리버스 프록시
요약
이 프로젝트는 로컬 LLM 장비와 클라이언트 사이에 위치하는 리버스 프록시를 구현한 것입니다. 이 프록시는 요청 전 기기를 깨우고, 비활성 상태가 되면 다시 종료하여 전력을 절약합니다. 또한 `/v1/models` 엔드포인트 캐싱 및 사용자 확인 기능을 제공하여 효율성을 높였습니다.
핵심 포인트
- LLM 장비의 전력 관리를 위한 리버스 프록시 구현
- 요청 시 기기 웨이크업 및 비활성 시 종료 기능 제공
- `/v1/models` 엔드포인트 캐싱으로 안정적인 사용 환경 구축
- 사용자 확인 기능을 통해 작업 중 장비 전원 유지 가능
아마도 아주 독창적인 프로젝트는 아니지만, 제가 전력을 절약하고 필요할 때마다 수동으로 LLM 장비를 켜거나(또는 끝났을 때 끌 필요가 없도록) 하기 위해 만든 작은 프로젝트입니다. 주로 로컬 모델 기반의 바이브 코딩(vibe-coding) 테스트를 위해 만들었기 때문에 (이 저장소에 있는 거의 모든 것은 손수 작성한 것이 아니니 의견 주시기 바랍니다), 하지만 충분히 유용해서 공유하려고 생각했습니다. 이 프록시는 클라이언트(openwebui/코딩 하네스 등)와 LLM 장비 사이에 위치하여 요청을 보내기 전에 기기를 깨우고, 오랫동안 요청이 들어오지 않으면 다시 기기를 종료합니다. 또한 /v1/models 엔드포인트를 캐싱하므로 openwebui나 해당 엔드포인트를 자주 사용하는 다른 도구를 사용할 때도 기기가 계속 켜지는 것을 방지합니다. 로그인한 사용자를 확인하는 명령어를 설정할 수도 있는데, 이를 통해 작업 중일 때는 장비가 꺼지지 않도록 할 수 있습니다. 제가 상상할 수 있는 범위에서 '좋은' 코드는 아니라고 말하겠지만, 다른 일을 하는 동안 거의 스스로 코딩된 것이라 나쁘지는 않고 지금까지는 안정적인 것 같습니다. 모든 바이브 코드와 마찬가지로 의견 주시기 바랍니다. 제안이나 PR을 받는 것을 환영합니다. /u/ac101m 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기