freshcrate
Skin:/
Home > Infrastructure > llm-ls

llm-ls

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

Why this rank:Strong adoptionHealthy release cadence

Description

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

README

llm-ls

Important

This is currently a work in progress, expect things to be broken!

llm-ls is a LSP server leveraging LLMs to make your development experience smoother and more efficient.

The goal of llm-ls is to provide a common platform for IDE extensions to be build on. llm-ls takes care of the heavy lifting with regards to interacting with LLMs so that extension code can be as lightweight as possible.

Features

Prompt

Uses the current file as context to generate the prompt. Can use "fill in the middle" or not depending on your needs.

It also makes sure that you are within the context window of the model by tokenizing the prompt.

Telemetry

Gathers information about requests and completions that can enable retraining.

Note that llm-ls does not export any data anywhere (other than setting a user agent when querying the model API), everything is stored in a log file (~/.cache/llm_ls/llm-ls.log) if you set the log level to info.

Completion

llm-ls parses the AST of the code to determine if completions should be multi line, single line or empty (no completion).

Multiple backends

llm-ls is compatible with Hugging Face's Inference API, Hugging Face's text-generation-inference, ollama and OpenAI compatible APIs, like the python llama.cpp server bindings.

Compatible extensions

Roadmap

  • support getting context from multiple files in the workspace
  • add suffix_percent setting that determines the ratio of # of tokens for the prefix vs the suffix in the prompt
  • add context window fill percent or change context_window to max_tokens
  • filter bad suggestions (repetitive, same as below, etc)
  • oltp traces ?

Release History

VersionChangesUrgencyDate
0.5.3## What's Changed * refactor: cleanup unused code by @McPatate in https://github.com/huggingface/llm-ls/pull/82 * fix: `AcceptCompletionParams` -> `RejectCompletionParams` by @McPatate in https://github.com/huggingface/llm-ls/pull/83 * fix: namelss file crash by @McPatate in https://github.com/huggingface/llm-ls/pull/84 * test: fix invalid deserialization by @McPatate in https://github.com/huggingface/llm-ls/pull/85 * Feature/multiple encodings handled by @jeremyelalouf in https://github.coLow5/24/2024
0.5.2## What's Changed * fix: always set `return_full_text` to false for better UX by @McPatate in https://github.com/huggingface/llm-ls/pull/78 **Full Changelog**: https://github.com/huggingface/llm-ls/compare/0.5.1...0.5.2Low2/13/2024
0.5.1## What's Changed * fix: deserialize `url` null value w/ default if `backend: huggingface` by @McPatate in https://github.com/huggingface/llm-ls/pull/75 **Full Changelog**: https://github.com/huggingface/llm-ls/compare/0.5.0...0.5.1Low2/12/2024
0.5.0## What's Changed * feat: `testbed` by @McPatate in https://github.com/huggingface/llm-ls/pull/39 * fix(ci): outdated lance revision by @McPatate in https://github.com/huggingface/llm-ls/pull/43 * feat!: make API camelCase by @McPatate in https://github.com/huggingface/llm-ls/pull/46 * feat!: get completions camel case by @McPatate in https://github.com/huggingface/llm-ls/pull/48 * feat: parallelise at hole level by @McPatate in https://github.com/huggingface/llm-ls/pull/44 * add support fLow2/12/2024
0.4.0Release 0.4.0Low10/18/2023
0.3.0Release 0.3.0Low10/11/2023
0.2.2Release 0.2.2Low10/10/2023
0.2.1- fix: don't use tokenizer on config error (#22)Low9/25/2023
0.2.0* feat: improve tokenizer config (https://github.com/huggingface/llm-ls/pull/21)Low9/21/2023
0.1.1* feat: add user agent (https://github.com/huggingface/llm-ls/pull/20)Low9/21/2023
0.1.0* feat: add tokens to clear (https://github.com/huggingface/llm-ls/pull/19)Low9/20/2023
0.0.3* fix: clamp col pos to prevent an out of bound slicing range (https://github.com/huggingface/llm-ls/pull/13) * refactor: change default log level (https://github.com/huggingface/llm-ls/pull/14) * feat: add support for tls_skip_verify_insecure (https://github.com/huggingface/llm-ls/pull/15)Low9/15/2023
0.0.2* fix: stop tokens issue (#9) * fix: support raw TGI call (#10) * perf: put `Tokenizer` in an `Arc` to avoid cloning (#11)Low9/10/2023
0.0.1First release of llm-ls. * Supports code completion via `llm-ls/getCompletions`. * Tokenizes the prompt to check if it fits in the context window. * Synchronizes its state with `textDocument/did{Open|Change}`Low9/5/2023

Dependencies & License Audit

Loading dependencies...

Similar Packages

mesh-llmDistributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat.v0.76.0
almideA functional programming language optimized for LLM code generation. Compiles to Rust and WebAssembly.v0.62.0
crab-code🦀 Open-source alternative to Claude Code, built from scratch in Rust. Agentic coding CLI — thinks, plans, and executes with any LLM. Compatible with Claude Code workflows.main@2026-09-07
pitlane-mcpToken-efficient navigation substrate for AI coding agents. Index code once and retrieve only the symbols you need.v0.13.0
zeroclawFast, small, and fully autonomous AI personal assistant infrastructure, ANY OS, ANY PLATFORM — deploy anywhere, swap anything 🦀v0.8.5

More in Infrastructure

APIParkCloud native, ultra-high performance AI&API gateway, LLM API management, distribution system, open platform, supporting all AI APIs.🦄云原生、超高性能 AI&API网关,LLM API 管理、分发系统、开放平台,支持所有AI API,不限于OpenAI、Azure、
zeroclawFast, small, and fully autonomous AI personal assistant infrastructure, ANY OS, ANY PLATFORM — deploy anywhere, swap anything 🦀
modelsThis repository contains comprehensive pricing and configuration data for LLMs. It powers cost attribution for 200+ enterprises running 400B+ tokens through Portkey AI Gateway every day.
axonhub⚡️ Open-source AI Gateway — Use any SDK to call 100+ LLMs. Built-in failover, load balancing, cost control & end-to-end tracing.