huggingface/llm-ls

LSP server leveraging LLMs for code completion (and more?)

해결하는 문제

llm-ls는 IDE와 대규모 언어 모델(LLM) 간의 복잡한 상호 작용을 처리하는 언어 서버 프로토콜(LSP) 서버입니다. 중간 계층 역할을 하여 프롬프트 구성 및 모델 통신과 같은 무거운 작업을 서버로 오프로드함으로써 IDE 확장을 가볍게 유지할 수 있습니다.

작동 방식

이 서버는 현재 파일을 프롬프트 소스로 사용하여 LLM의 컨텍스트를 관리하고, 프롬프트를 토큰화하여 모델의 컨텍스트 창 내에 맞도록 보장합니다. 코드의 AST(추상 구문 트리) 파싱을 사용하여 단일 행, 다중 행 또는 보완 없음 중 무엇을 제공할지 결정합니다. Hugging Face의 Inference API 및 text-generation-inference, Ollama, OpenAI 호환 API를 포함한 여러 백엔드를 지원합니다.

대상 사용자

LLM 로직을 직접 구현하지 않고도 LLM 기반 코드 완성 및 지원 기능을 통합할 수 있는 표준화된 플랫폼을 찾는 IDE 확장 개발자.

주요 특징

  • 멀티 백엔드 지원: Hugging Face, Ollama 및 OpenAI 호환 API와 호환.
  • 컨텍스트 관리: 프롬프트 자동 토큰화 및 "fill-in-the-middle" 로직 지원.
  • AST 인식 완성: 코드 구조 파싱을 사용하여 적절한 완성 길이를 결정.
  • 텔레메트리: 요청 및 완성에 대한 로컬 로깅을 통해 향후 재학습 가능.

관련

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